论文部分内容阅读
在大数据应用中,个性化推荐问题一直备受工业界和学术界的关注。在当前的个性化推荐领域中,推荐算法的分布式并行化问题和混合推荐问题一直是研究的热点。随着信息时代的到来,各行各业的数据量呈爆炸式增长,传统单机的推荐算法无法解决大数据问题,设计并实现可扩展的分布式推荐算法迫在眉睫。同时基于单一指标实现的推荐系统,并不能满足用户的多样性需求,因此不能保证推荐的质量,基于多指标融合的混合推荐系统逐渐成为研究的重点。为了研究推荐算法的分布式问题,文中提出了基于排序的分布式协同过滤算法DistCofiRank,首先设计了DistCofiRank算法的分布式方案,使得DistCofiRank算法在运行中各个计算节点之间的通信量尽量最少,从而保证算法的分布式运行性能。然后理论分析了DistCofiRank算法的目标函数优化求解策略,即BMRM算法。在运用BMRM算法求解DistCofiRank算法的目标函数时,文中提出了采用匈牙利分配算法求解目标函数的次梯度,运用了投影梯度法更新算法的学习参数。同时根据DistCofiRank算法的分布式设计方案,本文基于Spark平台设计和实现了DistCofiRank算法,实现了DistCofiRank算法的四个模块:训练模块、预测模块、模型保存与加载模块和评估模块。通过大量的实验表明,随着算法输入数据量的增大,通信的开销会影响并行算法的加速比,但随着计算量的增大,分布式算法DistCofiRank的加速比逐渐接近线性加速比,该算法具有较好的并行性和可扩展性,同时实验表明DistCofiRank算法对于测试集也具有较好的评估结果。由于单一评估指标的推荐算法提供的推荐列表并不能满足用户的多样性需求,为此本文提出了基于PredictionIO框架的ALS和DistCofiRank的混合推荐模型。其中ALS算法是基于评分的协同过滤算法,该算法可以为用户提供一个良好的推荐列表,却不能将与用户相关度最高的项目排在列表的最前端,然而DistCofiRank算法是基于排序的协同过滤算法,可以解决ALS算法存在的不足。本文采用分层混合策略融合ALS算法和DistCofiRank算法,不仅保证为用户提供一个良好的推荐列表,还使得与用户相关度最高的项目排在列表的最前端。基于这种混合推荐模型,本文还设计与实现了一个电影推荐系统,以可视化的方式展示推荐算法的推荐效果,该电影推荐系统个性化推荐部分的推荐算法引擎可以自由切换,方便研究者对不同推荐算法的研究和对比。