推荐系统基础知识——逻辑回归模型族、因子分解机模型族、组合模型

逻辑回归模型族

LR

  • 流程

    • 将用户年龄、性别、物品属性、物品描述、当前时间、当前地点等特征转换成数值型特征向量

    • 确定逻辑回归优化目标(以优化“点击率(Click Through Rate, CTR)”为例),训练模型

    • 将特征向量输入模型得到点击物品概率,并根据概率排序得到推荐列表

  • 形式化定义

    • 特征向量

      x = ( x 1 , x 2 , … , x n ) T \boldsymbol{x}=\left(x_{1}, x_{2}, \ldots, x_{n}\right)^{\mathrm{T}} x=(x1,x2,,xn)T

    • 整体形式

      f ( x ) = 1 1 + e − ( w ⋅ x + b ) f(x)=\frac{1}{1+\mathrm{e}^{-(w \cdot x+b)}} f(x)=1+e(wx+b)1

    • 目标函数

      { P ( y = 1 ∣ x ; w ) = f w ( x ) P ( y = 0 ∣ x ; w ) = 1 − f w ( x ) \left\{\begin{array}{l} P(y=1 \mid \boldsymbol{x} ; \boldsymbol{w})=f_{w}(\boldsymbol{x}) \\ P(y=0 \mid \boldsymbol{x} ; \boldsymbol{w})=1-f_{w}(\boldsymbol{x}) \end{array}\right. {P(y=1x;w)=fw(x)P(y=0x;w)=1fw(x)

      P ( y ∣ x ; w ) = ( f w ( x ) ) y ( 1 − f w ( x ) ) 1 − y P(y \mid \boldsymbol{x} ; \boldsymbol{w})=\left(f_{w}(\boldsymbol{x})\right)^{y}\left(1-f_{w}(\boldsymbol{x})\right)^{1-y} P(yx;w)=(fw(x))y(1fw(x))1y

      L ( w ) = ∏ i = 1 m P ( y ∣ x ; w ) L(\boldsymbol{w})=\prod_{i=1}^{m} P(y \mid \boldsymbol{x} ; \boldsymbol{w}) L(w)=i=1mP(yx;w)

      J ( w ) = − 1 m l ( w ) = − 1 m log ⁡ L ( w ) = − 1 m ( ∑ i = 1 m ( y i log ⁡ f w ( x i ) + ( 1 − y i ) log ⁡ ( 1 − f w ( x i ) ) ) \begin{gathered} J(\boldsymbol{w})=-\frac{1}{m} l(\boldsymbol{w})=-\frac{1}{m} \log L(\boldsymbol{w}) \\ =-\frac{1}{m}\left(\sum_{i=1}^{m}\left(y^{i} \log f_{w}\left(x^{i}\right)+\left(1-y^{i}\right) \log \left(1-f_{w}\left(x^{i}\right)\right)\right)\right. \end{gathered} J(w)=m1l(w)=m1logL(w)=m1(i=1m(yilogfw(xi)+(1yi)log(1fw(xi)))

  • 逻辑回归优势

    • 逻辑回归假设因变量服从伯努利分布,与CTR的含义保持一致(点击与不点击)

    • 可解释性强

    • 模型简单,资源开销小

  • 逻辑回归局限性

    • 表达能力不强

大规模分片线性模型(混合逻辑回归)

Large Scale Piece-wise Linear Model, LS-PLM

Mixed Logistic Regression, MLR

  • 动机:在CTR预估问题中,目的若是预估女性受众点击女装广告的CTR,则我们不希望把男性用户点击数码类产品的样本数据也考虑进来。为了让CTR模型针对不同用户群体、不同使用场景更有针对性,其采用的方法是先对全量样本进行聚类,再对每个分类用逻辑回归进行CTR预估

  • 数学形式

    f ( x ) = ∑ i = 1 m π i ( x ) ⋅ η i ( x ) = ∑ i = 1 m e μ i ⋅ x ∑ j = 1 m e μ j ⋅ x ⋅ ⋅ 1 1 + e − w i ⋅ x f(x)=\sum_{i=1}^{m} \pi_{i}(x) \cdot \eta_{i}(x)=\sum_{i=1}^{m} \frac{\mathrm{e}^{\mu_{i} \cdot x}}{\sum_{j=1}^{m} \mathrm{e}^{\mu_{j} \cdot x} \cdot} \cdot \frac{1}{1+\mathrm{e}^{-w_{i} \cdot x}} f(x)=i=1mπi(x)ηi(x)=i=1mj=1meμjxeμix1+ewix1

    • 首先用聚类函数 π \pi π对样本进行分类(Softmax),再用LR预估CTR

    • 其实上述分片中的概率 π i ( x ) \pi _i(x) πi(x)相当于一种对于不同“类别”的Attention Score,分别与各自类别下的CTR相乘得到最终输出

因子分解机模型族

Factorization Machine, FM

  • 仅利用单一特征而非交叉特征时,有时不仅是信息损失的问题,甚至会得出错误结论(“辛普森悖论”)

POLY2

POLY2

  • POLY2采用特征暴力组合

    ∅ POLY ⁡ 2 ( w , x ) = ∑ j 1 = 1 n − 1 ∑ j 2 = j 1 + 1 n w h ( j 1 , j 2 ) x j 1 x j 2 \emptyset \operatorname{POLY} 2(\boldsymbol{w}, \boldsymbol{x})=\sum_{j_{1}=1}^{n-1} \sum_{j_{2}=j_{1}+1}^{n} w_{h\left(j_{1}, j_{2}\right)} x_{j_{1}} x_{j_{2}} POLY2(w,x)=j1=1n1j2=j1+1nwh(j1,j2)xj1xj2
    本质上仍是线性模型

  • 缺陷

    • 大部分特征采用one-hot编码,本身就非常稀疏,再经过特征交叉变得更加稀疏,使训练权重无法得到有效训练,无法收敛

    • 权重参数数量由 n n n上升到 n 2 n^2 n2,增加训练复杂度

因子分解机

Factorization Machine, FM

  • 数学形式

    ∅ FM ⁡ ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n ( w j 1 ⋅ w j 2 ) x j 1 x j 2 \emptyset \operatorname{FM}(\boldsymbol{w}, \boldsymbol{x})=\sum_{j_{1}=1}^{n} \sum_{j_{2}=j_{1}+1}^{n}\left(\boldsymbol{w}_{j_{1}} \cdot w_{j_{2}}\right) x_{j_{1}} x_{j_{2}} FM(w,x)=j1=1nj2=j1+1n(wj1wj2)xj1xj2

    • FM使用两个向量的内积 ( w j 1 ⋅ w j 2 ) \left(w_{j_{1}} \cdot w_{j_{2}}\right) (wj1wj2)取代了单一的权重系数 w h ( j 1 , j 2 ) w_{h\left(j_{1}, j_{2}\right)} wh(j1,j2)。实际上,FM为每个特征学习了一个隐权重向量(Latent Vector),在特征交叉时使用两个特征隐向量的内积作为交叉特征的权重

    • 与POLY2对比,将参数数量从 n 2 n^2 n2降到了 n k nk nk k k k为隐向量维度),减小了训练开销

    • 与矩阵分解中引入的隐向量有异曲同工之妙,FM中的隐向量更好地解决了数据稀疏性的问题。假设有 A B AB AB B C BC BC A C AC AC三种特征组合,若只有 B C BC BC A C AC AC出现在了样本中,那么POLY2无法学习到特征组合 A B AB AB的权重。FM通过对 B C BC BC A C AC AC的学习,隐式地学习到了特征 B B B A A A的隐向量,从而特征组合 A B AB AB的权重可以被有效计算,这是POLY2无法实现的

    • 相比POLY2,FM虽然丢失了某些具体特征组合的精确记忆能力,但是泛化能力大大提高

域感知因子分解机

Field-aware Factorization Machine, FFM

  • 数学形式

    ∅ FFM ⁡ ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n ( w j 1 , f 2 ⋅ w j 2 , f 1 ) x j 1 x j 2 \emptyset \operatorname{FFM}(\boldsymbol{w}, \boldsymbol{x})=\sum_{j_{1}=1}^{n} \sum_{j_{2}=j_{1}+1}^{n}\left(\boldsymbol{w}_{j_{1}, f_{2}} \cdot \boldsymbol{w}_{j_{2}, f_{1}}\right) x_{j_{1}} x_{j_{2}} FFM(w,x)=j1=1nj2=j1+1n(wj1,f2wj2,f1)xj1xj2

    • FFM引入了特征域感知(Field-aware),增强模型表达能力

    • “域”代表特征域,例如性别特征域中包含三个特征:男、女、未知。FFM为每个特征针对不同的域(注意不是针对每个特征,是针对每个特征域)引入了域感知的概念。假设有 f f f个特征域,则每个特征的权重数量由FM的 1 1 1个增加到了 f f f个,所以隐向量数量共有 n ⋅ f n \cdot f nf

    • 在每一对交叉特征计算时,采用交叉特征域的隐向量进行计算(选择与对方域对应的隐向量作内积)

    • FFM复杂度提升为 k n 2 kn^2 kn2

组合模型

  • FM系列模型虽然通过引入特征交叉提升了模型表达能力,但FM系列只能做到二阶交叉,如果继续提高特征交叉维度,会产生组合爆炸和计算复杂度过高的问题

GBDT + LR

  • 概述:利用GBDT自动进行特征筛选和组合,进而生成新的离散特征向量,再把该特征向量当作LR模型输入,预估CTR(有点Stacking的意思)

    在这里插入图片描述

    • GBDT构建离散特征和LR预估CTR是独立训练的

    • 回归树中每个节点的分裂是一个自然的特征选择的过程,而多层节点的结构则对特征进行了有效的自动组合

  • GBDT进行特征转换的过程

    在这里插入图片描述

    • 输入样本(特征向量)后,在每个子树分别落入叶节点,将落入的叶节点位置置1,其余置0,将每个子树的离散向量拼接起来即为GBDT得到的离散特征向量

    • 其实决策树的深度决定了特征交叉的阶数,经过三次节点分裂其实就是进行了三阶特征交叉。这种特征组合能力是FM不具备的

    • 但GBDT容易过拟合,且这种特征转换方式丢失了大量特征的数值信息

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值