推荐系统六

                                                                             基于协同的推荐

今天看一个CF,

• 优点

– 充分利用群体智慧

– 推荐精度高于CB

– 利于挖掘隐含的相关性

• 缺点

– 推荐结果解释性较差

– 对时效性强的Item不适用

– 冷启动问题 

有两种协同算法:

• User-Based CF

• Item-Based CF

什么是 User-Based CF :

假设:一个用户点外卖点了披萨和意大利面,另外有一个用户也点了披萨和意大利面,其中一个用户多点了一个可乐,这时候就将可乐同事推荐给这个用户。也就是用户喜欢那些跟他有共同喜好的用户喜欢的东西。

• User-Based CF

  喜羊羊 光头强 铁甲小宝 火影忍者 海贼王
A 5 1 2 2
B 1 5 2 5 5
C 2 3 5 4
D 4 3 5 3

 用户分别对五部影片进行打分,分值为1-5,?表示没看过,通过UI*IU=UU得到下表

  A B C D
A   0.59 0.73 0.91
B 0.59   0.97 0.77
C 0.73 0.97   0.87
D 0.91 0.77 0.87  

怎样从上面的矩阵变成下面的矩阵

比如给用户C推荐 光头强  r(C,光头强)=0.97*5+0.87*3/(0.97+0.87)=4.05

 Item-Based CF

--用户喜欢跟他过去喜欢的物品相似的物品,比如,用户过去曾经买过一台电脑,会给他推荐电脑包

 Item-Based CF

  喜羊羊 光头强 铁甲小宝 火影忍者 海贼王
A 5 1 2 2
B 1 5 2 5 5
C 2 3 5 4
D 4 3 5 3
  喜羊羊 光头强 铁甲小宝 火影忍者 海贼王
喜羊羊   0.57 0.99 0.69 0.63
光头强 0.57   0.80 0.99 0.98
铁甲小宝 0.99 0.80   0.84 0.95
火影忍者 0.69 0.99 0.84   0.99
海贼王 0.63 0.98 0.95 0.99  

此时想给c推荐光头强的概率为r(c,光头强)=0.57*2+0.99*5+0.80*3+0.98*4/(0.57+0.99+0.80+0.98)=3.72

比较:

  User-Based Item-Based
性能 适合用户较少,否则计算代价太大 适合物品数小于用户数,物品太多,计算物品相似度矩阵代价太大
领域 时效性强,用户个性化兴趣不太明显的领域 物品丰富,用户个性化兴趣明显的领域
实时性 用户有新行为,不一定造成推荐物品变化 用户有新行为,推荐物品一定变化
冷启动

 在新用户对很少的物品产生行为后,不 能立即对他进行个性化推荐,因为用户 相似度表是每个一段时间离线计算的 新物品上线后一段时间,一旦有用户对 物品产生行为,就可以将新物品推荐给 和对它产生行为的用户兴趣相似的其他 用户

新用户只要对一个物品产生行为,就可以 给他推荐和该物品相关的其他物品 但没有办法在不离线更新物品相似度表的 情况下将新物品推荐给用户

推荐理由 很难提供令用户信服的推荐解释 利用用户的历史行为给用户做出推荐解释,可以令用户比较信服

猜你喜欢

转载自blog.csdn.net/huaicainiao/article/details/89535672