基于Spark平台的协同过滤算法的研究与实现
发布时间:2017-03-31 00:25
本文关键词:基于Spark平台的协同过滤算法的研究与实现,,由笔耕文化传播整理发布。
【摘要】:随着互联网技术的快速发展,大数据时代已经到来。面对互联网庞大而丰富的数据资源,如何从中获取有价值的信息已经成为一个急需解决的问题。个性化推荐系统的诞生就是为了解决这样的信息过载问题,推荐系统可以根据用户历史行为数据挖掘出相关信息并主动给用户做产品或服务推荐。在传统的协同过滤推荐算法研究中,单机平台需要耗费大量的时间来处理海量的用户行为数据,单机算法并行化是解决这个问题的一个方案。Spark是一个特别擅长于迭代式的机器学习运算的基于内存的分布式计算框架,把需要重复迭代运算的推荐算法在Spark平台并行化实现,将大大缩短算法的运行时间。本论文基于Spark平台对几个协同过滤算法进行了原理分析与并行化实现。首先对Spark平台和常用推荐算法进行了介绍,着重介绍了基于物品的协同过滤算法以及基于隐语义模型的协同过滤算法,为算法的并行化实现奠定基础。对于基于物品的协同过滤算法,本论文基于Spark平台实现了皮尔逊相关系数、修正的余弦相似度、加入偏置信息的相似度等几种物品相似度计算方法,对评分预测公式加入惩罚因子解决当邻域信息不足时评分预测精度降低的问题。对于基于隐语义模型的协同过滤算法,本论文使用交替最小二乘法求解矩阵分解问题,并利用Spark平台的GraphX组件对用户-物品关系建立二分图模型,通过并行图计算的方式交替更新用户因子矩阵和物品因子矩阵,提高了算法的运行效率。最后,本论文把基于物品的协同过滤算法和基于隐语义模型的协同过滤算法进行模型融合,设计了一个用于融合多个协同过滤算法的线性模型,并利用最小二乘法求解权重,根据数据自动训练出各个算法的重要程度,使得融合后的模型显著降低了评分预测的误差。在公开数据集MovieLens上进行多组对比实验表明,即使在单个节点上运算,利用GraphX实现的基于交替最小二乘法的协同过滤算法运行时间也远远少于传统的单机算法实现。此外,对评分预测公式加入惩罚因子惩罚邻域信息能够提高基于物品的协同过滤算法评分预测的精度。最后,对两个协同过滤算法进行模型融合能在现有算法的基础上进一步提高算法的精度,使得多个协同过滤算法组合能够适应不同的场景。
【关键词】:协同过滤算法 Spark平台 图计算 模型融合
【学位授予单位】:华南农业大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP391.3
【目录】:
- 摘要3-4
- Abstract4-8
- 1 引言8-13
- 1.1 研究背景8-9
- 1.2 研究目的与意义9-10
- 1.3 相关研究现状10-11
- 1.3.1 推荐系统的研究现状10-11
- 1.3.2 Spark平台的研究现状11
- 1.4 论文结构安排11-13
- 2 Spark分布式计算框架13-19
- 2.1 Spark简介13-14
- 2.2 Spark系统架构14-16
- 2.3 Spark编程模型16-18
- 2.4 本章小结18-19
- 3 协同过滤算法相关技术19-31
- 3.1 推荐系统应用19-20
- 3.2 推荐算法分类20
- 3.3 推荐系统评估20-22
- 3.4 基于物品的协同过滤算法22-25
- 3.4.1 构建用户-评分矩阵23
- 3.4.2 物品相似度计算23-25
- 3.4.3 预测评分25
- 3.5 基于隐语义模型的协同过滤算法25-29
- 3.5.1 随机梯度下降法28
- 3.5.2 交替最小二乘法28-29
- 3.5.3 随机梯度下降法与交替最小二乘法比较29
- 3.6 本章小结29-31
- 4 基于Spark平台的协同过滤算法并行化及优化31-49
- 4.1 基于Spark平台推荐算法并行化设计31-32
- 4.2 基于物品的协同过滤算法并行化实现32-38
- 4.2.1 物品相似度度量32-34
- 4.2.2 评分预测计算34-35
- 4.2.3 基于Spark平台的实现35-38
- 4.3 基于交替最小二乘法的协同过滤算法并行化实现38-44
- 4.3.1 并行算法设计38-40
- 4.3.2 GraphX图计算框架40-42
- 4.3.3 基于Spark平台的实现42-44
- 4.4 协同过滤算法模型融合44-47
- 4.4.1 建立模型44-46
- 4.4.2 基于Spark平台的实现46-47
- 4.5 本章小结47-49
- 5 实验设计及结果分析49-60
- 5.1 实验环境49-50
- 5.2 实验数据50-51
- 5.3 实验设计51-52
- 5.4 实验结果及分析52-59
- 5.5 本章小结59-60
- 6 总结与展望60-62
- 6.1 工作总结60-61
- 6.2 工作展望61-62
- 致谢62-63
- 参考文献63-65
本文关键词:基于Spark平台的协同过滤算法的研究与实现,由笔耕文化传播整理发布。
本文编号:278479
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/278479.html