2. 进化之路

1. 演化关系图

2. 协同过滤 CF

  • UserCF (社交特性, 新闻推荐 & 及时热点)

    • 用户相似度: 余弦相似度、pearson、引入物品平均分

    • 结果的排序: top k 相似用户 => 加权平均 Ru,p=sS(wu,sRs,p)sSwu,sR_{u,p}=\frac{\sum_{s\in S}(w_{u,s}\cdot R_{s,p})}{\sum_{s\in S}w_{u,s}}

    • 缺点: a. 相似度矩阵 O(n2)O(n^2), b. 用户行为稀疏

  • ItemCF (兴趣稳定, 风格/类型相似)

    • 相似度: Ru,p=hH(wp,hRu,h)R_{u,p}=\sum_{h\in H}(w_{p,h}\cdot R_{u,h})

  • 后续发展

    • 泛化能力较弱,头部效应明显 => 矩阵分解 (隐含兴趣/特征)

    • 无法引入 U,I,C 特征信息 => 逻辑回归

3. 矩阵分解 MF

  • 算法: 共现矩阵 Rm,n=用户矩阵 Um,k×物品矩阵 Vk,n共现矩阵\ \mathbf{R}_{m,n}=用户矩阵\ \mathbf{U}_{m,k}\times物品矩阵\ \mathbf{V}_{k,n}

    • 预估评分: r^ui=qiTpu\hat{r}_{ui}=q_i^T p_u

    • k 越大,表达能力强,泛化能力弱,求解复杂度高

  • 求解

    • 特征值分解: 要求方阵

    • 奇异值分解: 要求矩阵稠密, O(mn2)O(mn^2)

    • 梯度下降: minq,p(u,i)K(ruiqiTpu)2+λ(qi2+pu2)\min_{q^*,p^*} \sum_{(u,i)\in K} (r_{ui}-q_i^Tp_u)^2 + \lambda(||q_i||^2+||p_u||^2)

  • 消除 UI 打分偏差

    • 偏差向量: rui=μ+bi+bu+qiTpur_{ui}=\mu+b_i+b_u+q_i^Tp_u

    • 目标函数: minq,p,b(u,i)K(ruiμbubiqiTpu)2+λ(qi2+pu2+bu2+bi2)\min_{q^*,p^*,b^*} \sum_{(u,i)\in K} (r_{ui}-\mu-b_u-b_i-q_i^Tp_u)^2 + \lambda(||q_i||^2+||p_u||^2+b_u^2+b_i^2)

  • 优点

    • 泛化能力强,解决数据稀疏问题

    • 空间复杂度低,O(n2)O((n+m)×k)O(n^2) \rightarrow O((n+m)\times k)

    • 扩展性/灵活性,类似 Embedding 思想,便于结合 NN

  • 局限

    • 无法引入 U,I,C 特征信息

    • 冷启动,无法有效推荐

4. 逻辑回归 LR

  • 问题: CTR 预估

  • 模型: f(x)=11+e(wx+b)f(x)=\frac{1}{1+e^{-(wx+b)}}

  • 训练: J(w)=1mi=1m(yilogfw(xi)+(1yi)log(1fw(xi)))J(w)=-\frac1m \sum_{i=1}^m(y^i\log f_w(x^i)+(1-y^i)\log(1-f_w(x^i)))

  • 优点

    • 融合不同特征,全面的推荐结果

    • 数学含义支撑,GLM 伯努利分布

    • 可解释性强

    • 工程化的需要

  • 局限

    • 表达能力不强

    • 无法进行特征交叉、特征筛选

5. FM、FFM

  • POLY2

    • 模型: POLY2(w,x)=j1=1n1j2=j1+1nwh(j1,j2)xj1xj2POLY2(w,x)=\sum_{j_1=1}^{n-1}\sum_{j_2=j_1+1}^{n}w_{h(j_1,j_2)}x_{j_1}x_{j_2}

    • 缺陷

      • one-hot 编码稀疏,特征交叉更加稀疏,大部分交叉特征无法收敛

      • 参数量 O(n)O(n2)O(n)\rightarrow O(n^2)

  • FM

    • 模型: FM(w,x)=j1=1n1j2=j1+1n(wj1wj2)xj1xj2FM(w,x)=\sum_{j_1=1}^{n-1}\sum_{j_2=j_1+1}^{n}(w_{j_1}\cdot w_{j_2})x_{j_1}x_{j_2}

    • FM 为每个特征学习了一个 "隐权重向量" => 内积作为权重

    • 优点

      • 参数量/训练复杂度 O(n2)O(nk)O(n^2)\rightarrow O(nk)

      • 解决数据稀疏性问题,泛化能力提高 (虽然降低精确记忆能力)

      • 梯度下降,容易部署

  • FFM

    • field-aware: 特征域感知 (一组 one-hot 特征向量)

    • 模型: FFM(w,x)=j1=1n1j2=j1+1n(wj1,f2wj2,f1)xj1xj2FFM(w,x)=\sum_{j_1=1}^{n-1}\sum_{j_2=j_1+1}^{n}(w_{j_1,f_2}\cdot w_{j_2,f_1})x_{j_1}x_{j_2}

    • 复杂度: O(kn2)O(kn^2) > FM

6. GBDT+LR

  • GBDT 特征转换

    • 决策树深度 => 特征交叉阶数

    • 容易过拟合,丢失数值信息,效果不一定比 FFM 好

  • 开启趋势

    • 特征工程模型化,端到端

    • 网络结构、Embedding 层

7. LS-PLM

  • 模型结构

    • Large Scale Piece-wise Linear Model: 大规模分段线性模型

      • MLR, Mixed Logistic Regression, 混合逻辑回归

    • 模型: f(x)=i=1mπi(x)ηi(x)=i=1meμixj=1meμjx11+ewixf(x)=\sum_{i=1}^m \pi_i(x)\cdot\eta_i(x)=\sum_{i=1}^m \frac{e^{\mu_i\cdot x}}{\sum_{j=1}^m e^{\mu_j\cdot x}} \cdot \frac{1}{1+e^{-w_i\cdot x}}

    • 思想

      • 样本聚类分片: softmax 多分类, m = 12

      • LR CTR 预估

  • 优点

    • 端到端的非线性学习能力,全局模型 => 不同 应用领域/业务场景

    • 模型的稀疏性增强 (L1),部署更加轻量级

  • 可以看作,加入了 attention 机制的 3-layer NN

8. 总结

  • 矩阵分解,隐向量思想,Embedding

  • FM,特征交叉,深度学习模型

  • LS-PLM,三层神经网络

  • GBDT,特征工程模型化

Last updated