逻辑回归模型族
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−(w⋅x+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=1∣x;w)=fw(x)P(y=0∣x;w)=1−fw(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(y∣x;w)=(fw(x))y(1−fw(x))1−y
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=1∏mP(y∣x;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=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 = 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=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采用特征暴力组合
∅ 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=1∑n−1j2=j1+1∑nwh(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=1∑nj2=j1+1∑n(wj1⋅wj2)xj1xj2
-
FM使用两个向量的内积 ( w j 1 ⋅ w j 2 ) \left(w_{j_{1}} \cdot w_{j_{2}}\right) (wj1⋅wj2)取代了单一的权重系数 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=1∑nj2=j1+1∑n(wj1,f2⋅wj2,f1)xj1xj2
-
FFM引入了特征域感知(Field-aware),增强模型表达能力
-
“域”代表特征域,例如性别特征域中包含三个特征:男、女、未知。FFM为每个特征针对不同的域(注意不是针对每个特征,是针对每个特征域)引入了域感知的概念。假设有 f f f个特征域,则每个特征的权重数量由FM的 1 1 1个增加到了 f f f个,所以隐向量数量共有 n ⋅ f n \cdot f n⋅f个
-
在每一对交叉特征计算时,采用交叉特征域的隐向量进行计算(选择与对方域对应的隐向量作内积)
-
FFM复杂度提升为 k n 2 kn^2 kn2
-
组合模型
- FM系列模型虽然通过引入特征交叉提升了模型表达能力,但FM系列只能做到二阶交叉,如果继续提高特征交叉维度,会产生组合爆炸和计算复杂度过高的问题
GBDT + LR
-
概述:利用GBDT自动进行特征筛选和组合,进而生成新的离散特征向量,再把该特征向量当作LR模型输入,预估CTR(有点Stacking的意思)
-
GBDT构建离散特征和LR预估CTR是独立训练的
-
回归树中每个节点的分裂是一个自然的特征选择的过程,而多层节点的结构则对特征进行了有效的自动组合
-
-
GBDT进行特征转换的过程
-
输入样本(特征向量)后,在每个子树分别落入叶节点,将落入的叶节点位置置1,其余置0,将每个子树的离散向量拼接起来即为GBDT得到的离散特征向量
-
其实决策树的深度决定了特征交叉的阶数,经过三次节点分裂其实就是进行了三阶特征交叉。这种特征组合能力是FM不具备的
-
但GBDT容易过拟合,且这种特征转换方式丢失了大量特征的数值信息
-