基本形式
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=1∣x)=g(j=1∑mσ(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=1∣x)=i=1∑m∑j=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=1∑n[ytlog(p(yt=1∣xt,Θ))+(1−yt)log(p(yt=0∣xt,Θ))]
后面为正则项,其中
∥
Θ
∥
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=1d∑j=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结果进行加权