基于Spark的推荐算法研究

来源 :西南交通大学 | 被引量 : 0次 | 上传用户:ixiay
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
互联网的飞速发展给人们带来了信息红利,但随着网络数据量的迅速膨胀,用户想要第一时间获得符合自己口味的信息或者服务变得十分困难。推荐算法在这种背景下应运而生,它可根据用户行为日志对此用户后续可能需要的物品或服务进行预测,然后由推荐系统推荐给该用户。随着用户行为日志的增多,一般推荐算法由于硬件的限制,不能快速地进行推荐。分布式框架的出现为推荐算法的进一步发展提供了契机,其中Spark计算框架引入了分布式数据集RDD和常用算子,使得分布式计算无论是算法的实现还是模型的训练都具有优势。但是目前国内外对基于Spark的推荐算法的研究并不多,所以本文在这种场景下对推荐算法以及基于Spark的并行推荐算法进行了研究及算法实现。本文所做工作如下:1.对基于模型的ALS推荐算法进行了改进,提出了一种结合主题模型的推荐算法。通过改进的LDA算法对项目特征文件进行建模,提取文档-主题概率分布。然后提出KL-散度度量方式进行项目相似度的计算,通过最大阈值及邻居个数的统计方式获取项目高相似度矩阵。再将高相似度矩阵和原评分矩阵进行结合得到预测评分,然后将预测评分填入原评分得到训练集。最后利用ALS算法训练模型并预测评分。改进算法将项目文件处理后填充到原数据集中,解决了项目冷启动问题并缓解了数据稀疏问题。通过实验的验证,改进算法的预测误差低于ALS算法以及其他相关的协同过滤算法。2.将改进算法进行并行化,提出了一种结合主题模型的并行推荐算法,该算法基于Spark分布式数据集RDD以及Spark算子实现。首先分析了Spark LDA算法和Spark ALS算法的源码,并证明其并行的可行性。然后在Spark计算框架上利用Spark算子将SparkLDA算法和SparkALS算法进行了集成。作者首先根据电影特征文件爬取电影影评信息,并行分词后输入SparkLDA算法,得到文档-主题分布RDD;再通过笛卡尔积算子和join算子结合原评分元组RDD,得到预测评分RDD;然后利用union算子将预测评分RDD和原评分RDD组合成训练集RDD;最后输入Spark ALS算法并行计算得到模型。通过预测误差的实验,证明了改进的并行算法的预测准确率高于SparkALS算法,并且在KL-散度度量相似度的条件下最为明显。通过在多个节点的并行算法以及单节点串行算法实验的验证,表明了改进的并行算法在大数据量时具有良好的并行效果,在一定程度上解决了低时效问题。
其他文献
积极提高自身新闻意识,熟练应用新媒体技术,是促进电视台记者快速获取新闻线索的有效途径.本文从新闻线索存在的特点入手,就电视台记者如何在自媒体环境下有效获取新闻线索做
目的:分别采用肿瘤细胞系和转化细胞系摸索软琼脂克隆形成实验的适宜条件,并对冬凌草甲素(oridonin,ORI)的抑瘤性和没食子酸乙酯(ethyl gallate,EG)促瘤性进行评价。方法:1)摸索
<正>近期,教育部印发《义务教育学校管理标准》,首次全面系统地梳理了我国义务教育学校管理的基本要求,其中再次明确"家校配合保证每天小学生10小时、初中生9小时睡眠时间。"
在建筑工程中,多层建筑基本上采用砖混结构较多,而砖混结构易出现窗台八字裂缝、混凝土楼面裂缝及顶层墙体裂缝等现象,既影响美观又造成墙面渗漏影响使用,主要针对砖混结构墙
季晓南指出,当前,我国经济发展正处于转型升级的关键时期,国有企业改革也处于攻坚克难的重要关口,通过财务管理创新推进国企改革,深化国企改革,是值得研究的课题,也是一项切实可行的