论文部分内容阅读
从上世纪90年代开始,互联网迅速发展,人类社会进入到了一个信息网络几乎无处不在的时代。知识和信息在互联网上迅速传播,人们可以从互联网上获取海量的数据,这极大存进了社会的进步与发展。但是渐渐地人们却发现他们越来越难以从海量的数据中找到自己感兴趣的信息。在这种情况下,推荐系统应运而生。推荐系统的任务就是联系信息消费者和信息生产者。一方面帮助信息消费者发现对自己有用的信息,另一方面帮助信息生产者将其生产的信息方便快捷地展现在对该信息感兴趣的信息消费者面前,从而实现信息消费者和信息生产者两者的双赢局面。推荐系统根据其所提供服务对象的数量又分为个性化推荐和组推荐。顾名思义,个性化推荐是为个人提供推荐服务,而组推荐是为一个群组提供推荐服务。:而个性化推荐和组推荐的核心部分均是推荐算法。本论文中分析了现有主要的推荐算法,介绍了它们的实现原理,指出它们的不足。为了获取更好的推荐效果,论文中深入分析了SlopeOne算法,并针对该算法的缺陷,提出了以下三点改进措施:第一点,针对Slope One算法没有考虑用户相似性且使用传统相似度度量方法改进会增加算法的复杂度这一缺陷,本文引入了一种新的相似度度量方法,.并以此提出了基于用户兴趣局部相似性的SlopeOne算法。第二点,Slope One算法在预测评分过程中会用与目标项目完全不同的资源产生预测评分,由此会造成较大的误差。为了解决这个问题,本论文引入k-means项目聚类算法改进Slope One算法,先通过k-means聚类算法对项目分簇,进而提出了k-means项目聚类Slope One算法。第三点,Slope One算法在数据稀疏的情况下推荐效果并不好。多维稀疏矩阵一般通过降维来降低数据集的稀疏度,矩阵分解方法是矩阵降维过程中常用的方法,而且矩阵分解方法还具有过滤数据中噪音的功能,这样既可以有效地对数据进行泛化,又起到了降维减少运算量的目的。因此本论文引入了矩阵分解常用方法中之一的奇异值分解来改进Slope One算法,提出了基于奇异值分解的Slope One算法。论文通过实验验证了三个改进后的Slope One算法的推荐效果。实验结果表明相较于原Slope One算法和传统协同过滤算法,本文提出的Slope One改进算法有效地提高了推荐的精确度。