MLR(mixed logistic regression)模型

基本形式

MLR模型是阿里巴巴12年提出(17年发表)点击率预估模型,它利用分段方式对数据进行拟合,相比LR模型,能够学习到更高阶的特征组合。其基本表达式如下
p ( y = 1 ∣ x ) = g ( ∑ j = 1 m σ ( u j T x ) η ( w j T x ) ) ( 1 ) p(y=1 | x)=g\left(\sum_{j=1}^{m} \sigma\left(u_{j}^{T} x\right) \eta\left(w_{j}^{T} x\right)\right) \qquad(1) p(y=1x)=g(j=1mσ(ujTx)η(wjTx))(1)该模型的参数为 Θ = { u 1 , ⋯   , u m , w 1 , ⋯   , w m } ∈ R d × 2 m \Theta=\left\{u_{1}, \cdots, u_{m}, w_{1}, \cdots, w_{m}\right\} \in \mathbb{R}^{d \times 2 m} Θ={u1,,um,w1,,wm}Rd×2m
σ ( ⋅ ) \sigma(\cdot) σ()为分段函数,其参数为 { u 1 , ⋯   , u m } \left\{u_{1}, \cdots, u_{m}\right\} {u1,,um}
η ( ⋅ ) \eta(\cdot) η()为拟合函数,其参数为 { w 1 , ⋯   , w m } \left\{w_{1}, \cdots, w_{m}\right\} {w1,,wm}
u u u w w w都是 d d d维的向量, d d d为特征的维度,即每个特征都有对应的两个权重
g g g是可以理解为激活函数,将模型结果变成需要的形式,比如分类问题中变成概率。

该预测函数包含两个部,首先通过 σ ( u j T x ) \sigma\left(u_{j}^{T} x\right) σ(ujTx)将当前特征分到 m m m个不同的区域中,再用 η ( w j T x ) \eta\left(w_{j}^{T} x\right) η(wjTx)函数进行预测,最终将这 m m m个结果进行求和。如图所示,相当于先把数据映射到两个部分,再将这两个部分融合到一起。
在这里插入图片描述
论文指出对于LR模型不能正确分类的数据,MLR能够有较好的效果
在这里插入图片描述

特例形式

σ ( x ) \sigma(x) σ(x)为softmax, η ( x ) \eta(x) η(x)为sigmoid, g ( x ) g(x) g(x)为x是,(1)式可以写成:
p ( y = 1 ∣ x ) = ∑ i = 1 m exp ⁡ ( u i T x ) ∑ j = 1 m exp ⁡ ( u j T x ) ⋅ 1 1 + exp ⁡ ( − w i T x ) p(y=1 | x)=\sum_{i=1}^{m} \frac{\exp \left(u_{i}^{T} x\right)}{\sum_{j=1}^{m} \exp \left(u_{j}^{T} x\right)} \cdot \frac{1}{1+\exp \left(-w_{i}^{T} x\right)} p(y=1x)=i=1mj=1mexp(ujTx)exp(uiTx)1+exp(wiTx)1

目标函数

目标函数如公式(2)所示
arg ⁡ min ⁡ Θ f ( Θ ) = loss ⁡ ( Θ ) + λ ∥ Θ ∥ 2 , 1 + β ∥ Θ ∥ 1 ( 2 ) \arg \min _{\Theta} f(\Theta)=\operatorname{loss}(\Theta)+\lambda\|\Theta\|_{2,1}+\beta\|\Theta\|_{1} \qquad (2) argΘminf(Θ)=loss(Θ)+λΘ2,1+βΘ1(2) loss ⁡ ( Θ ) \operatorname{loss}(\Theta) loss(Θ)根据不同场景下不同,比如二分类用交叉熵作为损失函数:
loss ⁡ ( Θ ) = − ∑ t = 1 n [ y t log ⁡ ( p ( y t = 1 ∣ x t , Θ ) ) + ( 1 − y t ) log ⁡ ( p ( y t = 0 ∣ x t , Θ ) ) ] \operatorname{loss}(\Theta)=-\sum_{t=1}^{n}\left[y_{t} \log \left(p\left(y_{t}=1 | x_{t}, \Theta\right)\right)+\left(1-y_{t}\right) \log \left(p\left(y_{t}=0 | x_{t}, \Theta\right)\right)\right] loss(Θ)=t=1n[ytlog(p(yt=1xt,Θ))+(1yt)log(p(yt=0xt,Θ))]

后面为正则项,其中
∥ Θ ∥ 1 = ∑ i j ∣ θ i j ∣ \|\Theta\|_{1}=\sum_{i j}\left|\theta_{i j}\right| Θ1=ijθij是对每个参数的L1正则,保证所有参数的稀疏性;
∥ Θ ∥ 2 , 1 = ∑ i = 1 d ∑ j = 1 2 m θ i j 2 \|\Theta\|_{2,1}=\sum_{i=1}^{d} \sqrt{\sum_{j=1}^{2 m} \theta_{i j}^{2}} Θ2,1=i=1dj=12mθij2 是对L2正则的L1正则,根号里面是对某个特征的 2 m 2m 2m个参数的L2正则,外面是L1,这样是为了保证特征的稀疏性,做feature selection。
正则部分相当于对整体参数和按照特征分组的参数分别做了正则,既在最细粒度上筛选参数也在较粗的粒度上筛选特征。

例子

可参考 https://github.com/jkingfu/mlr/blob/master/model_mlr.py

小结

个人理解其实MLR模型其实就是早期的attention思想的体现,不同分片的权重相当于注意力,对不同区域的LR结果进行加权

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值