协同过滤需要注意的三点:
- gray sheep(有人喜欢追求特别,协同过滤一般只能从共同的人或物间找相似)
- shilling attack(水军刷好评导致数据错误,无法带来精确的推荐)
- cold start(冷启动,初次登陆网站,没有给商品打分,怎么推荐)
1.基于memory的CF
(1)基于用户的CF
Wu,v指的是两个用户之间的相似度
Pa,i指的是a用户对i商品的打分
4.67=用户1给所有商品打分的平均值,即(4+5+5)/3
(2)基于item的CF
计算列与列之间的相关性(商品与商品)
不同的Pa,i实现方法:
举例:
三种方法计算得到的lucy关于物品1的打分值是不同的
2.基于模型的CF
举例:朴素贝叶斯
分子的1和分母的5是拉普拉斯平滑,防止分数为0
对于打分问题,将like和dislike转换成两行,缺失值置为0,转换成二分类问题,对于一个商品,用户是like还是dislike?