欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    基于Spark平台的推荐算法研究与应用.docx

    • 资源ID:90243       资源大小:640.71KB        全文页数:74页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Spark平台的推荐算法研究与应用.docx

    单位代码:10293密级:专业学位硕士论文论文题目:基于SPark平台的推荐算法研究与应用学号1218043125姓名殷明康导师童韵专业学位类别工程硕士类型全日制专业(领域)计算机技术论文提交日期2021年4月ResearchandApplicationofRecommendationAlgorithmBasedonSparkPlatformThesisSubmittedtoNanjingUniversityofPostsandTelecommunicationsfortheDegreeofMasterofEngineeringByYinMingkangSupervisor:Prof.ZhangYunApril2021摘要进入数据时代后,互联网上存储的数据量呈指数级增长,面对海量数据,一般搜索功能不能满足所有需求,无法充分挖掘用户兴趣。推荐系统随之诞生,它帮助用户更快地发现感兴趣的高质量信息,在用户需求模糊的情况下也能提供比搜索方式更为精准的内容。论文重点对局部相似性、近邻选择以及在协同过滤推荐中的应用展开研究。首先,基于用户对事物偏好不同的特点引出局部相似的概念,设计了用于提升数据密度的LSWSO算法,该算法从标签着手,确立了以标签因子为衡量准则的聚类算法,并利用遗忘函数解决用户兴趣漂移问题,然后借助加权Sk)PeOne算法填充矩阵,降低数据稀疏性;为了提高聚类效率,LSWSO算法在SPark平台上实现了并行化方案。其次,将并行化的LSWSo算法融合基于用户的协同过滤,设计了LSWSO-USerCF算法,该算法在使用LSWSO获得相对稠密的评分矩阵后,结合用户属性计算相似度并挑选近邻集合,接着以近邻为参考对象进行预测评分和TOP-N推荐;另外,LSWSO-USerCF算法还利用LSWSO的特点提出了一种冷启动解决办法;同时,基于开发环境一致性等因素的考量,LSWSO-USerCF同样采用SPark进行并行计算。最后,开发了一个较为完备的个性化音乐推荐原型系统,将并行LSWSoPserCF算法应用于该系统的推荐模块,进一步检验算法的实用性。使用MOVieLenS和Tag-GenOme数据集在SPark平台上进行实验,测试结果显示并行化LSWSO算法和并行化LSWSO-USerCF算法在大数据场景下有较好的性能表现。关键词:协同过漉,局部相似性,用户属性,SparkAbstractAfterenteringthedataage,theamountofdatastoredontheInternethasincreasedexponentially.Inthefaceofmassivedata,generalsearchfunctionscannotmeetallneedsandcannotfullytapuserinterests.Arecommendationsystemwasborn,whichhelpsusersfindhigh-qualityinformationofinterestfaster,andcanprovidemoreaccuratecontentthansearchmethodsevenwhenuserneedsarevague.Thethesisfocusesonlocalsimilarity,nearestneighborselection,anditsapplicationincollaborativefilteringrecommendation.Firstly,theconceptoflocalsimilarityisintroducedbasedonthedifferentpreferencesofusers,andtheLSWSOalgorithmisdesignedtoimprovethedatadensity.Thealgorithmstartsfromthelabel,establishestheclusteringalgorithmbasedonthelabelfactor,andusestheforgettingfunctiontosolvetheproblemofuserinterestdrift.Secondly,inordertoreducethedatasparsity,theweightedSlopeOnealgorithmisusedtofillthematrix.Toimprovetheclusteringefficiency,theLSWSOalgorithmimplementsaparallelizationschemeontheSparkplatform.Secondly,theparallelizedLSWSOalgorithmiscombinedwithuser-basedcollaborativefiltering,andtheLSWSO-UserCFalgorithmisdesigned.AfterusingLSWSOtoobtainarelativelydensescorematrix,thealgorithmcombinesuserattributestocalculatethesimilarityandselectsthenearestneighbourset,andthenusesthenearestneighbourasreferenceobjectforpredictivescoringandTop-Nrecommendation.Inaddition,theLSWSO-UserCFalgorithmalsousesthecharacteristicsofLSWSOtoproposeacoldstartsolution.Atthesametime,basedonfactorssuchastheconsistencyofthedevelopmentenvironment,LSWSO-UserCFalsousesSparkforparallelismCalculation.Lastly,arelativelycompletepersonalizedmusicrecommendationprototypesystemwasdeveloped,andtheparallelLSWSO-UserCFalgorithmisappliedtotherecommendationmoduleofthesystemtoverifythepracticabilityofthealgorithmfurther.UsingMovieLensandTag-GenomedatasetstoexperimentontheSparkplatform,thetestresultsshowthattheparallelizedLSWSOalgorithmandtheparallelizedLSWSO-UserCFalgorithmhavebetterperformanceinbigdatascenarios.KeyWordsjCoIIaborativefiltering,Localsimilarity,Userattributes,SparkII目录第一章绪论1Ll研究背景及意义11.2 国内外研究现状21.3 主要研究内容51.4 论文组织结构6第二章推荐系统相关技术介绍72.1 数据挖掘72.2 相似度的计算82.3 SloPeOne算法102.4 推荐系统相关介绍112.4.1 基于内容的推荐122.4.2 协同过滤推荐132.4.3 混合推荐142.5 SPark平台介绍142.5.1 简介142.5.2 存储体系152.5.3 弹性分布式数据集152.5.4 SparkSQL162.5.5 SPark平台的优势162.6 本章小结17第三章基于局部相似性的SIOPeone算法183.1 引言183.1.1 用户特点183.1.2 局部相似性183.2 标签研究与应用203.2.1 二元型标签203.2.2 标签基因组213.3 LSWSo算法模型223.3.1 基于标签因子的聚类算法223.3.2 融合遗忘函数的评分修正方法243.3.3 算法描述253.4 基于Spark平台的并行化方案273.4.1 并行化方案的必要性273.4.2 SPark平台的设计要点273.4.3 关键步骤的并行化实现283.5 实验与结果分析293.5.1 实验设置293.5.2 聚类分析293.5.3 预测分析323.6 本章小结34第四章融合LSWSO的推荐算法及其并行化研究354J基本思想354.2 基于LSWSO的USerCF算法的设计与实现35III4.2.1 冷启动解决方案354.2.2 基于用户属性的相似性度量方法374.2.3 评分预测384.2.4 LSWSO-USerCF算法描述394.2.5 LSWSo-USerCF算法的并行化实现404.2.6 LSWSo-USerCF算法时间复杂度分析414.3 实验分析424.3.1 实验数据集与环境424.3.2 评价标准424.3.3 实验结果与分析434.4 本章小结45第五章个性化音乐推荐原型系统465.1 系统需求分析465.2 原型系统设计475.2.1 总体架构设计475.2.2 功能模块设计485.2.3 数据库设计495.3 推荐流程分析515.4 原型系统实现525.4.1 环境选择与配置525.4.2 详情界面展示525.5 原型系统推荐测试555.6 本章小结57第六章总结与展望586.1 总结586.2 展望59参考文献60附录1攻读硕士学位期间申请的专利63致谢64第一章绪论1.1 研究背景及意义伴随着网络的快速迭代发展以及手机等各类电子移动设备的普及,人们不仅可以随时随地通过移动设备上网获取需要的信息,而且还可以在互联网上分享各种各样的视频、音频与图片等资源,于是,网络世界塞满了越来越多的信息,人类世界迎来了数据大爆炸的时代。毫无疑问,信息的持续爆炸性增长不可避免会带来“信息过载(informationoverload)”问题,即信息过于庞大导致很难从中挖掘出有价值的东西。因此,如何在错综复杂的海量信息中提炼出用户真正感兴趣的内容就变得非常重要和关键了。传统的解决方案是以搜索引擎为代表的信息检索和过滤技术,比如浏览器百度搜索入口、手机App内置的搜索功能等,这种方式靠的是人的主观能动性。使用者通过关键字进行查询,结果以分页的形式展示,尽管该方式很大程度上满足了用户的需求,但是也存在着部分缺陷。一方面,搜索后的信息量依然巨大,例如,百度查询“推荐系统"立检检索到龙勺35,900,000条记录,而用户一般只关注前几条内容;另一方面,如果用户输入的文本存在表述模糊、语义不清等问题,那么搜索结果极有可能出现匹配度不高甚至南辕北辙的情况。针对检索方式存在的问题,推荐系统(RecommendationSystem)应用而生。系统先收集用户在浏览网络过程中产生的显式或隐式反馈信息(比如商品的浏览记录和收藏行为等),然后通过挖掘信息找出用户潜在的兴趣偏好,理清用户项目关系,最终得到结果后推荐给用户。显而易见,推荐系统满足了人们难以文字表述的需求,通过不断的数据积累以及用户反馈,它能变得更聪明、更善解人意,从而帮助人们发掘自身兴趣;同时,它不仅能很好地挖掘出项目的多样性,而且推荐内容有时会令用户出乎意料却又非常喜欢,有足够的新颖性;另外,它还可以和信息检索结合起来,两者互为补充,增强企业应用的交互性和友好性,提高企业应用与用户之间的“粘性”,实现信息消费者和生产者的双赢,成为吸引新用户、留存老用户的有力手段。1994年明尼苏达大学GroupLens研究组推出GroupLens系统,2006年NetfIiX向数据挖掘科学界提出挑战,要求开发出超过Cinematch准确性的推荐系统叫类似的研究与活动都推动着推荐系统不断向前发展,使之逐渐成为一个独立的研究领域。发展至今,涌现出了众多优秀的推荐思想,主要有关联规则、基于内容的推荐、协同过滤、混合推荐技术等,其中协同过滤是热点研究算法。目前,推荐模型已经在电子商务、社交等许多领域得到广泛的实践,典型的实际案例如AmaZOn网络购物商城、今日头条等。在大数据时代,信息具有大量(Volume)高速(VeloCity)、多样(Variety)的特征,对于一个稍大些的系统,它的数据量级都是很庞大的。每一分钟,48小时的视频被上传,每天在YouTube上有40亿的浏览量;谷歌每天需要监控72亿页面,处理20PB的数据,并且还要翻译成66种语言。由此可见,在现实场景下,传统的单节点存储和计算方案都不合时宜,必须采用分布式存储与并行计算技术。SPark网是一种大数据分析引擎,特点是快速通用可扩展,它的计算核心围绕内存展开,支持多种编程语言,适用于迭代式的算法分析,容错率高且能很好地融入HadOoP生态圈,有广阔的发展空间和市场前景。当然,推荐系统也存在着较多的问题。常见地,因为推荐依赖用户的历史行为数据,所以会出现未产生用户数据或偏好数据稀少等情况,解决或缓解这些问题有助于提升用户忠诚度,也有助于商家销售商品。总的来看,对推荐系统深入研究优化,具有较高的社会和经济效益,本文聚焦于基于用户的协同过滤算法,在SPark环境下采用改善稀疏性的算法,并结合时间因素和用户特征,增强系统个性化和推荐准确度。1.2 国内外研究现状从最初的助力过滤垃圾邮件到现在的个性化推荐服务,推荐系统早已渗透到了人们生活的方方面面,表1.1展现了现今推荐系统在各行业领域的应用情况。从表中可以看出,推荐系统的落地实施成果喜人,企业的良性竞争对推荐技术的进步起着推动作用。有数据显示,零售业巨头Amazon收益的35%来自于它的推荐引擎,视频网站Netflix中75%的用户会根据推荐算法选择影片。到今天,推荐技术可以说是百花齐放,各种模型、优化方案层出不穷。表Ll推荐系统应用领域行业领域应用网址电子商务Amazonhtlps:WWw.amazon,com/一A-q足东https:WW社交Facebookhttps:WWw.facebook,com/知乎https:WW新闻GoogleNewshttps:/news,google,com/今日头条https:WW音乐Spotifyhttps:W网易云音乐视频YouTubehttps:WWw.youtube,com/央视频htlps:WDeepMind团队致力于深度学习的研究,2006年开发出来的AlphaGo在围棋对决中战胜了韩国九段选手李世石,一时间与AIPhaG。有关的报道层出不穷,成为当时全球轰动性的年2度大新闻;同年,YouTube从视频规模、新鲜度和噪声三个最具挑战的方面入手,发表论文公开了深度学习给视频推荐带来的喜人成果“叫这一年,国际上的推荐系统会议RecSys也开始关注深度学习,并专门组织研讨会学习。从此,推荐系统插上了深度学习的翅膀。KiranR等人为了弥补冷启动造成的误差问题,提出一种新颖的基于混合式深度学习的推荐系统神经网络DNNRectlllO该模型利用一个具有非常深层神经网络的复杂体系结构,使用嵌入来学习用户和项目的非线性潜在因素,将深度学习特性和关于用户和项目的辅助信息相结合,以此来创建一个混合系统。算法可以调整学习率和权重衰减,并通过退出、正则化和提早停止来防止过度拟合。最后使用四种不同的数据集进行实验,实验将这一算法与启发式、基于邻居、基于机器学习和矩阵分解方法的大量技术进行比较,发现无论是在非冷启动还是冷启动情况下,DNNReC模型都优于现有的方法。ChengH-T等人发现在用户和项目之间的互动数据稀疏且排名较高时,带有嵌入功能的深度神经网络可能会过度概括并推荐相关性较低的项目,因此他们提出了一种既有广度又有深度的学习模型1皿。宽线性模型使用跨积特征变换记住稀疏特征交互,而深度神经网络可以通过低维嵌入来生成以前看不见的特征交互,为了兼顾记忆和概括,结合这两种模型的优点创新出一种新的模型。实验从应用程序获取和服务性能两方面对新模型进行评估,结果表明,应用获取率提高的同时较少了客户端延迟。YinH等人针对空间感知个人偏好的空间动态性、冷启动性和数据稀疏性等问题,提出了一种新的POI推荐模型,称作空间感知分层协作深度学习模型SH-CDU。该模型通过异质特征的深度表征学习和空间感知个人偏好的层次加性表征学习共同完成POls的深度表征学习;为了克服空间感知用户偏好建模中的数据稀疏性,以社会规范化和空间平滑的形式利用了目标区域公众的集体偏好和邻近区域用户的个人偏好;引入一种后期非线性特征融合策略,用来处理多模态异构特征。使用YelpFoursquare数据集进行仿真试验,由实验分析可知,该算法的邻域特征显示了最优的预测能力。NilaShiM等人利用一套机器学习技术,在旅游场景下开发了一套基于多准则CF的推荐方法"久该方法使用ANFlS和SVR作为预测技术,使用PCA作为主成分分析降维,使用自组织映射(SOM)和期望最大化(EM)作为两种著名的聚类技术,主要改进点是考虑先使用两种聚类方法进行数据聚类,再使用HGPAP作为集成方法获得高质量的聚类结果。为了对两个预测模型进行评估,在TriPAdViSor数据集上进行了一系列实验,通过MAPE、MAE、精度和Fl度量指标对推荐方法的效果进行了评价,实验分析结果表明,与其他方法相比,采用聚类集成方法和预测技术的推荐系统具有更高的预测精度。3南京邮电大学专业学位硕士研究生学位论文第一章绪论虽然深度学习给推荐技术带来了新思路,但是传统推荐模型依然有着自身的优势。深度学习有如下一些缺点:1)训练数据的需求量、计算量和运行时间消耗较大;2)对算力的要求高,普通CPU很可能满足不了运算要求;3)模型设计复杂,搭建新的算法和模型要投入的人力物力大;4)推荐结果的可解释性不高。基于以上的分析,传统推荐技术的研究还是有其必要性的。近年来,伴随着需求的深度挖掘,企业和学术界越发注重采集与用户项目相关的属性信息,试图利用诸如地理位置I、文本信息I等属性特征来更好地解决推荐系统面临的一些难题。LianD等人考虑到语义和负面抽样的问题,提出一个可扩展的基于隐式反馈的内容感知协同过滤框架ICCF;还开发了用于有效参数学习的坐标下降法,根据数据和特征大小进行线性缩放,并根据潜在空间的大小进行二次缩放I。研究团队还进一步建立了ICCF与图拉普拉斯正则化矩阵分解的关系来改善用户之间的移动相似性,同时将ICCF应用于大规模LBSN数据集的位置推荐。实验结果表明,通过比较不同加权方案对未访问位置的负偏好,发现面向用户的方案显然优于面向项目的方案,并且稀疏和排名第一的配置明显提高了推荐性能;通过研究用户配置文件和语义内容,发现它们可以改善热启动情况下的推荐并帮助解决冷启动问题;最后对所提出算法的效率和收敛性进行了实证研究,发现坐标下降法比交替最小二乘法收敛更慢,但是经过数十次迭代后,它们的推荐性能和目标值之间的差异很小,这意味着坐标下降法是学习参数的更好选择。王卫红等人针对矩阵数据稀疏性与算法可拓展性问题,提出一种改进型推荐算法,该协同过滤算法基于聚类和用户偏好1网。假设每个人有不同爱好,那么对于同一类项目的评分应该有所不同,在这一设定下,先构建评分矩阵,并引入用户对项目类型的平均评分,然后使用加权Sk)PeOne算法填充空白项,接着使用融入密度和距离的K-MeanS算法聚类用户,缩小相似用户的搜索空间,之后在目标用户所在簇计算相似度,获取邻居集预测评分。采用MovieLens数据集试验,发现在平均绝对偏差和均方误差两个评价指标上都有较好的效果。FoiISSF等人提出一种计算数据库元素之间相似度的通用过程U兀该过程基于随机遍历数据库的马尔科夫链模型,更准确地说,计算出的数量(平均通勤时间、图的Laplacian矩阵的伪逆等)在任意一对节点之间都有相似性,这些数量可在已连接图的任何一对元素之间提供相似性度量,然后用来比较属于不一定直接连接的数据库表的项。实验结果表明,该模型的相似性表现良好,非常适合“统计关系学习”框架,也可以用于计算文档或单词的相似度。陈曦等人着眼于高等教育本科教学场景,为了构建一个实用的课程知识图谱(KG)模型,融合了消歧方法和重要字段提取方法侬)。文章目标是发掘每个课程在知识层面的关联性,故从图谱结构和语义信息两个角度出发,分别使用基于邻节点和基于图谱表示学习的方法发掘5了课程在知识层面的关系。研究结果显示,作者提出的知识图谱将相似课程关联起来,可以帮助更准确地预测学生成绩。时宇岑等人发现,在开发者社区,提问然后回应这种经验交流方式受到许多开发人员的追捧,每当遇到开发或维护难题,开发者通过这种方式基本都能解决问题,由此可见,为开发者社区里的提问者及时准确地推荐问题回答者是有真实需求的L经过数据收集与分析,观察到社区存在用户标签自定义、不对称活跃对象、关键词集封闭等现象,导致相关问题在推荐后反馈延时。面对一系列难题,作者等人仔细分析用户之间的互动行为,利用社区注册用户存留的信息,建立跨社区的开发者网络;还提出基于重启随机游走的算法更新用户标签,利用TaXOnOmy技术使问题的查询范围增大。实验证明,算法在F-measure和NDCG度量上有良好表现,而且其他性能也得到了有效提升。1.3 主要研究内容从国内外研究现状来看,虽然基于深度学习的推荐系统优点明显,但劣势也很突出,所以传统推荐模型依然有广泛的应用空间和较大的研究价值。用户可能对不同类型的项目有不同的兴趣偏好,这会导致评分有类型差异,现在的算法大都没有考虑到该情况,使得评分预测还有提升空间。如何向用户推荐更符合其自身品味的产品,怎样更好地推动推荐技术的发展以迎合社会需求,本文就亟待解决的推荐问题给出自己的改进方案。本文的主要工作是:(1)探究用户对不同类别事物的偏好关系,在局部相似性原理的指导下,运用聚类把事物划分组别,深入调研后把标签因子作为聚类标准。又考虑到用户记忆变化,利用遗忘函数修正原始评分。最终提出了融合局部相似性与记忆因子的算法,用于填充矩阵,该算法简称LSWSOoLSWSO算法面向大数据环境,且计算逻辑复杂,对机器性能有要求,故在讨论后基于Spark特性设计了一套并行化方案。在MovieLens和TagGenome数据集上进行实验,结果显示,并行化算法提高了聚类的时效性,预测准确度也得到了提升,而且降低了数据稀疏。(2)基于LSWSO提出一种UserCF推荐算法,简称LSWSO-UserCFo在取得稠密且准确度有保障的评分矩阵组后,有机结合用户属性,利用新的相似度计算公式获取近邻,然后经预测评分、排序、选择操作向目标用户推荐项目。另外,还专门设计了一种解决新用户冷启动的推荐方案。LSWSo-USerCF算法涉及的遍历、相似度计算步骤多,相对耗时,而且考虑到开发环境的一致性,故它依旧在并行化平台Spark上进行实现和测试。经时间复杂度分析可知,算法适合离线计算。最终的测试实验显示LSWSo-UserCF算法有较好的推荐效果。(3)设计并尝试实现一个相对完备的音乐原型系统,旨在验证并行化LSWSO-UserCF7算法的实用效果。系统在后台自动采集用户与音乐的基本资料,并获取用户的打分评价信息,将它们作为推荐模型训练的数据来源,等到适合的时机再把推荐的音乐列表展示给用户。除了推荐功能,系统也提供了收藏、搜索等服务项目,还特别为管理员准备了管理平台。通过实践检验,基于SPark实现的推荐算法在应用上的表现还不错。1.4 论文组织结构论文共有六个章节,每个章节的内容安排如下:第一章绪论。详细介绍了推荐系统出现的背景和意义,然后阐述并分析了国内外的研究现状,总结了该领域的一些最新研究进展,接着提出本文的主要研究内容和组织结构。第二章推荐系统相关技术介绍。介绍了数据挖掘概念,尤其着重阐述了数据预处理方法和K-MeanS算法,又具体介绍了相似度计算方法,SlopeOne算法思想和优缺点,接着讲解了推荐系统理论知识,包括各种较为经典流行的推荐算法,最后对Spark平台进行介绍,并深入概述了核心概念。第三章基于局部相似性的SlopeOne算法。针对用户对不同项目的喜好有明显偏差的特点,引入局部相似性的概念,提出以标签因子为聚类标准;利用遗忘函数修正原始评分;使用WeightedSlOPeone填充分组后的评分矩阵,降低数据稀疏性。根据算法特征设计了基于Spark平台的并行化实现方案,并在仿真实验中讨论了各参数对于预测评分结果的影响,结果表明基于分布式环境的算法有较高的指标性能。第四章融合LSWSO的推荐算法及其并行化研究。将LSWSO应用到传统的User-CF,设计了LSWSO-UseiCF算法。当用户存在历史数据时,采用一般推荐方法,只不过为了使得相似用户更加可靠,在寻找邻居集时将用户自身属性也考虑在内。根据LSWSO设计了针对性极强的冷启动解决办法。算法复杂度分析发现算法是比较耗时的,还是需要并行计算环境的支撑。在SPark上的实验表明,并行算法对推荐精度、运行速度等方面的提升确实有一定帮助。第五章个性化音乐推荐原型系统。为了更好地检验LSWSO-UseiCF算法的推荐效果,专门开发了一个原型系统,将LSWSO-USerCF算法应用到系统的每日推荐模块。先对原型系统进行整体概括并分析需求,然后在此基础上从顶层设计系统,细分各个功能模块并规划数据库,接着分析推荐流程并完成界而可视化,最后对推荐的可靠性进行了测试。第六章总结与展望。对本文的研究工作进行概括,分析论文中算法相关的缺点并提出可行的解决思路,同时对未来推荐技术的改进和发展做出展望。8第二章推荐系统相关技术介绍本章先介绍了数据挖掘相关的知识,主要对数据标准化和聚类展开叙述,接着介绍了相似度计算方法和SlopeOne算法,以及推荐系统已有的理论,包括基于内容的推荐、协同过滤推荐和混合推荐,最后详细介绍了SPark平台的基础知识,包括一些底层抽象和设计理念。2.1 数据挖掘数据挖掘(DataMining)简单地讲,是从海量数据中提取出隐藏着的、现在未知但有很大价值的信息的过程PL原始数据来源不一,储存结构多样化,很可能出现字段缺失、数值失真等问题,要想从原始数据集中找出潜在的规律,就离不开对数据的探索和挖掘。个性化推荐123.24的目的性十分明确,它的诞生就是为了给人们带来更好的服务体验,进而帮助企业在商业竞争中脱颖而出,取得良好的经济效益。推荐系统的实现需要数据挖掘的支撑,在模型训练前,必须对数据做一些基础性工作,比如数据集分类、异常值过滤等操作,等到数据格式变得规整、结构相对统一以后,就能交给推荐模型一同处理,避免了可能出现的特殊情况的干扰。下面从数据预处理闿和聚类两个方向进行详细的介绍。(1)数据预处理数据建模前须经过预先处理,这是因为刚刚拿到的原始数据往往都是残缺的、不一致的,个别“脏数据”直接使用甚至还会污染分析结果,造成不可预知的影响。要想保证数据的可靠性,让分析结果尽可能精准,就必须进行数据预处理,常用的预处理方法包括抽样、去噪、离散化等,其中标准化操作的使用最为频繁,因此有必要熟悉标准化的各种方案。数据标准化就是将数据按照一定的比例缩放,使缩放后的值处在一个固定范围内,典型的处理方式就是数据的归一化,即将数据值全部映射到0到1之间,下面介绍两种归一化方法。a) Min-Max标准化利用样本集中的最大最小值进行线性变化,将原始值转换映射到。至IJI之间。假设原始数据样本为(肛工2,Xn),婷为标准化后的数据,具体计算如公式2.1所示。,X:-min(x)Xi=-77l-(2.1)max(x)-mn(x)b) Z-SCOre标准化利用样本集的均值和标准差进行数值缩放,使转换后的原始值落入一个特定区间。假设9X为样本集中的一个元素,M表示数据均值,。表示数据标准差,/为计算后的结果值,具体计算如公式2.2所示。(2)数据聚类聚类属于无监督学习,它通过相似度对物理的或抽象的对象进行划分,形成有价值的、内部事物紧密联系的若干组(簇集)26。数据集本身没有类别参考对象,是聚类算法人为指定了相似准则,通过相似性比较把所有数据进行划分归类,相当于给每个数据对象贴上一个对应的类标号。对于聚类产生的全部簇集,可以认为同组对象相似,不同组对象相异。一个组的内部数据集越是紧凑,或者它的簇中心与其他组的中心距离越远,说明聚类效果越棒。聚类分析可以作为推荐算法中一个独立的预处理步骤,帮助提升推荐效用。聚类方式主要有五类,分别是层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法以及用于高维数据的聚类算法272叫其中最经典的莫过于Macqueen提出的K-Means算法刖),它的基本执行步骤如下:a)利用随机函数从样本集中抽取K条记录,完成簇类中心初始化;b)计算各个样本与每个簇集中心的距离长度;c)遵循距离最近原则,将每个样本划分到不同的簇中;d)完成全部数据的划分后,开始更新K个簇类的中心;e)如果前后两次计算得到的簇中心距离值不大于给定的误差值,或者循环次数达到最大值,那么进入下一步,否则跳转到步骤b继续迭代;f)输出所有的簇类中心及其对应的数据集合,算法结束。K-MeanS算法执行的时间复杂度为。(TIKt),实现起来较为高效简洁(代表样本总数,K代表聚类形成的簇集个数,代表迭代次数)。该算法的缺陷主要是K值难以估计,一旦簇类个数没有选好,聚类效果就会大打折扣,因此聚类个数的选择至关重要。2.2 相似度的计算个体差异客观存在,搞清楚差异的大小有助于衡量事物之间的相似程度,所以,事物的相似性比较是不可或缺的,它是推荐引擎、异常检测、聚类分类等技术的底层基础。对象的特征表示是相似度计算的关键所在,决定着事物对比的方向,数据挖掘上下文中的相似度通常描述为距离,其大小直接影响到距离的远近。相似性的判断高度依赖于域和应用程序,例如,两种水果虽然生长方式不同,但它们可能因颜色、形状或口味接近而相似。10衡量个体差异的方法有很多,应该因地适宜地选择最切合的计算方式,以期在数据规模和时空开销这两者间取得平衡。常用的相似计算方法有欧氏距离网入曼哈顿距离、余弦相似度卬】、海明距离、杰卡德相似系数等,它们在聚类、近邻查找等多个场景下发挥着重要作用。下面介绍几个重要的计算方法,为方便解释说明,设定两个个体为X和匕它们都有维特征,其中X=QI,%2,.,Xn),Y=(y1,y2,.,y)>具体描述如下:(1)余弦相似度(CosineSimilarity,COS)sim(X,Y)cos=COSO =(2.3)式中,X和丫表示两个特征向量。利用几何中的夹角余弦来衡量两个个体方向之间的差异,夹角越小越相关。一般用于正空间向量的计算,结果映射到o范围内。(2)修正的余弦相似度(AdjustCosineSimilarity,ACOS)W_X®-x)(y-y)S加(X,y)A8s二心_(2.4)式中,北和盼别代表个体X和Y特征的平均值。余弦相似度只能分辨个体在维度方面的差异,没法度量每个维度数值的差异,比如用户对内容评分(5分制),若用户X和y对两个内容的评分为(1,2)和(4,5),使用余弦公式得到的结果为0.98,两者极为相似,与实际不符。出现误差的原因是余弦公式对数值不敏感,必须引入平均值来修正不合理的相似值。于是ACOS方法应运而生,采用新公式重新计算得到的结果为-0.8,相似度为负数且差异较大,该值显然更符合现实情况。(3)皮尔逊相关系数(PearSOnCOiTelationCoeffiCien3PCOSim(X,Y严=P_COV(X,丫)_讥(-勺)(2)(2.5)E勾D(X)5(F)式中,COV(X,Y)代表随机变量X和Y之间的协方差,OX和6代表样本标准差。数据符合正态分布,值为-1时表示完全负相关,0表示无关,1表示完全相关。(4)杰卡德相似系数(JaccardCoefficient)(2.6)S加(X,Y)Jaeaw=!、。丫!IXUyl式中,IXnYl代表共性特征,IXUYl代表两个个体所有的不重复特征。JaCCard系数主要用11于度量二值型数据的重叠程度,公式中X和丫的维度值都是二元的,因为个体的特征属性都由符号度量或布尔值标识,故无法判断差异大小。2.3 SlopeOne算法SlopeOne属于Item-Based协同过滤算法,它于2005年被Lemire教授P引提出,利用简单的线性回归模型预测用户对目标物品的评分,近似的,算法可以用/(%)=x+b的形式表示。用一个具体案例对原理进行解释说明。如表2.1评分数据所示,已知三个用户对三个物品的评分,其中“?”符号代表未知的用户评分,要求预测用户u3对物品。3的评分。对于Ol和03,有两个用户都进行了评分,那么这两个物品之间评分差的均值为(5-3)+(43)2=0.5,同理,。2和。3两个物品的评分差均值为1,根据SIoPeOne算法,得到用户u3对物品。3的预测评分为(2>05)+(3)(2+l)=LI7。表2.1用户-物品评分矩阵用户/物品(U0)olo2o3ul543u2493u323?SlOPee)ne算法巧妙借助了目标用户与其他用户对物品的评分差,虽然效果不错,但计算过程未考虑评分可信度,所有物品被同等对待,这在实际情况中容易受到用户极端打分的影响。相对而言,改进后的WeightedSk)Peone算法134哽加客观,表2.1所示案例重新计算得到的分数为2(2-0.5)+l(3-l)(2+l)=1.67°下面是加权后的算法步骤。(1)对于目标物品和其他物品,计算它们之间的评分差均值,记为评分偏差Z(RLRGClisii(2.7)num(ifj)式中,UiJ代表对物品,和/都评过分的用户集合,Rw和R切代表用户对物品i和)的评分,mzm(i,/)代表用户集合中的元素个数。(2)根据物品间的评分偏差和用户的历史评分,预测用户对未知物品项i的评分E(Rm-diS")xfU4m(i,j)Pre(NQ=-(2.8)2num(tj)jeN(u)式中,M)代表用户评分过的物品集合,由Sij代表物品,与)之间的评分偏差,即公式122.7所示内容。公式2.8将

    注意事项

    本文(基于Spark平台的推荐算法研究与应用.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开