推荐系统学习笔记

一、传统模型演进史

1. 协同过滤(CF)

利用user-item交互矩阵(m x n维, 一般用户数m远大于商品数n),生成user向量和item向量。

  • UserCF
    • 通过当前用户topk相似用户对待预测商品的评分加权平均得到,具有社交性、适合热点追踪。
    • 需要维护 m 2 m^2 m2级别的用户相似度矩阵。
    • 用户的购买历史数据大多稀疏,因此用户相似度计算不可靠。
  • ItemCF:
    • 通过当前用户最喜爱topk的商品,搜索其他相似商品,生成推荐列表。具有明显的兴趣类别特征。

2. 矩阵分解(MF)

业务数据为交互矩阵 D m × n D_{m\times n} Dm×n。注意消除打分偏差(用户给分偏好、评分体系均值等)

  • 特征值分解:仅用于方阵,无法用于推荐
  • 奇异值分解:要求原始矩阵稠密、计算复杂度高
  • 梯度下降:目标函数为使user向量 p u \boldsymbol p_u pu和item向量 q u \boldsymbol q_u qu点积尽可能逼近对应的交互评分 r u i r_{ui} rui
    m i n q , p ∑ ( r u i − q i ⋅ p u ) + λ ( ∣ ∣ q i ∣ ∣ + ∣ ∣ p i ∣ ∣ ) 2 min_{\boldsymbol{q,p}} \sum(r_{ui} - \boldsymbol q_i\cdot \boldsymbol p_u) + \lambda(||\boldsymbol q_i|| + ||\boldsymbol p_i||)^2 minq,p(ruiqipu)+λ(qi+pi)2

3. 逻辑回归(LR)

  • 步骤:

    1. 将用户特征转换成数值向量
    2. 确定优化目标(点击率、购买率)
    3. 训练、预测排序
  • 公式:
    f ( x ) = 1 1 + e − ( w ⋅ x + b ) f(\boldsymbol x)=\frac{1}{1+e^{-(\boldsymbol{w\cdot x} + b)}} f(x)=1+e(wx+b)1
    arg max ⁡ w ( f ( x ) ) y ( 1 − f ( x ) ) 1 − y \argmax_{\boldsymbol w}(f(\boldsymbol x))^y(1-f(\boldsymbol x))^{1-y} wargmax(f(x))y(1f(x))1y

  • 缺点:无法进行自动特征交叉、筛选等操作。存在辛普森悖论

4. 特征交叉模型(POLY2、FM、FFM)

  • POLY2
    P O L Y 2 ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n w h ( j 1 , j 2 ) x 1 x 2 POLY2(\pmb w, \pmb{x})=\sum^n_{j_1=1}\sum^n_{j_2=j_1+1}\pmb{w}_h(j_1,j_2)\pmb{x_1}\pmb{x_2} POLY2(www,xxx)=j1=1nj2=j1+1nwwwh(j1,j2)x1x1x1x2x2x2
  • FM
  • FFM

5. 集成学习模型(GBDT+LR)

6. 分段线性模型(LS-PLM)

通过聚类分片,在不同分段类使用LR, 实现整体上的非线性

二、深度学习模型演进史

三、业务关键问题

2.1 冷启动

2.2 数据稀疏

2.3

QA

  1. POLY2算法中,两个特征交叉为什么可以直接用乘法?与后深度学习中的各类向量乘法有什么关系?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值