论文部分内容阅读
新时代互联网与物联网技术飞速发展,人类产生的数据成指数式的增长。全球每天会产生大量的数据,如何快速的处理大数据为人类所用是我们亟待解决的问题,伴着大数据和数据挖掘技术不断的发展和成熟,我们处理数据的技术也日渐改善。推荐系统是一个根据用户的历史行为和平时的爱好信息,通过预测给目标用户推荐相关产品的一个应用。现在个性化推荐技术在我们生活中发挥着越来越重要的作用,并且被广泛的应用到电子商务、新闻推送、视频音乐的推荐等方面。在众多的分布式计算框架中,Spark所具有的高容错、可扩展和易用等特点,使它近年来备受关注。Spark是一种现在比较火的基于内存的通用并行化大数据计算引擎,因为它在迭代并行化方面的优势相当明显,因此被广泛地应用到大数据处理方面。本文主要研究了基于协同过滤的矩阵分解的交替最小二乘(ALS)算法,提出了一种ALS改进算法,并将其在Spark平台上进行实验。本文首先分析研究了 ALS算法原理,通过对它的特性的详细研究得出,Spark平台的并行性功能非常适合ALS算法的运行。我们在Spark平台上实现了 ALS算法,通过反复实验多组模型参数,多次比较性能指标MSE、RMSE、MAE的值,得到了 ALS算法的最优参数模型。紧接着我们分析了 ALS算法存在的一些问题,大量的迭代运算致使收敛速度较慢是ALS算法的一个不足,因此我们对此问题进行了改进,本文利用非线性共轭梯度算法(NCG)专门求解优化约束问题的特点来优化ALS算法,提出了一种ALS加速算法,通过融入NCG算法来减少ALS算法的迭代次数来加速收敛,以进一步减少推荐的时间,提高我们实时推荐的效率。最后,我们通过分析与实验证明,融合进NCG算法的改进ALS算法,迭代次数和运行时间都明显减少,预测准确度有了一定提升。性能指标RMSE的值相比ALS改善了 1.32%。