单位代码:10293密级:专业学位硕士论文论文题目:基于Hadoop的协同过滤推荐算法的设计与实现1212043123李状王晓军工程硕士申请全日制申请软件工程二零一六年二月学号姓名导师专业学位类别类型专业(领域)论文提交日期TheDesignandImplementationofColaborativeFilteringRecommendationSystemBasedonHadoopThesisSubmittedtoNanjingUniversityofPostsandTelecommunicationsfortheDegreeofMasterofEngineeringByLiZhuangSupervisor:Prof.WangXiaojunFebruary2016南京邮电大学学位论文原创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。本人学位论文及涉及相关资料若有不实,愿意承担一切相关的法律责任。南京邮电大学学位论文使用授权声明本人授权南京邮电大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档;允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索;可以采用影印、缩印或扫描等复制手段保存、汇编本学位论文。本文电子文档的内容和纸质论文的内容相一致。论文的公布(包括刊登)授权南京邮电大学研究生院办理。涉密学位论文在解密后适用本授权书。研究生签名:_____________日期:____________研究生签名:____________导师签名:____________日期:_____________I摘要互联网技术的发展与普及满足了互联网用户在信息时代的需求,但是信息数据的海量增长又使用户面临信息超载问题,个性化推荐系统应运而生。其中协同过滤推荐算法是目前个性化推荐技术中应用比较成功的算法之一。但是传统的协同过滤推荐存在数据稀疏性、冷启动和可扩展性等问题。论文对协同过滤算法进行深入研究,对传统的协同过滤算法提出了一些改进方案。主要的工作内容如下:(1)论文提出在传统协同过滤算法计算项目相似度的过程中,加入项目特征因素。首先根据项目特征信息计算出项目在特征方面的相似度,接着计算项目在用户评分方面的相似度,然后将项目特征相似度和项目评分相似度相结合得到项目的综合相似度。论文改进的算法缓解了数据稀疏性问题。在改进项目相似度计算中加入了项目特征因素时,项目特征相似度与传统的项目评分相似度两者按照一定权值结合。合理的权值选取才能保证最优的推荐结果,因此在训练模块中通过训练数据集去训练权值,然后比较各权值下的MAE值,从中选取最优权值为用户产生推荐。(2)基于Hadoop平台实现推荐。面对不断涌入的用户和项目,系统负荷及其开销增大时,Hadoop平台系统强大的分布式运算能力可提高对大数据处理的效率。在综合项目相似度模块,通过Hadoop平台与Mahout框架的交互,项目特征相似度的计算、项目评分相似度的计算和综合项目相似度的计算都可以进行离线处理,这样就提高了线上给用户推荐项目的效率。在推荐模块中,Hadoop平台结合了Map-Reduce编程框架对最近邻选取和产生推荐等各个阶段作业进行分布式计算,减少了在数据量庞大情况下计算的运行时间,缩短了生成推荐的时间轴,提高了推荐的整体效率。关键词:推荐系统,协同过滤,Hadoop,MapReduce,项目特征相似度IIAbstractThedevelopmentofInternetTechnologyfulfillsthedemandofInternetUsersintheeraofinformation.However,usershavetofacethehugeamountofinformationwhichleadstotheproblemofinformationoverload,andthus,personalrecommendationsystemwasinventedtodealwithit.Collaborativefilteringalgorithmisoneofthemostsuccessfulpersonalrecommendationtechnologies.ButtraditionalCollaborativefilteringalgorithmhasitsdefectssuchasdatasparsity,coldstartandscalability.Thisthesisconductsanintensiveresearchoncollaborativefilteringalgorithmandproposessomeimprovedschemesbasedontraditionalcollaborativefiltering.Themainworkofthisthesisisasfollows:(1)Itputsforwardtoadditemfeatureintotraditionalcollaborativerecommendationalgorithmintheprocessofcalculatingthesimilarityofitems.Firstly,Getouttheitemfeaturesimilaritybasedontheitemfeatureinformation,andthenaccrodingtoitemratingstocomputetheitemsimilarity.Atlast,theitemfeaturesimilarityanditemratingssimilarityarecombninedtoproducetheintegrateditemsimilarity.Theimprovementofalgorithmrelievesthedatasparsity.Improvedalgorithmbyaddingitemfeaturefactorisbasedonusingitemratinganditemfeaturetocalculatesimilarity,whicharecombinedbyacertainweight.Reasonableweightvalueisthekeytogettheoptimalrecommendationresults,soitistrainedwithtrainingdatasetintrainingmodule.Andthenrecommendationisgeneratedwithoptimalweights,selectedbycomparingthevaluesofMAE.(2)ImplementrecommendationwithHadoopplatform.Facingwiththeincreasingnumberofusersanditemswhichleadtohigherworkloadandexpenses,Hadoopplatformcoulduseofitspowerfulabilityofdistributedcalculationtoimproveprocessingefficiencyforbigdata.ThroughtheinteractionbetweenHadoopPlatformandMahoutFramwork,thecalculationofitemfeaturesimilarity,itemratingsimilarityandintegrateditemsimilaritycanbehandledofflineinthemoduleofintegrateditemsimilarity.Itimprovestherecommendationefficiencyforusersonline.ThroughtheinteractionbetweenHadoopPlatformandMapReduceProgrammingFramework,integratedrecommendationefficiencyisfurtherimprovedwhentheselectionofnearestneighborandrecommendationgenerationarecomputeddistributedinthemoduleofrecommendation.Keywords:RecommendationSystem,CollaborativeFiltering,Hadoop,MapReduce,SimilarityofItemFeatureIII目录第一章绪论.....................................................................................................................................................................11.1课题研究背景及意义.......................................................................................................................................11.2协同过滤算法的研究现状...............................................................................................................................21.2.1推荐算法介绍........................................................................................................................................21.2.2协同过滤算法的研究现状...................................................................................................................31.2.3协同过滤算法与Hadoop的现状........................................................................................................31.2.4协同过滤算法与Mahout的现状........................................................................................................41.3论文研究内容....................................................................................................................................................41.4论文组织结构...........................................................................................................