协同过滤简介

来源:互联网 发布:淘宝刷空间人气 编辑:程序博客网 时间:2024/05/22 04:26

推荐系统(recommender system)的目标是根据网络用户的个性化需求将最符合用户兴趣的信息挑选出来并且推荐给用户,随着互联网上信息的增长和用户个性化需求的提高,推荐系统的应用日益广泛,成为电子商务、社会网络、视频/音乐点播等主流Web 2.0 服务的核心技术[1].协同过滤(collaborative filtering)是推荐系统所采用的最为重要的技术之一,其原理是根据相似用户的兴趣来推荐当前用户没有看过但是很可能会感兴趣的信息,所基于的假设是,如果两个用户兴趣类似,那么很有可能当前用户会喜欢另一个用户所喜欢的内容.协同过滤算法的优势在于不受被推荐的物品的具体内容的限制、与社会网络的紧密结合以及推荐的准确性.协同过滤或者是其他类型的推荐系统普遍面临的挑战是如何面对互联网环境下的海量数据做出准确的推荐,其难点有3 [2]:(1)数据量巨大,需要推荐算法能够在尽可能短的时间内作出响应;(2)数据的稀疏性,这看起来与数据量巨大是矛盾的,但是相对于系统中为数众多的用户和待推荐的物品,我们能够利用的表示用户兴趣的信息(一般是用户对自己感兴趣信息的评分)实际上是非常稀疏甚至有限的;(3)数据的动态性,推荐系统中不断有新的数据加入,而且用户的兴趣和关注点也在不断地改变,用户在使用的过程中还在不断增加新的训练数据,要求推荐算法能够快速、准确地进行更新.

对于前两个困难,许多研究者提出了很多利用聚类或者说数据降维的方法来解决,这其中包括基于概率的模型,如隐含主题分析(probabilistic latent semantic analysis,简称 PLSA)[3]、隐含Dirichlet 分析(latent Dirichletallocation,简称LDA)[4];基于矩阵分解的模型,如奇异值分解(singular value decomposition,简称 SVD)[5]、非负矩阵分解(non-negative matrix factorization,简称NMF)[6].还有能够同时在多个维度进行聚类的联合聚类(co-clustering)方法[2,7-9],也逐渐在推荐系统中得到了应用.这些方法能够有效地降低训练数据的维度,有些还能有效地降低数据的稀疏性,相对于传统的直接计算用户或者物品相似度的方法,在提高准确性的同时,减小了推荐,也就是在线(online)的计算量.然而,以上这些方法都存在离线(offline)计算量较大、模型更新较为困难的缺陷,所以不能很好地解决前述第3 个问题

1 0
原创粉丝点击