基于物品的协同过滤
基于物品的协同过滤算法的核心思想就是:给用户推荐那些和他们之前喜欢的物品相似的物品。
ItemCF算法并不是直接根据物品本身的属性来计算相似度,而是通过分析用户的行为来计算物品之间的相似度。
对于推荐阶段,可分为以下几步:
- 寻找与被推荐用户喜爱物品集最相似的N个物品
- 计算用户对这N个物品的感兴趣程度列表并逆序排列
考虑以下情形:
| 用户 | 购买商品 |
|---|---|
| A | {a,b,d} |
| B | {c,d,e} |
| C | {a,b,c} |
| D | {b,e} |
如何计算商品之间的相似度?
我们想知道当购买商品a时,如果有很多用户购买了商品b,那是不是可以就此认为商品a与b是相似的呢?(比如说甲新购买了手机,乙买了手机还买了手机壳,我们是否可以推荐手机壳给用户甲呢?)
先写出每个用户的共现矩阵C
如 用户A:

C[i][j]代表的含义是同时喜欢物品i和物品j的用户数量。
易知这是一个对称矩阵
我们将每个用户的共现矩阵叠加,能够得到全部用户的完整的共现矩阵。

相似度的计算
同现相似度
ωi,j=∣N(i)∩N(j)∣∣N(i)∣ \omega_{i,j}= \frac{|N(i)\cap N(j)|}{|N(i)|} ωi,j=∣N(i)∣∣N(i)∩N(j)∣

本文介绍了基于物品的协同过滤算法,通过用户行为计算物品相似度,涉及共现矩阵、同现相似度的计算方法,以及为避免热门物品影响而采用的IUF参数。算法还考虑了活跃用户对结果的影响并进行了归一化处理。

3万+

被折叠的 条评论
为什么被折叠?



