协同过滤(Item cf)

背景

  • 信息过载,用户需求不明确
  • 强依赖于用户行为

工业界主流落地场景

  • 信息流
  • 电商
  • o2oLBS

个性化召回算法协同过滤理论与理论升级

Item cf

  • 给用户推荐他之前喜欢的物品相似的物品
  • 如何衡量相似?

基于用户行为,如果喜欢2个物品的用户重合度越高,那么2个物品也就越相似。

  • 如何衡量喜欢?

看用户是否真实点击,在电商场景下,更看重实际转化(实际消费购买);信息流场景下,更看重真实的点击(基于一定时长下的停留)

协同过滤(Item cf)

Item cf公式

 

协同过滤(Item cf)

 

根据用户行为计算出用户相似度矩阵:

  • 分子:u(i)表示对item (i)有过行为的用户集合 ,u(j)表示对item (j)有过行为的用户集合 ,分子表示user的重合程度,重合度越高,越相似。
  • 分母:归一化(举例:对item(i)有过行为的用户2个,对item(j)有过行为的用户3个协同过滤(Item cf),物理意义:惩罚的热门物品与其他物品的相似度,因为热门物品对应的user倒排会非常长造成了与很多物品都有重合,如果分母除以一个很大的数,将相似度的数值趋于0。

 

协同过滤(Item cf)

 

协同过滤(Item cf)表示user对 i的行为得分,协同过滤(Item cf)表示物品的相似度得分

协同过滤(Item cf)对user进行item(j)的推荐,根据item(i)来完成推荐的,item(i)是user行为过的物品并且取与item(i)最相似的top k个(一般50个),

Item cf公式升级1(工业界)

  • 理论意义:活跃用户应该被降低在相似度公式中的贡献度

协同过滤(Item cf)

 

(解释例如:在电商系统中,user A 是批发商,他购买了很多物品,可能有啤酒、书,但这都不能真实反映他的兴趣;user B 只买了啤酒和书,能完全反映他的兴趣,我们在计算啤酒和书的相似度的时候,按照之前的相似度公式,user A 和user B 对啤酒和书的相似度的贡献是一样的,显然是不合理的,我们要降低A用户在计算中的贡献度。)

分子:N(u)表示用户u所行为过的item总数,如果用户行为过的总数越多,对相似度贡献越低。

Item cf公式升级2(工业界)

  • 理论意义:用户在不同时间对item的操作应给予时间衰减惩罚

    协同过滤(Item cf)

因为在很多场景中,用户的行为是随时间有变化的,如在信息流场景,30天前看过的短视频,30天后就不一定喜欢,我们在相似度矩阵计算的时候假定用户的行为可以反映用户的兴趣,所以需要给予时间衰减降权。

分子:每个用户对相似度的贡献也发生了变化,由协同过滤(Item cf)协同过滤(Item cf)决定,协同过滤(Item cf)是指用户对item(i)和item(j)所行为的时间的差异

协同过滤(Item cf)

如果用户对item(i)和item(j)所行为的时间的差异越小,协同过滤(Item cf)越逼近1,如果差异越大,那么贡献越低。