论文部分内容阅读
目前,人类正处于一个信息技术和互联网高速发展的信息过载时代。作为一种有效缓解信息过载问题的工具,推荐系统个性化地引导用户选择满足其需求的项目。推荐系统能够将项目精准地匹配给对应的用户,主要采用对用户的行为数据进行计算,从而获得用户的偏好需求。推荐系统通过有效地将用户需求与最优产品进行映射,在提高用户获取、保留和满意度方面发挥了重要作用。推荐算法决定了推荐系统的质量,优秀的推荐算法可以减少运算时间和内存消耗,并将符合用户偏好的项目推荐给目标用户。因此,推荐系统具有广泛的应用价值,对其核心推荐算法的研究具有意义。其中,最广泛使用的推荐算法是协同过滤算法。协同过滤算法的推荐结果丰富并且易于发现用户的兴趣偏好,但存在严重的数据稀疏、扩展性差等问题。数据稀疏问题导致在计算用户相似性时准确率较低,从而使得算法的推荐准确性下降。针对传统协同过滤方法数据稀疏和扩展性差的不足,本文提出基于局部优化奇异值分解和聚类的协同过滤算法。该算法采用局部优化的奇异值分解和K-Means++聚类对用户-项目评分矩阵中的相似用户进行聚类并降低维度,利用基于巴氏系数的相似性计算方法来减少数据稀疏对相似性计算的影响。本文主要工作及研究内容包括以下几个方面:首先,针对传统相似性计算方法只利用共同评分项目的评分来计算相似度而不适用于稀疏数据的缺点,提出一种基于巴氏系数的相似性计算方法。改进的相似性计算方法利用巴式系数计算项目之间的全局相似性,同时也将每一对评分之间的局部相似性考虑在内。本文利用用户的全部评分信息来计算拥有较少共同评分项目或没有共同评分项目的用户之间的相似性。实验结果表明在稀疏的数据集中基于巴氏系数的相似性计算方法的性能优于传统相似性计算方法。其次,基于奇异值分解的协同过滤推荐方法可以有效缓解用户-项目评分矩阵稀疏对推荐精度的影响。但是在利用随机梯度下降法进行求解的过程中,随着误差下降速度逐渐降低需要大量的迭代次数。本文利用近似差分矩阵来表示评分矩阵的局部结构并作为一个新的目标函数,从而达到局部优化的效果。实验结果表明在达到相同预测效果时,基于奇异值分解的推荐方法始终需要比基于局部优化奇异值分解的推荐方法更多的迭代次数。最后,为了提高基于局部优化奇异值分解的协同过滤推荐方法的推荐速度,本文利用K-Means++技术对降维后的矩阵进行聚类。K-Means++聚类技术可以缩小邻居集查找范围,提高推荐速度。局部优化的奇异值分解和K-Means聚类对用户-项目评分矩阵中的相似用户进行聚类并降低维度,基于巴氏系数的改进相似性计算方法用于计算用户之间的相似度确定用户的邻居集。基于局部优化奇异值分解和K-Means++聚类的协同过滤算法与其他方法相比不仅考虑到如何从根本上改善评分矩阵稀疏问题,也考虑到如何解决相似性计算方法对共同评分项目的依赖;并以不增加算法时间复杂度为前提,提高算法的推荐速度。为了验证本文所提方法的有效性,在Movie Lens数据集上进行了对比试验。实验结果表明,本文方法可以有效缓解数据稀疏问题对推荐性能的影响,有效地提高推荐准确性。