论文部分内容阅读
随着互联网的发展和网络的普及,海量信息应运而生,世界进入了一个大数据的时代。面对着目不暇接、过载的信息量,如何更加有效的获取有用的信息,寻找自己感兴趣的信息成为了一个新的并且亟待解决的问题。当人们主动想查找信息时,搜索引擎可以在一定程度上解决用户的需求,可是并不是最好的方案,一方面当无法准确的描述关键词的时候,搜索的结果会大打折扣;另一方面,无法满足人们希望被动的获取和推送的信息的目的。推荐系统的产生革命性的提供了一种很好的解决方案。它可以通过推荐算法根据用户的历史行为分析,建立模型,从而主动推送给用户感兴趣的信息。推荐系统已经广泛的应用于各个领域,比如电商网站的商品推荐,音乐和电影的推荐,新闻资讯的推荐等。这项技术的应用一方面可以提高系统的用户体验,增加用户对系统的黏性;另一方面也能够借此吸引更多的用户。一个推荐系统的核心在于采用了什么样的推荐算法,在这个领域的研究中主要针对推荐算法的改进和优化。现阶段,推荐算法种类较多,我们可以将其分为包括基于内容的推荐算法等在内的三种算法,其中基于协同过滤的推荐算法是其中使用最广,最受欢迎的算法,其利用用户历史对项目的评分生成项目评分矩阵,并计算用户或者项目的相似度进行推荐,但是存在数据稀疏、对于新用户和新项目的冷启动问题和扩展性差的问题,无法满足业务的需要和互联网的发展。而随着机器学习技术的发展和完善,传统的推荐系统与机器学习的结合也使推荐的效果得以大大提升。本文为了解决上述问题,做出了一定的改进,主要包括两个方面的内容:首先,传统的K-means算法在计算相似度时使用欧式距离,存在弊端,导致聚类结果不够准确。本文在计算用户之间的相似度的过程中引入信任关系和时间衰减,既考虑了评分的影响,也考虑了信任关系和兴趣变化,可以得到更好更符合真实情况的聚类结果。在结合聚类结果找到相似度最高的最近邻居,根据相似度进行加权计算预测评分。其次,受限玻尔兹曼机RBM模型应用在协同过滤问题上取得了不错的结果,本文将RBM模型和经过改进的K-means算法得到的预测结果进行融合,一方面通过改进的K-means算法进行聚类将用户划分成不同的簇,当预测评分时先判断所属的簇,可以在一定程度上减少计算量,提高算法的效率;另一方面RBM算法仅考虑用户对项目的评分,没有考虑用户之间的相似性,融合两个算法的结果可以提高算法的准确性。