- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
首先从/wsdream/WS-DREAM下载代码,配置好环境,需要在ubantu环境下配置代码,window比较麻烦。(PS: 或者 /wsdream/WS-DREAM/tarball/master)
Python 2.7 ()
Cython 0.20.1 ()
numpy 1.8.1 ()
scipy 0.13.3 ()
进到~/WS-DREAM目录下运行编译指令python setup.py install –user,会出现一堆warning,不用管出现setup succeeded即可。
运行时候发现数据集没有下,直接手动下,运行python文件需要科学工具。
PMF方法
1.首先测试model-based/PMF
2.Python run_tp.py运行
3.运行结果:
4.查阅实现论文Personalized Reliability Prediction of Web Services,Web服务的个性化可靠性预测。论文中提出两种方法:两种个性化的Web服务可靠性预测方法,即基于邻域的方法和基于模型的方法。而代码是基于模型的实现方法的,具体实现过程如下:
考虑一个m×n用户项矩阵P,尝试使用一个l因子模型来找到两个矩阵W(m行和l列)和H(l行和n列),使得:
其中l是因子数。
选择W的列数和H的行数,以便W和H的乘积将成为P的近似值。
此矩阵分解过程(即,将用户项矩阵P分解为两个矩阵W和H)具有明确的物理含义:H的每一列都是一个因子向量,包括Web服务的l个因子的值,而每一行 W是用户的用户特定系数。
用户的Web服务使用经验与特定于用户的系数和Web服务因子向量的线性组合相对应。
例如,采用具有四个因子(l = 4)的矩阵分解技术,可以将图1中的用户项矩阵分解为两个矩阵W和H:
其中W的每一行包含一个用户的四个特定于用户的系数,H的每一列具有Web服务的四个因子的值。W和H的乘积是原始用户项目矩阵P的近似值:
从这个介绍中,可以看到矩阵W和H是未知的,需要使用用户项矩阵P中的可用值来估计。矩阵W和H通常是不唯一的,需要通过最小化WH和P之间的距离。由于仅部分观察到用户项矩阵P,如果可以找到矩阵W和H,则可以使用这两个矩阵的乘积来预测用户项矩阵P中未观察到的条目。
P和WH之间差异的最常见度量是平方误差,可以通过以下公式计算
其中IPij是指示符函数,如果在用户项矩阵中有pij值可用(指示Web服务j先前已被用户i调用),则等于1,否则等于0,否则Wi是指示符函数的第i行 矩阵W(代表用户i的特定于用户的系数),Hj是矩阵H(代表Web服务j的因子向量)的第j列。
分解问题可以表示为:给定部分观察到的用户项矩阵P,找到两个矩阵W和H,它们使和平方误差最小,可以通过等式2计算。
由于找到W和H的目的是预测矩阵中未知的缺失值,因此这两个矩阵应避免过拟合所观察的值,以使所得模型对未知值具有良好的泛化性能。
通过添加W和H规范的约束以惩罚W和H的大值,那么有以下优化问题:
其中γ控制正则化的程度,以惩罚矩阵W和H中的大值以避免过拟合问题,而·2 F表示Frobenius范数[Golub and Loan 1996],其定义为矩阵和的和的平方根矩阵中值的绝对平方。例如,可以通过以下公式计算||W||2 F(m行l列):等式中的优化问题。(19)用二次正则项最小化平方和误差目标函数。
方程给出的目标函数的局部最小值,通过执行梯度下降可以找到(19)。梯度下降是一种用于最小化作为可微函数之和编写的目标函数的优化方法。梯度下降算法循环遍历用户项矩阵中的所有可用值,并逐个训练l个因子。一个梯度步骤旨在减小仅一个值的预测误差的平方。
可以通过以下方式计算梯度:
最后算法流程为:
算法1显示了梯度下降算法的迭代过程,用于解决方程式中的优化问题。(19)。首先用小的随机值初始化矩阵W和H。然后,该算法以与梯度相反的方向与α成比例的幅度迭代更新矩阵W和H。wt il表示第t次迭代中wil的值。参数α称为学习率,它控制迭代的速度。当方程中给出目标函数的局部最小值时,该过程停止,(19)已达到。
LN_LMF
测试model-based/ LN_LMF。
python run_tp.py运行。
运行结果为:
论文为Personalized QoS Prediction for Web Services using Latent Factor Models,使用潜在因子模型的Web服务个性化QoS预测。在文中,作者集中于LFM方法之一的奇异值分解(SVD)方法,其中将用户和项目映射到相同的潜在因子空间以进行可行的比较。每个用户或项目都与一个潜在特征向量相关联,该潜在特征向量包含低维,以解释潜在因子与其自身之间的关系。更具体地,在QoS预测的问
网络工程师持证人
本人已从事浙江省工程咨询5年,对浙江省内工程信息非常熟悉,可获取新建工程相关联系人、设计院、业主等关键信息。另外从事楼宇自控专业已10年,考取了一建二建等资格证书,有关考试方面的问题(考试心得、方法、学习资料等)都欢饮来咨询交流。
原创力文档


文档评论(0)