1>基于用户属性的推荐:根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。系统首先会根据用户的属性建模,比如用户的年龄,性别,兴趣等信息。根据这些特征计算用户间的相似度。比如系统通过计算发现用户A和C比较相似,就会把A喜欢的物品推荐给C。
优势:
a 不需要历史数据,没有冷启动问题
b 不依赖于物品的属性,因此其他领域的问题都可无缝接入。
不足:
算法比较粗糙,效果很难令人满意,只适合简单的推荐
2>基于内容的推荐:使用物品本身的相似度而不是用户的相似度。系统首先对物品的属性进行建模,实际应用中,只根据类型显然过于粗糙,还需要考虑演员,导演等更多信息。通过相似度计算,发现电影A和C相似度较高,因为他们都属于爱情类。系统还会发现用户A喜欢电影A,由此得出结论,用户A很可能对电影C也感兴趣。于是将电影C推荐给A。
优势:
对用户兴趣可以很好的建模,并通过对物品属性维度的增加,获得更好的推荐精度
不足:
a 物品的属性有限,很难有效的得到更多数据
b 物品相似度的衡量标准只考虑到了物品本身,有一定的片面性
c 需要用户的物品的历史数据,有冷启动的问题
3>基于关联规则的推荐:主要是挖掘一些数据的依赖关系,典型的场景就是“购物篮问题”,通过关联规则的挖掘,我们可以找到哪些物品经常被同时购买,或者用户购买了一些物品后通常会购买哪些其他的物品。
4>协同过滤:是利用集体智慧的一个典型方法(如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐,而我们一般更倾向于从口味比较类似的朋友那里得到推荐)。
三步骤:收集数据(用户的历史行为数据)——找到相似用户和物品(计算用户间以及物品间的相似度)——进行推荐(分为基于用户、基于物品的协同过滤)
基于用户的协同过滤——基于用户属性的推荐比较
都是计算用户的相似度,并基于“邻居”用户群计算推荐,但它们所不同的是如何计算用户的相似度,基于用户属性的机制只考虑用户本身的特征,而基于用户的协同过滤机制可是在用户的历史偏好的数据上计算用户的相似度,它的基本假设是,喜欢类似物品的用户可能有相同或者相似的口味和偏好。计算上,就是将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度。
‚ 基于物品的协同过滤——基于内容的推荐比较
都是基于物品相似度预测推荐,只是相似度计算的方法不一样,前者是从用户历史的偏好推断,而后者是基于物品本身的属性特征信息。计算上,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。
对于物品 A,根据所有用户的历史偏好,喜欢物品 A的用户都喜欢物品 C,得出物品 A 和物品 C 比较相似,而用户 C 喜欢物品 A,那么可以推断出用户 C 可能也喜欢物品 C。
Item CF 从性能和复杂度上比 User CF 更优,原因:对于一个在线网站(飞猪),用户的数量往往大大超过物品的数量,同时物品的数据相对稳定,因此计算物品的相似度不但计算量较小,同时也不必频繁更新。内容内在的联系是很重要的推荐原则,比基于相似用户的推荐原则更加有效。比如在购书网站(飞猪)上,当你看一本书(一个酒店)的时候,推荐引擎会给你推荐相关的书籍(酒店),这个推荐的重要性远远超过了网站首页对该用户的综合推荐。可以看到,在这种情况下,Item CF 的推荐成为了引导用户浏览的重要手段。
ƒ 基于模型的协同过滤推荐
基于样本的用户喜好信息,训练一个推荐模型,然后根据实时的用户喜好的信息进行预测,计算推荐。
协同过滤的优势:
a 它不需要对物品或者用户进行严格的建模,而且不要求物品的描述是机器可理解的,所以这种方法也是领域无关的。
b 这种方法计算出来的推荐是开放的,可以共用他人的经验,很好的支持用户发现潜在的兴趣偏好
不足:
a 方法的核心是基于历史数据,所以对新物品和新用户都有“冷启动”的问题。
b 推荐的效果依赖于用户历史偏好数据的多少和准确性。
c 在大部分的实现中,用户历史偏好是用稀疏矩阵进行存储的,而稀疏矩阵上的计算有些明显的问题,包括可能少部分人的错误偏好会对推荐的准确度有很大的影响等等。
d 对于一些特殊品味的用户不能给予很好的推荐。
e 由于以历史数据为基础,抓取和建模用户的偏好后,很难修改或者根据用户的使用演变,从而导致这个方法不够灵活。
5>混合推荐机制
1. 加权的混合(Weighted Hybridization): 用线性公式(linearformula)将几种不同的推荐按照一定权重组合起来,具体权重的值需要在测试数据集上反复实验,从而达到最好的推荐效果。
2. 切换的混合(Switching Hybridization):前面也讲到,其实对于不同的情况(数据量,系统运行状况,用户和物品的数目等),推荐策略可能有很大的不同,那么切换的混合方式,就是允许在不同的情况下,选择最为合适的推荐机制计算推荐。
3. 分区的混合(Mixed Hybridization):采用多种推荐机制,并将不同的推荐结果分不同的区显示给用户。其实,Amazon,当当网等很多电子商务网站都是采用这样的方式,用户可以得到很全面的推荐,也更容易找到他们想要的东西。
4. 分层的混合(Meta-Level Hybridization): 采用多种推荐机制,并将一个推荐机制的结果作为另一个的输入,从而综合各个推荐机制的优缺点,得到更加准确的推荐