MLR(mixed logistic regression)模型

基本形式

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

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

特例形式

σ(x)\sigma(x)为softmax,η(x)\eta(x)为sigmoid,g(x)g(x)为x是,(1)式可以写成:
p(y=1x)=i=1mexp(uiTx)j=1mexp(ujTx)11+exp(wiTx)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)}

目标函数

目标函数如公式(2)所示
argminΘf(Θ)=loss(Θ)+λΘ2,1+βΘ1(2)\arg \min _{\Theta} f(\Theta)=\operatorname{loss}(\Theta)+\lambda\|\Theta\|_{2,1}+\beta\|\Theta\|_{1} \qquad (2) loss(Θ)\operatorname{loss}(\Theta)根据不同场景下不同,比如二分类用交叉熵作为损失函数:
loss(Θ)=t=1n[ytlog(p(yt=1xt,Θ))+(1yt)log(p(yt=0xt,Θ))]\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]

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

例子

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