1. 协同过滤
“协同过滤”就是协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。下面介绍基于用户的UserCF:
-
生成共现矩阵。假设有m个用户,n个物品,每个用户会对n个物品中的一个或者几个进行评分,未评分的物品分值就用问号表示,则所有m个用户对物品的评分可形成一个 m ∗ n m*n m∗n的评分矩阵,也就是协同过滤中的共现矩阵。
-
生成共现矩阵后,推荐问题就转换成了预测矩阵中问号的值的过程。
-
通过每个用户对所有物品的评分向量,利用余弦相似度、皮尔逊相关系数(可以引入物品平均分的方式减少物品评分)等,找到与需要推荐用户X最相似的Top n用户
-
利用用户相似度和相似用户评分的加权平均偶的目标用户的评价预测。下式中, w u , s w_{u,s} wu,s是物品u和用户s的相似度, u s , p u_{s,p} us,p是用户s对物品p的评分。
R u , p = ∑ s ∈ S ( w u , s ⋅ R s , p ) ∑ s ∈ S w u , s R_{u,p} = \frac{\sum_{s \in S}(w_{u,s} \cdot R_{s,p})}{\sum_{s \in S}w_{u,s}} Ru,p=∑s∈Swu,s