1. 协同过滤
“协同过滤”就是协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。下面介绍基于用户的UserCF:
生成共现矩阵。假设有m个用户,n个物品,每个用户会对n个物品中的一个或者几个进行评分,未评分的物品分值就用问号表示,则所有m个用户对物品的评分可形成一个的评分矩阵,也就是协同过滤中的共现矩阵。
生成共现矩阵后,推荐问题就转换成了预测矩阵中问号的值的过程。
通过每个用户对所有物品的评分向量,利用余弦相似度、皮尔逊相关系数(可以引入物品平均分的方式减少物品评分)等,找到与需要推荐用户X最相似的Top n用户
利用用户相似度和相似用户评分的加权平均偶的目标用户的评价预测。下式中,是物品u和用户s的相似度,是用户s对物品p的评分。
userCF主要有两大缺点,(1) 在互联网场景下,用户数量远大于商品数量,而且还会持续增加,这导致用户相似度矩阵的存储开销很大;(2) 用户的历史数据很稀疏,找到相似用户的准确度很低。
由于上面两大缺点,Amazon最终没有采用该方法,而是采用了ItemCF。ItemCF的计算过程和UserCF类似,但是在应