基于Hadoop和Mahout的ASUCF算法并行化研究.docxVIP

基于Hadoop和Mahout的ASUCF算法并行化研究.docx

  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文档。上传文档
查看更多
基于 Hadoop 和 Mahout 的 ASUCF 算法并行化研究 1 弓 I 言(Introduction) 互联网时代,网络资源纷杂,信息过载,个性化推荐成为缓解用户 在网络中的信息迷茫问题的重要途径[1]。在多项目、多领域的推荐中, 因不依赖用户或项目内容,具有较好通用性的协同过滤算法[2]成为较为 成功的推荐技术,其改进因而也受到广泛关注。然而,改进的算法通常 是以牺牲计算效率换取计算准确度的提升。随着大数据时代的来临,解 决计算效率的问题也迫在眉睫。由于单机模式的计算能力有限,而分布 式计算具有多资源、可扩展、高效计算等优势,所以用分布式计算实现 高效的CF算法,既能提高推荐准确度,又能保证计算效率。目前主要 使用云计算平台Hadoop实现算法的并行化,如文献[3-8]等是通过将 算法移植至Hadoop,以得到高计算性能的算法。 本文将基于平均相似度的协同过滤推荐算法(Average Similarity of User-Item Collaborative Filtering,简称 ASUCF)与开源分布式平台 Hadoop结合,改写Mahout屮Item-based CF分布式实现,研究ASUCF 算法的并行化,探索其MapReduce i±程设计,并通过在不同规模的数 据集上实验,比较单节点计算与多节点计算在计算效率上的差别,证明 并行化后的ASUCF算法在计算效率上的优势,更能适应大数据环境。 2Hadoop平台及ASUCF算法并行化分析(Hadoop and analysis of ASUCF in parallel) 21ASUCF算法概述 文献[9]详细描述了 ASUCF算法,并通过实验证明推荐准确度的提 高,在此对其简单描述,为后续的并行化分析作铺垫。ASUCF为避免 矩阵预处理带来的偏差,改进的算法回归到最原始的评分矩阵,从用户 行为分析、项目行为分析,引入平均相似度,将计算预测评分分解成用 户角度的预测和项目角度的预测两部分,综合两部分后得到最终的用户 对项目的预测评分。 用户的项目平均相似度和项目的用户平均相似度计算分别如式⑴ 和式(2),和分别表示用户已评分项冃的集合,对项冃已评分的用户集合: IAS (c)=UAS (/)=V sim ( IAS (c)= UAS (/)= V sim (c ■ w ) 工 sim (/1 7 ) C|c.. (1) ⑵ 综合用户、项目两方面,弓I入UAS、IAS,则目标用户对目标项目 的预测评分如式(3)所示。 2.2Hadoop 简介 Hadoop起源于Apache公司的Lucene和Nutch项冃[10],是谷歌 云计算理论的Java语言实现。2006年,实现分布式文件系统和 MapReduce的部分从Lucene和Nutch中分离出来,成为新项目 Hadoop[11]0对应GFS实现的HDFS、并行计算模型MapReduce是 Hadoop中最核心的部分。HDFS是Hadoop中的文件管理系统,采用 主从结构,一个集群中包括一个主控服务器,即冃录节点NameNode, 用于索引DataNode、负责系统内文件命名空间操作、数据块和 DataNode之间的映射关系等;以及多个块服务器,即数据节点 DataNode,用于数据物理存储,文件通常被划分成若干个数据块,储 存在不同的DataNode中[12]。MapReduce是一种可靠、高效的并行 编程模型和计算框架,借助于HDFS等分布式技术,能够处理各类PB 数量级的大数据[13],其构成部分主要有一个主控服务JobTracker,若 干个从服务TaskTracker,分布式文件系统HDFS,以及客户端 Client[14],它们的主要功能分别是: JobTracker:将作业划分成若干个任务,分发给多个 TaskTracker,管理任务的执行以及输出反馈。 TaskTracker:完成若干个 Map、Reduce 任务,并向 JobTracker 实时反馈执行情况。 HDFS:数据、相关信息的保存及管理。 客户端Client: Map和Reduce程序的编写,作业的提交。 MapReduce通过分解任务、合并结果的分而治之思想实现可分解、 可并行处理大数据集上的并行计算。MapReduce的任务执行过程由 Map和Reduce两阶段构成,每次Map和Reduce的输入和输岀均是 键值对vkey,value〉的形式,通过对相同key键值对的若干次归类整理, 调用用户自定义的Map和Reduce函数,得到最终输岀结果。 2.3ASUCF算法分析 要实现算法的并行性,首先需要分析出算法中的可并行计算部分, 以及并行计算部分与串行计算之间的关系。为方便表述,设: 7 im(iJhUASQ) ⑴ — 工阳c

文档评论(0)

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

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

1亿VIP精品文档

相关文档