当前位置: 首页 > news >正文

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

学习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):=W1W2V
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
两个用户的重合度高,就代表这两个用户可能来自同一个小团体,要减少这部分人的权重

http://www.dtcms.com/a/270979.html

相关文章:

  • RabbitMQ 高级特性之事务
  • 心智模式:觉察思维定势,突破决策盲区
  • 【Ubuntu22.04安装ROS Noetic】
  • Android Notification 通过增加addAction 跳转回Service重新执行逻辑
  • 沃丰科技海外客服系统综合解决方案
  • 36氪专访丨乐橙CEO谢运:AI科技下的业务创新与长期主义下的品牌坚守
  • CD47.【C++ Dev】list的模拟实现(2)
  • RAG实战之dify源码文件解析-pdf文件解析流程
  • STM32F103ZET6的USART 中断配置详解
  • 自动化测试报告优化:jenkins+jmeter定制化HTML报告生成
  • 【LeetCode】大厂面试算法真题回忆(102)--集五福
  • Java学习第二十七部分——bug检修
  • 前端接收流式数据demo,并用markdown解析数据,包括EventSource和fetch两种方式
  • LeetCode 138题解 | 随机链表的复制
  • 力扣 hot100 Day39
  • 【保姆级喂饭教程】Windows下安装Git Flow
  • 电网的智能觉醒——人工智能重构能源生态的技术革命与公平悖论
  • JAVA策略模式demo【设计模式系列】
  • 自动化Trae Apollo参数解释的批量获取
  • 苍穹外卖项目日记(day04)
  • ASP.NET Core 8 轻松配置Serilog日志
  • 智慧码头船舶网络部署5G工业路由器无人值守场景应用
  • 无人设备遥控器之双向通讯技术篇
  • 【机器人】Aether 多任务世界模型 | 4D动态重建 | 视频预测 | 视觉规划
  • C++并发编程-11. C++ 原子操作和内存模型
  • Linux驱动学习day20(pinctrl子系统驱动大全)
  • Ubuntu防火墙缺失问题(unit firewalld.service could not be found, ubuntu 22)
  • EFK9.0.3 windows搭建
  • Linux系统管理实战:生成大文件与定位磁盘挂载点
  • 专题:2025母婴行业洞察报告|附60+份报告PDF汇总下载