Shusen Wang推荐系统学习 --召回 ItemCF

发布于:2025-07-15 ⋅ 阅读:(22) ⋅ 点赞:(0)

学习b站up主Shusen Wang的推荐系统

基于物品的协同过滤(ItrmCF)

中心思想就是,如果你喜欢a,b,c三件商品,d商品与abc相似,那么你也可能喜欢d商品
在这里插入图片描述
对此就要计算物品的相似程度

物品相似度

物品相似度的思想是,一个物品的相同用户很多就意味着这两件物品是相似的
sim(i1,i2):=∣V∣∣W1∣∣W2∣ sim(i_{1},i_{2}) := {\frac{\big|\mathcal{V}\big|}{\sqrt{\big|\mathcal{W}_{1}\big|\big|\mathcal{W}_{2}\big|}}} sim(i1,i2):= W1 W2 V
w1是喜欢物品1的用户集合,w2是喜欢物品2的用户集合,v是两个集合的交集
该公式没有考虑用户的喜欢程度
sim(i1,i2)=[∑v∈Vlike(v,i1)⋅like(v,i2)][∑u1∈W1like2(u1,i1)][∑u2∈W2like2(u2,i2)] sim(i_{1}, i_{2}) = \frac{\left[\sum_{v \in \mathcal{V}} like(v, i_{1}) \cdot like(v, i_{2})\right]}{\left[\sqrt{\sum_{u_{1} \in \mathcal{W}_{1}} like^{2}(u_{1}, i_{1})}\right] \left[\sqrt{\sum_{u_{2} \in \mathcal{W}_{2}} like^{2}(u_{2}, i_{2})}\right]} sim(i1,i2)=[u1W1like2(u1,i1) ][u2W2like2(u2,i2) ][vVlike(v,i1)like(v,i2)]
like(v,i)like(v,i)like(v,i)代表了用户对i的喜爱程度,其实观察公式,他和余弦相似度的公式长得很像,其实就是余弦相似度。他的值越接近1代表两个物品越相似,越接近-1代表两个物体越不相似

ItemCF的完整流程

离线计算和在线预测

离线计算

离线计算建立物品到物品的索引,一个物品对应前k个与他最相似的物品

在线推理

线上给出用户最近交互的几件商品,建立用户id到物品的索引,把与最近交互的几件物品的相似物品推荐给用户

Swing模型

如果某两件物品对应的用户重复度过高,可能存在以下情况:
两个视频,一个是关于鸡蛋涨价的,一个是关于军事战争的,但是这两个视频都被发送到一个微信群中,微信群中的用户都观看了这两个视频,导致用户重复度过高,推荐系统误认为这两个视频是相似的。
因此我们要减少这部分用户造成的影响,就提出了Swing模型。
sim(i1,i2)=∑u1∈V∑u2∈V1a+overlap(u1u2) sim(i_{1},i_{2}) = \sum_{u_1\in\mathcal{V}}{\sum_{u_2\in\mathcal{V}}{\frac{1}{a+overlap(u_{1}u_{2})}}} sim(i1,i2)=u1Vu2Va+overlap(u1u2)1
设用户u1喜爱的物品为j1,用户u2喜欢的物品为j2
两个用户的重合度就为
overlap(u1u2)=J1∩J2overlap(u_1u_2) = J_1\cap J_2overlap(u1u2)=J1J2
两个用户的重合度高,就代表这两个用户可能来自同一个小团体,要减少这部分人的权重


网站公告

今日签到

点亮在社区的每一天
去签到