推荐系统实践 总结

推荐系统三种常见算法

基于领域的协同过滤算法

基于用户的协同过滤 UserCF

给用户推荐和他兴趣相似的其他用户感兴趣的物品

  1. 首先整理用户到物品的兴趣度数据
  2. 根据不同用户对物品的感兴趣程度,计算用户之间的相似性
  3. 对于每个用户,取出最相似用户的 k 个用户,对每个物品,累计这些用户对每个物品的感兴趣程度

缺点是无法解释为什么推荐相关物品。

基于物品的协同过滤 ItemCF

给用户推荐和他之前喜欢物品相似的物品

  1. 整理用户到物品的兴趣度数据
  2. 根据对两个物品感兴趣的人的交集,计算物品之间的相似度
  3. 根据物品的相似度和用户的历史行为给用户生成推荐列表。对一个用户,要知道他对某位置物品的感兴趣程度,只要找到这个物品的 K 个最相近的物品,和其已经感兴趣的每个物品的相似性累加

可以提供推荐某个物品的解释,即解释用户之前看过、买过某个物品,所以推荐了这个新的物品。

活跃用户对物品相似度的贡献应该小于不活跃的用户。对异常活跃的用户,甚至需要忽略掉他的行为,以免造成无关的推荐。

ItemCF的相似度矩阵按最大值归一化

两种协同过滤的比较

UserCF 的推荐结果着重于反映和用户兴趣相似的小群体的热点,ItemCF 的推荐结果着重于维系用户的历史兴趣。

UserCF… Read the rest