逻辑回归模型族
LR
-
流程
-
将用户年龄、性别、物品属性、物品描述、当前时间、当前地点等特征转换成数值型特征向量
-
确定逻辑回归优化目标(以优化“点击率(Click Through Rate, CTR)”为例),训练模型
-
将特征向量输入模型得到点击物品概率,并根据概率排序得到推荐列表
-
-
形式化定义
-
特征向量
x=(x1,x2,…,xn)T \boldsymbol{x}=\left(x_{1}, x_{2}, \ldots, x_{n}\right)^{\mathrm{T}} x=(x1,x2,…,xn)T
-
整体形式
f(x)=11+e−(w⋅x+b) f(x)=\frac{1}{1+\mathrm{e}^{-(w \cdot x+b)}} f(x)=1+e−(w⋅x+b)1
-
目标函数
{P(y=1∣x;w)=fw(x)P(y=0∣x;w)=1−fw(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=1∣x;w)=fw(x)P(y=0∣x;w)=1−fw(x)
P(y∣x;w)=(fw(x))y(1−fw(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(y∣x;w)=(fw(x))y(1−fw(x))1−y
L(w)=∏i=1mP(y∣x;w) L(\boldsymbol{w})=\prod_{i=1}^{m} P(y \mid \boldsymbol{x} ; \boldsymbol{w}) L(w)=i=1∏mP(y∣x;w)
J(w)=−1ml(w)=−1mlogL(w)=−1m(∑i=1m(yilogfw(xi)+(1−yi)log(1−fw(xi))) \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=1∑m(yilogfw(xi)+(1−yi)log(1−fw(xi)))
-
-
逻辑回归优势
-
逻辑回归假设因变量服从伯努利分布,与CTR的含义保持一致(点击与不点击)
-
可解释性强
-
模型简单,资源开销小
-
-
逻辑回归局限性
- 表达能力不强
大规模分片线性模型(混合逻辑回归)
Large Scale Piece-wise Linear Model, LS-PLM
Mixed Logistic Regression, MLR
-
动机:在CTR预估问题中,目的若是预估女性受众点击女装广告的CTR,则我们不希望把男性用户点击数码类产品的样本数据也考虑进来。为了让CTR模型针对不同用户群体、不同使用场景更有针对性,其采用的方法是先对全量样本进行聚类,再对每个分类用逻辑回归进行CTR预估
-
数学形式
f(x)=∑i=1mπi(x)⋅ηi(x)=∑i=1meμi⋅x∑j=1meμj⋅x⋅⋅11+e−wi⋅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=1∑mπi(x)⋅ηi(x)=i=1∑m∑j=1meμj⋅x⋅eμi⋅x⋅1+e−wi⋅x1
-
首先用聚类函数π\piπ对样本进行分类(Softmax),再用LR预估CTR
-
其实上述分片中的概率πi(x)\pi _i(x)πi(x)相当于一种对于不同“类别”的Attention Score,分别与各自类别下的CTR相乘得到最终输出
-
因子分解机模型族
Factorization Machine, FM
- 仅利用单一特征而非交叉特征时,有时不仅是信息损失的问题,甚至会得出错误结论(“辛普森悖论”)
POLY2
POLY2
-
POLY2采用特征暴力组合
∅POLY2(w,x)=∑j1=1n−1∑j2=j1+1nwh(j1,j2)xj1xj2 \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=1∑n−1j2=j1+1∑nwh(j1,j2)xj1xj2
本质上仍是线性模型 -
缺陷
-
大部分特征采用one-hot编码,本身就非常稀疏,再经过特征交叉变得更加稀疏,使训练权重无法得到有效训练,无法收敛
-
权重参数数量由nnn上升到n2n^2n2,增加训练复杂度
-
因子分解机
Factorization Machine, FM
-
数学形式
∅FM(w,x)=∑j1=1n∑j2=j1+1n(wj1⋅wj2)xj1xj2 \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=1∑nj2=j1+1∑n(wj1⋅wj2)xj1xj2
-
FM使用两个向量的内积(wj1⋅wj2)\left(w_{j_{1}} \cdot w_{j_{2}}\right)(wj1⋅wj2)取代了单一的权重系数wh(j1,j2)w_{h\left(j_{1}, j_{2}\right)}wh(j1,j2)。实际上,FM为每个特征学习了一个隐权重向量(Latent Vector),在特征交叉时使用两个特征隐向量的内积作为交叉特征的权重
-
与POLY2对比,将参数数量从n2n^2n2降到了nknknk(kkk为隐向量维度),减小了训练开销
-
与矩阵分解中引入的隐向量有异曲同工之妙,FM中的隐向量更好地解决了数据稀疏性的问题。假设有ABABAB、BCBCBC、ACACAC三种特征组合,若只有BCBCBC与ACACAC出现在了样本中,那么POLY2无法学习到特征组合ABABAB的权重。FM通过对BCBCBC和ACACAC的学习,隐式地学习到了特征BBB和AAA的隐向量,从而特征组合ABABAB的权重可以被有效计算,这是POLY2无法实现的
-
相比POLY2,FM虽然丢失了某些具体特征组合的精确记忆能力,但是泛化能力大大提高
-
域感知因子分解机
Field-aware Factorization Machine, FFM
-
数学形式
∅FFM(w,x)=∑j1=1n∑j2=j1+1n(wj1,f2⋅wj2,f1)xj1xj2 \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=1∑nj2=j1+1∑n(wj1,f2⋅wj2,f1)xj1xj2
-
FFM引入了特征域感知(Field-aware),增强模型表达能力
-
“域”代表特征域,例如性别特征域中包含三个特征:男、女、未知。FFM为每个特征针对不同的域(注意不是针对每个特征,是针对每个特征域)引入了域感知的概念。假设有fff个特征域,则每个特征的权重数量由FM的111个增加到了fff个,所以隐向量数量共有n⋅fn \cdot fn⋅f个
-
在每一对交叉特征计算时,采用交叉特征域的隐向量进行计算(选择与对方域对应的隐向量作内积)
-
FFM复杂度提升为kn2kn^2kn2
-
组合模型
- FM系列模型虽然通过引入特征交叉提升了模型表达能力,但FM系列只能做到二阶交叉,如果继续提高特征交叉维度,会产生组合爆炸和计算复杂度过高的问题
GBDT + LR
-
概述:利用GBDT自动进行特征筛选和组合,进而生成新的离散特征向量,再把该特征向量当作LR模型输入,预估CTR(有点Stacking的意思)

-
GBDT构建离散特征和LR预估CTR是独立训练的
-
回归树中每个节点的分裂是一个自然的特征选择的过程,而多层节点的结构则对特征进行了有效的自动组合
-
-
GBDT进行特征转换的过程

-
输入样本(特征向量)后,在每个子树分别落入叶节点,将落入的叶节点位置置1,其余置0,将每个子树的离散向量拼接起来即为GBDT得到的离散特征向量
-
其实决策树的深度决定了特征交叉的阶数,经过三次节点分裂其实就是进行了三阶特征交叉。这种特征组合能力是FM不具备的
-
但GBDT容易过拟合,且这种特征转换方式丢失了大量特征的数值信息
-
本文详细介绍了逻辑回归模型族,包括其在CTR预测中的应用,特征向量的处理,以及如何通过分片线性模型、混合逻辑回归和GBDT进行特征组合和过拟合问题的克服。重点讨论了FM和FFM在处理稀疏数据和特征交叉方面的优势。

1117

被折叠的 条评论
为什么被折叠?



