论文部分内容阅读
随着信息技术的飞速发展,互联网上的数据正在以前所未有的速度快速累积,海量数据会导致严重信息过载问题,个性化推荐是解决该问题的有效途径之一。在大数据场景下,推荐系统通常需要处理大规模高维稀疏数据。在各种推荐算法中,基于矩阵分解的协同过滤算法在处理这类数据时具备较高精度与良好的扩展性,因而被广泛研究与使用。但将矩阵分解技术应用于大规模隐式反馈数据时,会出现以下三个问题:首先,隐式反馈推荐中内在缺乏负反馈信息,直接基于已有隐式数据进行模型构建无法有效反应用户偏好信息。其次,由于需要从缺失数据中获取负反馈信息,而缺失数据通常比已有数据多几个数量级,这会极大增加优化算法时间复杂度。最后,有限的单机计算资源会极大限制大规模推荐数据的处理效率。为了解决上述问题,本文深入研究了基于矩阵分解的分布式协同过滤算法,并提出了相应改进算法,具体如下:
(1)为了解决隐式反馈推荐中单类问题以及模型训练效率低的问题,本文提出了一种基于用户活跃度和项目流行度的权重矩阵分解(user-activity and item-popularity weighted matrix factorization,UIWMF)推荐算法。UIWMF算法采用了一种基于用户活跃度和项目流行度的缺失数据权重策略,相对于传统的一致缺失数据权重策略,能够更加有效从缺失数据中获取负反馈信息,从而获得更高的推荐精度。此外,为了提高UIWMF的模型训练效率,本文提出了一种基于循环坐标下降的快速矩阵分解优化算法,通过巧妙地设计缓存矩阵避免了大量重复计算,从而有效提升了算法的训练效率。
(2)为了打破传统单机的资源限制,本文基于Spark提出了一种高效的分布式UIWMF(distributed UIWMF,DUIWMF)算法。DUIWMF采用一种基于出入块的分布式缓存策略,能有效避免传统广播通信策略中需要传输无用和重复特征向量的问题,从而能显著降低通信开销,提升模型训练效率。
本文在阿里云E-MapReduce上基于三个公共推荐数据进行了全面的实验。实验分为两部分,第一部分对UIWMF算法有效性进行验证,通过与多个基准的矩阵分解隐式反馈算法进行对比分析,实验结果表明了UIWMF算法在推荐精度上的优势。第二部分将DUIWMF算法与两个基准的分布式推荐算法进行对比分析,验证了DUIWMF算法的高效性,此外,还通过大量的实验验证了DUIWMF的可扩展性。
(1)为了解决隐式反馈推荐中单类问题以及模型训练效率低的问题,本文提出了一种基于用户活跃度和项目流行度的权重矩阵分解(user-activity and item-popularity weighted matrix factorization,UIWMF)推荐算法。UIWMF算法采用了一种基于用户活跃度和项目流行度的缺失数据权重策略,相对于传统的一致缺失数据权重策略,能够更加有效从缺失数据中获取负反馈信息,从而获得更高的推荐精度。此外,为了提高UIWMF的模型训练效率,本文提出了一种基于循环坐标下降的快速矩阵分解优化算法,通过巧妙地设计缓存矩阵避免了大量重复计算,从而有效提升了算法的训练效率。
(2)为了打破传统单机的资源限制,本文基于Spark提出了一种高效的分布式UIWMF(distributed UIWMF,DUIWMF)算法。DUIWMF采用一种基于出入块的分布式缓存策略,能有效避免传统广播通信策略中需要传输无用和重复特征向量的问题,从而能显著降低通信开销,提升模型训练效率。
本文在阿里云E-MapReduce上基于三个公共推荐数据进行了全面的实验。实验分为两部分,第一部分对UIWMF算法有效性进行验证,通过与多个基准的矩阵分解隐式反馈算法进行对比分析,实验结果表明了UIWMF算法在推荐精度上的优势。第二部分将DUIWMF算法与两个基准的分布式推荐算法进行对比分析,验证了DUIWMF算法的高效性,此外,还通过大量的实验验证了DUIWMF的可扩展性。