基于Mahout分布式协同过滤算法分析和实现.docVIP

基于Mahout分布式协同过滤算法分析和实现.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文档。上传文档
查看更多
基于Mahout分布式协同过滤算法分析和实现

基于Mahout分布式协同过滤算法分析和实现   摘要:随着信息技术和互联网的发展,在信息过载的时代,用户面对海量的信息,难以正确选择。协同过滤推荐是个性化推荐中比较成熟的算法,但其稀疏性、冷启动、可扩展性问题仍然存在,尤其是不能应用于分布式推荐。在Hadoop平台上,Mahout实现了分布式基于项目的协同过滤推荐算法,该算法能够有效解决传统算法的海量数据处理的效率问题和可扩展性问题。实验结果表明,Mahout上基于项目的协同过滤推荐算法具有较好的计算高效性和可扩展性。   关键词:分布式协同过滤;Mahout;推荐系统   中图分类号:TP391 文献标识码:A   1引言   互联网和电子商务系统的兴起与发展,将人们带入了网络经济发展时代,同时网络中的信息量也在爆炸式地增长。网络信息虽然给人们带来了更多的选择,但数量庞大及自身质量差异,越来越呈现一种信息过载的趋势,使得如何从这些海量信息中识别出真正有价值的信息变得越来越困难。然而,推荐系统的出现改变了这一状况,尤其是个性化推荐服务技术的发展,成为解决信息过载问题最有效的工具,它能够收集和分析用户的信息,主动地推荐用户可能感兴趣的信息。   个性化推荐中的协同过滤推荐是比较成功的一种,它的概念是由Goldberg、Nicols、Oki以及Terry在1992年首次提出的,主要思想是,利用已有用户群过去的行为或意见预测当前用户最可能喜欢哪些东西或对哪些东西感兴趣。不到两年,Grouplens系统展示了协同过滤方法既能跨网计算又能自动完成,该系统是基于用户评分的自动化协同过滤推荐系统,用于推荐电影和新闻。麻省理工学院的Ringo系统针对音乐唱片和艺术家进行推荐。虽然传统的协同过滤推荐算法在信息过滤方面呈现出了极大的优势,但随着信息量的增加,算法在不同领域的应用中出现了很多的问题,包括稀疏性问题、冷启动问题、可扩展性问题。   为了解决这些问题,文献基于动态规划思想,根据用户以及产品的相似性,自适应地选择预测目标的近邻对象作为推荐群,同时计算把握率较高的信任子群,提出了一种不确定近邻的协同过滤推荐算法,来对预测结果进行平衡的推荐,有效缓解了用户评分数据稀疏的情况。文献在基于弱关系的微博类社交网络中,提出两阶段聚类的推荐算法GCCR,将图摘要方法和基于内容相似度的算法相结合,实现基于用户兴趣的主题推荐,有效缓解了矩阵稀疏性和冷启动问题。文献采用传播的思想,提出了一种改进的基于内存的协同过滤推荐算法SPCF,该算法通过相似度传播,寻找到更多,更可靠的邻居,从用户和项目两方面信息考虑对用户进行推荐,缓解了数据稀疏性问题。   传统的协同过滤推荐算法虽然从一定程度上减少了矩阵稀疏和冷启动问题,但随着数据规模的不断扩大,可扩展性方面仍然表现的比较差,无法适应海量数据的处理,尤其是无法应用于分布式平台。为此,国内外研究者进行了一系列的研究,这些研究大多是针对Hadoop平台和MapReduce并行编程模型,提出相关的分布式协同过滤算法。文献提出了MapReduce范式可扩展的基于相似性的邻居算法,该算法中,针对分割数据设计出运行在并行处理平台上的基本比较对,并采用降低采用率的interaction-cut技术,处理“超级用户”的计算开销,有效地解决了用户或项目大规模增长的情况下扩展性和产生推荐的速度问题。文献针对基于User-based的协同过滤算法的伸缩性问题,实现了基于Hadoop平台的User-based协同过滤算法,从而实现了算法的线性伸缩。文献提出了Hadoop平台上扩展的Item-based协同过滤推荐算法,将单机上基于项目的协同过滤算法的三个最密集的计算分割为四个MapReduce阶段,有效地解决了文献提出的算法的扩展性和效率问题,但是MapReduce阶段的项目相似度计算要求两个项目在同一节点机器上,并且要求用户数量远大于项目数量,对于项目不断增长的情况下,会增加算法的计算量。   本文所要介绍的就是Mahout在Hadoop框架下基于项目的协同过滤推荐算法的实现,该算法是基于MapReduce并行编程模型,不仅有效地解决了在海量数据下算法处理的效率问题,而且解决了随着大量用户和项目的增加产生的可扩展性问题。   2协同过滤推荐算法   协同过滤推荐算法主要包括基于用户和项目的推荐,其中基于项目的协同过滤推荐算法是目前业界应用最多的算法,所以本节内容以基于项目的协同过滤推荐算法为介绍对象,它主要分析用户的行为记录来计算项目之问的相似度。推荐系统首先建立基于项目的数据模型,然后针对目标项目计算项目与项目之间的相似性,得到目标项目的若干最近邻,最后根据最近邻来预测用户对项目的评分,产生对应的推荐列表。   2.1相似性度量方法   相似性度量方法是计算

文档评论(0)

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

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

1亿VIP精品文档

相关文档