论文部分内容阅读
如今,随着互联网的开放式发展,互联网中的信息已经开始指数级的增长,信息过载的问题愈发严重。如何在大量的信息中筛选出用户需要的信息成为当今互联网急待解决的问题。推荐系统就是在这样的背景下诞生的,推荐系统能帮助用户挖掘海量数据里深层次潜在的信息,帮助用户快速获取需要的内容,从而被广泛应用。随着推荐系统的发展,其核心的推荐算法也层出不穷。因此本文选择推荐算法作为研究的重点之一。首先,分析了在推荐算法中比较成熟的协同过滤。然而协同过滤技术中,由于其过度依赖于用户项目的评分矩阵,在有效数据不足的条件下,由于数据稀疏推荐系统的准确度会随之下降。本文为解决协同过滤技术中的评分矩阵的稀疏性问题,采用了基于ALS的矩阵分解算法,将稀疏的评分矩阵分解为稠密的特征矩阵,从而解决了矩阵稀疏性的问题。另一方面,由于单个推荐算法在面对复杂的应用环境时,推荐效果往往无法让人满意。本文采用结合了用户协同过滤与项目协同过滤的混合协同过滤推荐算法,通过动态调整算法权重,保证算法的即时性。通过实验的比较可以得出,本文设计的混合推荐算法对比传统的协同过滤具有较好的准确度。其次,对目前混合推荐算法的特点进行分析,虽然混合推荐有较好的准确性,但是算法过程的融合导致算法复杂度增加。因此本文将推荐算法与Spark分布式平台进行了结合,将推荐算法中复杂的相似度计算过程进行并行化,提高了算法的计算效率。通过Movie Lens的数据集合实验证明,混合推荐算与Spark分布式平台具有比较好的并行性能,同时也凸显了Spark分布式平台的优势。最后,通过深入的研究了推荐算法和分布式平台的相关知识后,针对协同过滤的问题提出了并行混合协同过滤推荐算法,并将算法与Spark分布式平台相结合,提高算法运算效率。实验证明,混合推荐算法与Spark分布式平台的结合具有较好的推荐质量和较高的运算效率。