前言:
由于UserCF的局限性和瓶颈,亚马逊、奈飞等公司基本不使用UserCF算法,而是采用了另外一种ItemCF,也叫基于物品的协同过滤。
ItemCF:
该算法和UserCF大体一致,也是先得到用户-物品矩阵,以用户为行,物品为列,可得到m*n的矩阵向量。
物品i和物品j的相似度计算和上一篇文章描述的一致,最终可得到物品之间的相似度。
因为物品数量较少,所以计算效率也得到了提升,最终可以得到一个n*n的矩阵,代表了每个物品与其他物品之间两两的相似度。
应用:
①计算物品两两的之间的相似度,构建n*n维矩阵
②通过日志分析得到用户对物品集的喜爱【也叫用户正反馈物品集】
③得到每个用户正反馈物品的相似TopN物品【按照物品相似度排序】
③如果某个物品p在不单存在于一个正反馈物品的相似列表,那么该物品的最终相似度如下:
R(u,p)是该物品p最终的评分
H是该用户正反馈物品的集合
W(p,h)是物品p和物品h的相似度
R(u,h)是用户u对物品h的已有评分
R
u
,
p
=
∑
h
∈
H
(
W
p
,
h
⋅
R
u
,
h
)
R_u,_p = \sum{_h\in_H(W_p,_h · R_u,_h)}
Ru,p=∑h∈H(Wp,h⋅Ru,h)
结束:
ItemCF节省了计算资源的同时,根据用户正反馈行为进行推荐用户喜欢的物品,目前基本都是基于ItemCF实现的协同过滤
本人也是小白,该开始学习推荐,大家有什么想法可以在评论区交流🌹🌹🌹