推荐算法课程笔记-第二课

学习王树森老师的《推荐算法课程》,自用笔记,欢迎讨论

基于物品的协同过滤

ItemCF 的原理

ItemCF 的原理:如果用户喜欢物品1,而且物品1与物品2相似,那么用户很可能喜欢物品2。
在这里插入图片描述
物品的相似度:两个物品的受众重合度越高,两个物品相似。
在这里插入图片描述
上述公式未考虑用户对物品喜欢的程度,下述公式考虑用户喜欢的程度:

在这里插入图片描述

ItemCF 召回的完整流程

  1. 事先做离线计算,建立两个索引:
    a. “用户->物品”索引:用户感兴趣的物品列表
    b. “物品->物品”索引:每个物品最相似的k个物品列表
  2. 线上召回
    a. 给定用户id,根据“用户->物品”索引,找到用户近期感兴趣的物品last-n
    b. 根据“物品->物品”索引,找到topk相似物品
    取回相似物品n*k, 用公式预估用户对物品的兴趣分数
    c. 返回分数最高的100个物品做为该召回通道输出

索引的意义在于避免枚举所有的物品,离线计算量大,线上计算量小。

SWing召回通道

Swing召回的原理

期望两个物品重合的用户广泛且多样,因此需要降低小圈子用户群体的重合权重。小圈子用户同时交互两个物品不能说明物品相似。
在这里插入图片描述
在这里插入图片描述

Swing召回与ItemCF召回的区别

Swing 模型,它跟 ItemCF 非常类似,唯一的区别在于计算物品相似度的方式不同。
在这里插入图片描述

基于用户的协同过滤

UserCF原理

UserCF 的原理:如果用户1跟用户2相似,而且用户2喜欢某物品,那么用户1很可能喜欢该物品。

推荐系统如何找到兴趣相似的用户?

  • 点击、点赞、收藏、转发等物品有很大重合
  • 关注的作者有很大的重合

UserCF实现

一、计算用户相似度
在这里插入图片描述
上述公式结果是介于0和1之间的,数值越接近1表示两个用户越相似。上述公式同等对待热门和冷门的物品;越热门的物品越无法反应用户的兴趣,对计算相似度则没有用;考虑物品冷门和热门的影响相似度公式可以变换为在这里插入图片描述
在这里插入图片描述
nl越大则表示物品越热门则权重越小,nl越小则表示物品越冷门则权重越大。

二、根据下图方式逐一计算用户对候选物品的兴趣分数,取topK物品进行召回
在这里插入图片描述

UserCF召回的完整流程

  1. 事先做离线计算:建立“用户—>物品”的索引,记录用户交互过的物品,给定用户id可以找到他近期感兴趣的物品列表
  2. 事先做离线计算:建立“用户—>用户”的索引,给定用户id,可以快速找到跟他最相似的k个用户
  3. 线上做召回:给定用户id,通过“用户—>用户”的索引找到topk相似用户,对于top-k相似用户,通过“用户—>用户”的索引找到用户近期感兴趣的物品列表;对于召回的nk个相似物品,用公式预估用户对每个物品的兴趣分数,返回分数最高的100个物品,作为召回结果
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值