基于巴氏系数和Jaccard系数的协同过滤算法.docVIP

基于巴氏系数和Jaccard系数的协同过滤算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于巴氏系数和Jaccard系数的协同过滤算法.doc

基于巴氏系数和Jaccard系数的协同过滤算法 摘要:针对传统基于邻域的协同过滤推荐算法存在数据稀疏性及相似性度量只能利用用户共同评分的问题,提出一种基于巴氏系数和Jaccard系数的协同过滤算法(CFBJ)。在项目相似性度量中,该算法引入巴氏系数和Jaccard系数,巴氏系数利用用户所有评分信息克服共同评分的限制,Jaccard系数可以增加相似性度量中共同评分项所占的比重。该算法通过提高项目相似度准确率来选取最近邻,优化了对目标用户的偏好预测和个性化推荐。实验结果表明,该算法比平均值杰卡德差分(MJD)算法、皮尔森系数(PC)算法、杰卡德均方差(JMSD)算法、PIP算法误差更小,分类准确率更高,有效缓解了用户评分数据稀疏所带来的问题,提高了推荐系统的预测准确率。 关键词: 协同过滤;巴氏系数;杰卡德系数;相似性度量;矩阵稀疏性 中图分类号: TP301.6 文献标志码:A 0引言 推荐系统[1]根据用户的兴趣特点和历史记录向用户推荐感兴趣的内容,有效解决信息过载问题,从而使用户在海量数据中快速、准确地找到有价值的信息。协同过滤推荐[2]是推荐系统中最基本的算法之一,分为基于用户的协同过滤推荐[3]和基于项目的协同过滤推荐[4]。协同过滤算法的基本思想是计算用户或项目间相似度,然后根据相似度预测目标用户对目标项目的评分并产生推荐集。 当前协同过滤推荐算法存在数据稀疏性[5]问题,当数据集项目较多时,用户项目矩阵数据通常十分稀疏。传统的相似性度量如皮尔森相关系数[6]和余弦相似性[7]等在计算用户或项目间相似性时依赖于用户对项目的共同评分。假设在评分矩阵中,用户的评分数量较少或者有共同评分的项目很少,那么相似性度量就存在一定偶然性[8],不适用于稀疏矩阵。为了解决数据稀疏性问题,相关研究引入了不同的相似性度量。例如,Luo等[9]通过引入局部用户相似性和全局用户相似性来解决稀疏数据中的相似性问题,利用每个用户的奇异向量计算用户之间的局部相似性,最后把局部近邻和全局近邻的预测进行线性拟合。Ahn等[10]提出了PIP(ProximityImpactPopularity)度量模型,通过分析皮尔逊相似性度量和余弦相似性度量的缺点,考虑用户评分的三方面:接近、影响和普及,但这种相似性度量只考虑局部评分信息,不考虑用户全局偏好。Herlocker等[11]提出加权Pearson相关系数解决传统Pearson相关系数不考虑共同评分用户规模的问题,引入邻居置信度,共同评分项越高则置信度越高。Jamali等[12]对用户之间的信任关系进行深度搜索,寻找更深层次的相似用户来进行推荐。Bobadilla等[13]提出了一种结合了Jaccard和平均平方差的矩阵,假定这两项措施可以互补。这些方法在一定程度上减少了矩阵稀疏性[14]对推荐算法的影响,但没有从根本上解决协同过滤推荐算法中相似性度量受共同评分限制的问题。 本文提出了一种基于巴氏系数和Jaccard系数的协同过滤算法(Collaborative Filtering algorithm based on Bhattacharyya coefficient and Jaccard coefficient, CFBJ)。该方法通过巴氏系数和Jaccard系数度量项目间相似性。巴氏系数利用用户间所有的评分信息,克服了共同评分的限制。Jaccard系数可以增加相似性度量中共同评分项所占的比重,将评分项目进行关联,计算无共同评分项的用户间相似度,进而预测目标用户对目标项目的评分,为用户进行推荐。该算法摆脱了传统协同过滤算法在计算用户相似性时共同评分的限制,有效缓解用户评分数据极端稀疏情况下使用传统度量方法带来的问题,提高推荐系统的推荐质量。 1相似性度量定义 1.1巴氏系数相似度 1.2Jaccard相似性度量 Jaccard系数是两个集合交集与并集的元素数目之比,用于测量两个集合在共同项目上的重叠度。Jaccard系数计算符号度量或布尔值度量的个体间的相似度,不考虑用户对项目的评分取值,仅关注用户是否对该项目评过分。Jaccard系数值等于两个用户关联项目数量的交集除于关联项目数量的并集,形式化表示公式如下: 1.3修正的余弦相似性 通过向量间的余弦夹角计算相似性度量,为了修正不同用户存在不同评分尺度的偏差,在标准余弦相似性的基础上,减去用户对所有项目的平均评分来改善这一缺陷。计算式如下: 2基于巴氏系数和Jaccard系数的本文协同过滤推荐算法 传统协同过滤推荐算法通过用户或项目内个体间的相互作用,来寻找对当前对象影响力最大的k个邻居,为当前对象属性作出预测[8]。使用合适的相似性度量找到目标用户的邻域是基于邻域的协同过滤算法的最关键步骤。本文提出的相似性度量适于用户评分数目少或没有共同评分的稀疏

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档