融入项目相关性的加权slope one算法研究

上传人:小** 文档编号:34128752 上传时间:2018-02-21 格式:DOC 页数:15 大小:174KB
返回 下载 相关 举报
融入项目相关性的加权slope one算法研究_第1页
第1页 / 共15页
融入项目相关性的加权slope one算法研究_第2页
第2页 / 共15页
融入项目相关性的加权slope one算法研究_第3页
第3页 / 共15页
融入项目相关性的加权slope one算法研究_第4页
第4页 / 共15页
融入项目相关性的加权slope one算法研究_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《融入项目相关性的加权slope one算法研究》由会员分享,可在线阅读,更多相关《融入项目相关性的加权slope one算法研究(15页珍藏版)》请在金锄头文库上搜索。

1、融入项目相关性的加权 Slope One 算法研究 冯勇 徐红艳 王嵘冰 郭浩 辽宁大学信息学院 摘 要: 在基于项目的协同过滤推荐算法中, Slope One 算法的应用较为广泛。但该算法在对项目相似度计算过程中没有考虑项目类型因素的影响, 导致类型不相关的项目参与到相似度计算中而影响推荐效果, 而且该算法在数据稀疏的情况下预测准确度不高。针对上述不足, 考虑使用项目相关性来考量项目间的关系, 提出了融入项目相关性的加权 Slope One 算法, 该算法从项目自身的所属类型和项目的评分数据两个方面来综合计算项目间的相似度关系, 并在此基础上增加了项目筛选策略, 达到了稳定评分差、获取局部较

2、为密集的项目评分矩阵的目的。最后将所提算法应用在 Movie Lens 数据集上与其它相近算法进行对比实验, 实验结果显示所提算法在明显提高了推荐准确度的同时也有效缓解了数据稀疏问题。关键词: 项目相关性; 加权 Slope one; 协同过滤推荐; 数据稀疏; 作者简介:冯勇 (1973) , 男, 辽宁沈阳人, 2007 年于东北大学管理科学与工程专业获博士学位, 目前为辽宁大学教授, 主要研究领域为数据挖掘, 个性化推荐.CCF 会员。作者简介:徐红艳 (1972) , 女, 辽宁丹东人, 1999 年于辽宁大学计算机软件与理论专业获硕士学位, 目前为辽宁大学副教授, 主要研究领域为 D

3、eepWeb, 个性化推荐.作者简介:王嵘冰 (1979) , 男, 辽宁沈阳人, 2015 年于辽宁大学企业管理专业获博士学位, 目前为辽宁大学讲师, 主要研究领域为数据挖掘, 云计算等.CCF 会员。作者简介:郭浩 (1992) , 男, 山西临汾人, 2017 年于辽宁大学计算机应用技术专业获硕士学位, 主要研究领域为数据挖掘, 个性化推荐。基金:国家自然科学基金Research on Weighted Slope One Algorithm Incorporating Item RelevanceFENG Yong XU Hongyan WANG Rongbing GUO Hao Co

4、llege of information, Liaoning University; Abstract: Slope one algorithm is a widely used item-based collaborative filtering recommendation algorithm. But the algorithm does not consider the impact of the item type factors in the process of calculation of the item similarity, leads to type irrelevan

5、t items involved in the similarity calculation which influence the effectiveness of the recommendation, and the prediction accuracy is not high in the case of sparse data. In order to solve these problems, consider use the item relevance to measure the relationships between items, and proposed a wei

6、ghted slope one algorithm incorporating the relevance of item. The algorithm synthetically calculates the similarity relationship between the items from two aspects: the type of the item itself and the scoring data of the item. On this basis, the items culling strategy is added, which achieves the g

7、oal of stable score difference and getting more intensive item scoring matrix. Finally, the proposed algorithm is applied in the Movie Lens data set. The experimental results show that the proposed algorithm not only improves the accuracy of recommendation, but also alleviates the data sparseness pr

8、oblem effectively.Keyword: Item relevance; Weighted slope one; Collaborative filtering recommendation; Data sparseness; 1 引言信息技术和网络互连的快速发展, 带来信息量的激增, 人们正步入信息过载的时代1。目前, 个性化推荐技术被业界认为是解决信息过载问题的首选方案, 它根据使用者的历史交互数据开展数据的分析与挖掘, 将用户可能感兴趣而又未获取的产品、信息等推荐给用户2。近年来, 个性化推荐技术已经被广泛应用在电影、视频、论文、驾驶路线和位置等与信息相关的服务领域。目前,

9、众多的个性化推荐方法中, 协同过滤推荐是应用较为成功的推荐方法, 分为基于用户的协同过滤推荐和基于项目的协同过滤推荐3。Slope One 算法作为应用广泛的基于项目的协同过滤推荐算法, 是由 Lemire 等人于 2005 年提出的, 该算法易于实现, 推荐准确度较高4。但该算法在实现时, 将所有项目平等对待, 未对项目的相关性加以考量, 并且在数据集稀疏时推荐效果不佳。文献4中同时也提到了加权 Slope One 算法, 该算法将同时被评分的两个项目的用户数量作为加权值, 但是同样缺乏对项目相关性的考量, 推荐效果不甚理想。针对 Slope One 算法的不足, 众多学者从不同视角进行了改

10、进, 如:Xiao等人将 Slope One 算法与基于内容的推荐算法相结合, 但此算法在数据稀疏时的推荐效果不理想5。Wang 等人提出将机器学习的相关算法应用于 Slope One算法参数的学习计算中, 再预测推荐6。孙丽梅等人提出了基于动态 k 近邻的Slope One 算法, 采用用户相似度的 k 近邻方法筛选用户评分数据, 提高了推荐准确性7。但是, 上述方法均没有从项目类型上入手, 减少无关项目对预测结果的不良影响。因此, 本文在传统 Slope One 算法中加入了项目类型相关性计算及项目筛选策略, 提出了一种融入项目相关性的加权 Slope One 算法, 使算法的推荐效率和推

11、荐准确率均得到了一定程度的改善。最后经实验对比分析, 本文所提算法切实可行, 与当前应用较广的 Slope One 算法相比具有更优的推荐效率和准确率。2 相关工作2.1 Slope One 算法介绍及不足分析Slope One 算法本质上是基于项目的协同过滤推荐算法, 该算法认为在项目和项目之间、评分和用户自身之间存在着一种线性关系。Slope One 算法是采用公式 f (x) =x+b 来预测评分的。b 代表着项目间的平均评分偏差, x 表示评分值。假设 S=, , 为用户对项目 X、Y 的评分向量集, S 中的每一个数值对表示一个用户分别对项目 X 和项目 Y 的实际评分。在计算项目

12、Y 对项目 X 的评分差估计值时, 可以使用最小二乘法来实现8, 计算公式如式 (1) :计算出评分差估计值 b 后, 采用如上所提的线性关系, 根据目标用户给出的项目 X 的评分和 b 来对项目 Y 的预测评分进行估算。Slope One 算法对预测评分计算的一般流程如下:(1) 生成用户集合 U:在用户-项目评分矩阵中, 将所有对目标项目做过评分的用户筛选出来形成用户集合 U。(2) 生成项目集合 P:首先找出已被目标用户给出评分的项目, 若该项目也同时被其它用户给出评分, 则该项目将被加入到算法计算所需的项目集合 P 中。(3) 预测项目评分8:筛选出 U、P 之后, 就可以提取 Slo

13、pe One 算法需要的评分数据即 U 与 P 交叉处的评分数据。多项目条件下, 用户 u 预测项目 j 的评分表示为 P (u) j, 计算公式如式 (2) 、式 (3) 所示:devj, i表示项目 j 相对项目 i 的评分偏差, U j, i表示项目 i 和项目 j 有共同评分的用户集合, r u, i和 ru, j分别表示用户 u 对项目 i、j 的评分;I j表示与目标项目 j 同时被评分的项目集合, card () 表示相应集合中包含元素的数量。Slope One 同其他推荐算法一样, 在预测完项目评分之后采用 Top-N 方式生成推荐列表。通过对 Slope One 算法计算方式

14、的分析, 可总结出该算法有如下两点不足:(1) 该算法仅仅考虑了当前用户的评分项目与目标项目之间的平均评分偏差, 再求加权平均值计算得出。由于没有考虑项目间的相关性, 因此算法在对预测评分进行计算过程中, 极有可能将与目标项目在性质上完全不相关的项目纳入项目集合中, 计算结果就会有较大的偏差。(2) 文献9, 10研究的结果表明, 该算法在数据集较为稠密时, 预测精度较高;但当数据集相对稀疏时, 该算法与在推荐效果上的优势并不明显。基于上述两种不足导致该算法推荐的结果准确度不理想, 本文算法将围绕以上两方面的不足开展研究与改进工作。2.2 项目相似度计算方法介绍及不足分析目前对项目相似度的研究

15、大多集中在项目评分上的相似度或项目的评价信息作为切入点来计算相似度, 而没有从项目类型等项目本质信息来衡量。目前常用的项目相似度计算方法及不足分析如下:(1) 根据购买次数计算两个不同项目被同一用户购买的次数越多, 它们就越相似11。项目 j 和项目i 之间的相似度计算如公式 (4) 所示:其中, T i表示项目 i 总共被购买的次数, T j表示项目 j 总共被购买的次数, TiT j表示项目 i 和项目 j 被同一用户购买的次数。这种方法带有一定的偶然性, 不适合用在预测评分的系统中。(2) 根据项目属性在该计算方法中, 项目之间的相似度使用项目属性相似度来衡量12。项目有很多属性, 因此

16、每个项目可以表示为一个 t 维向量, 每个维度对应当前项目的一个属性特征。a ig表示项目 i 的第 g 个属性, 利用相关公式确定每个属性在最终推荐中所占不同的权重 wk, 然后加权得到 2 个项目属性的相似度。那么项目i 和项目 j 之间的相似度可以表示为公式 (5) :这种方法在计算属性相似度的时候, 计算过程非常繁琐。(3) 多层次计算此方法是首先基于共同用户集计算第 1 级相似度, 然后逐步融入其他维度因素13, 计算过程如下:基于共同用户集的第 1 级相似度计算:设项目 i、j 的用户集分别为 Usr (i) , Usr (j) , 则使用公式 (6) 计算项目 i、项目 j 的相似度:融入活跃度的第 2 级相似度计算:用户 u 的活跃度通过其评分项目数量 RNum (u) 来表示, 则第 2 级相似度计算如公式 (7) :融入时效的第 3 级相似度计算:设用户 u 对项目 i 和项目 j 的评分时间分别为Timeui和 Timeuj, 则第 3 级相似

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号