协同过滤Collaborative filtering
ItemCF
基础公式
Sij:物品i & 物品j 的相似度。
分子:浏览过物品i 与 浏览过物品j的用户的交集。
分母:浏览过物品i 与 浏览过物品j的用户的并集。(惩罚热门物品的相似度)。
Puj: 推荐物品j给用户u的分值。
Sij:物品i & 物品j 的相似度。
ruj:用户u对物品j的评分
(一般取用户最近浏览过的物品i(5个左右), 每个物品取相似度最高的k个物品)
公式升级1:降低活跃用户在相似度计算中的权重
计算物品i和j相似度,分母不变,分子:用户u同时喜欢i和j,如果用户喜欢的物品越多,该用户对相似度计算贡献越小。(log在分母)
公式升级2: 用户在不同时间对物品兴趣的衰减
计算物品i和j相似度,分母不变,分子:随着时间贡献改变
UserCF
基础公式
Suv:用户u & 用户v的相似度。
分子:用户u & 用户v浏览过的物品的交集。
分母:用户u & 用户v浏览过的物品的并集。(惩罚活跃用户)。
Pui: 推荐物品i给用户u的分值。
Suv:用户u & 用户v的相似度。
rvi:用户v对物品i的评分
(取用户u最相近的k个用户计算,并且用户u对i物品没有浏览过)
公式升级1:降低热门物品在相似度计算中的权重
计算用户uv的相似度,分母不变,分子:ui表示物品i被用户浏览的个数。
公式升级2: 用户在不同时间对物品兴趣的衰减
计算物品i和j相似度,分母不变,分子:随着时间贡献改变
ItemCF VS UserCF
1.实时性:ItemCF用户有新行为一定会导致推荐结果发生改变
2.新用户/新物品的推荐:UserCF新用户在较少的行为下不能进行个性化推荐,因为Simuv是离线计算的。UserCF可以对新物品进行推荐,ItemCF不能。
3.推荐理由的可解释性:ItemCF好
适用场景:
1.性能:UserCF适合用户较少,ItemCF适合物品较少
2.个性:ItemCF好,长尾物品丰富