L1正则化、L2正则化的公式如下
min w L 1 ( w ) = min w f ( w ) + λ n ∑ i = 1 n ∣ w i ∣ min w L 2 ( w ) = min w f ( w ) + λ 2 n ∑ i = 1 n w i 2 \min_wL_1(w)=\min_w f(w)+\frac{\lambda}{n}\sum_{i=1}^n|w_i|\\ \min_wL_2(w)=\min_wf(w)+\frac{\lambda}{2n}\sum_{i=1}^nw_i^2 wminL1(w)=wminf(w)+nλi=1∑n∣wi∣wminL2(w)=wminf(w)+2nλi=1∑nwi2
从优化问题的视角来看
min x L ( w ) < = > min w f ( w ) s . t . ∑ i = 1 n ∣ w i ∣ < C \min_xL(w)<=> \min_w f(w)\\ s.t. \sum_{i=1}^n|w_i|<C xminL(w)<=>wminf(w)s.t.i=1∑n∣wi∣<C
L1正则的限制条件,在坐标轴上显示则是一个正方形,与坐标轴的交点分别是(0,C),(C,0),(0,-C),(-C,0)
L2正则的限制条件,在坐标轴上显示则是一个圆,与坐标轴的交点分别是(0,C),(C,0),(0,-C),(-C,0)
从梯度视角来看
∂ L 1 ( w ) ∂ w i = ∂ f ( w ) ∂ w i + λ n s i g n ( w i ) w i ′ = w i − η ∂ L 1 ( w ) ∂ w i w i ′ = w i − η ∂ f ( w ) ∂ w i − η λ n s i g n ( w i ) \frac{\partial L_1(w)}{\partial w_i}=\frac{\partial f(w)}{\partial w_i}+\frac{\lambda}{n}sign(w_i)\\ w_i^{'}=w_i - \eta \frac{\partial L_1(w)}{\partial w_i}\\ w_i^{'}=w_i - \eta \frac{\partial f(w)}{\partial w_i} - \eta \frac{\lambda}{n}sign(w_i) ∂wi∂L1(w)=∂wi∂f(w)+nλsign(wi)wi′=wi−η∂wi∂L1(w)wi′=wi−η∂wi∂f(w)−ηnλsign(wi)
∂
L
2
(
w
)
∂
w
i
=
∂
f
(
w
)
∂
w
i
+
λ
n
w
i
w
i
′
=
w
i
−
η
∂
L
2
(
w
)
∂
w
i
w
i
′
=
w
i
−
η
∂
f
(
w
)
∂
w
i
−
η
λ
n
w
i
\frac{\partial L_2(w)}{\partial w_i}=\frac{\partial f(w)}{\partial w_i}+\frac{\lambda}{n}w_i\\ w_i^{'}=w_i - \eta \frac{\partial L_2(w)}{\partial w_i}\\ w_i^{'}=w_i - \eta \frac{\partial f(w)}{\partial w_i} - \eta \frac{\lambda}{n}w_i
∂wi∂L2(w)=∂wi∂f(w)+nλwiwi′=wi−η∂wi∂L2(w)wi′=wi−η∂wi∂f(w)−ηnλwi
从L1
η
λ
n
s
i
g
n
(
w
i
)
\eta \frac{\lambda}{n}sign(w_i)
ηnλsign(wi)和L2
η
λ
n
w
i
\eta \frac{\lambda}{n}w_i
ηnλwi来看,L1与L2不一样的地方在于L1会减
s
i
g
n
(
w
i
)
sign(w_i)
sign(wi)倍的
η
λ
n
\eta \frac{\lambda}{n}
ηnλ.而L2会减
w
i
w_i
wi倍的
η
λ
n
\eta\frac{\lambda}{n}
ηnλ。当w_i在
[
1
,
+
∞
)
[1,+\infty)
[1,+∞)时,L2获得比L1更快的减小速率。当
w
i
w_i
wi在(0,1)时,L1比L2获得更快的减小速率。并且当
w
i
w_i
wi越小时,L1更容易减小接近于0.而L2更不容易变化,因此L1会获得更多的接近于0的w。即L1比L2更容易获得sparse的w。
从概率的视角来看
为f(w)加入正则化,相当于为f(w)的参数w加先验,那要求w满足某一分布。
L1正则化相当于为w加入Laplace分布的先验,L2正则化相当于为w加入Gaussian分布的先验
很明显可以观察出,在两边紫色部分, P G ( w ) < P L ( w ) P_G(w)<P_L(w) PG(w)<PL(w),说明Gauss分布中,值大的w更少,即 L 2 与 L 1 L_2与L_1 L2与L1相比,值大的w更少,因此L2比L1更smooth。
在中间红色线条区域 P L ( w ) < P G ( w ) P_L(w)<P_G(w) PL(w)<PG(w)。并且结合图来看,Gauss分布中,值很小的w和值为0的w概率接近。而laplace分布中,值很小的w概率小于值为0的w.这说明Laplace分布要求w更多为0.而高斯分布要求w小就行不一定要为0。因此L1比L2更Sparse.
问题,为什么L1正则先验分布时Laplace分布,L2正则先验分布时Gaussian分布。接下来从最大后验概率的角度进行推导和分析。在机器学习建模中,我们知道了x和y以后,需要对参数w进行建模。那么后验概率表达式如下:
M
A
P
=
l
o
g
p
(
y
∣
X
)
=
l
o
g
P
(
y
∣
X
,
w
)
P
(
w
)
=
l
o
g
P
(
y
∣
X
,
w
)
+
l
o
g
P
(
w
)
MAP=log^{p(y|X)}=log^{P(y|X,w)P(w)}=log^{P(y|X,w)}+log^{P(w)}
MAP=logp(y∣X)=logP(y∣X,w)P(w)=logP(y∣X,w)+logP(w)
可以看出后验概率函数为在似然函数的基础上增加了
l
o
g
P
(
w
)
log^{P(w)}
logP(w),P(w)的意义是对权重系数w的概率分布的先验假设,在收集到训练样本X,y后,则可根据w在X,y下的后验概率对w进行修正,从而做出对w的更好地估计。若假设w的先验概率分布为0均值的高斯分布,即
w
∼
N
(
0
,
δ
2
)
w\sim N(0,\delta^2)
w∼N(0,δ2)
则有
l
o
g
P
(
w
)
=
l
o
g
∏
j
P
(
w
j
)
=
l
o
g
∏
j
[
1
2
π
δ
e
−
w
j
2
2
δ
2
]
=
∑
j
(
l
o
g
[
1
2
π
δ
e
−
w
j
2
2
δ
2
]
)
=
∑
j
(
l
o
g
[
e
−
w
j
2
2
δ
2
]
)
+
j
l
o
g
1
2
π
δ
后
部
分
对
于
w
相
当
于
一
个
常
数
=
∑
j
(
−
w
j
2
2
δ
2
)
+
C
=
−
1
2
δ
2
∑
j
w
j
2
+
C
log^{P(w)}=log^{\prod _j P(w_j)}=\\ log^{\prod_j[\frac{1}{\sqrt{2\pi}\delta}e^{-\frac{w_j^2}{2\delta^2}}]}\\ =\sum_j(log^{[\frac{1}{\sqrt{2\pi}\delta}e^{-\frac{w_j^2}{2\delta^2}}]})\\ =\sum_j(log^{[e^{-\frac{w_j^2}{2\delta^2}}]}) + j log^{\frac{1}{\sqrt{2\pi}\delta}} 后部分对于w相当于一个常数\\ =\sum_j(-\frac{w_j^2}{2\delta^2})+C\\ =-\frac{1}{2\delta^2}\sum_jw_j^2+C
logP(w)=log∏jP(wj)=log∏j[2πδ1e−2δ2wj2]=j∑(log[2πδ1e−2δ2wj2])=j∑(log[e−2δ2wj2])+jlog2πδ1后部分对于w相当于一个常数=j∑(−2δ2wj2)+C=−2δ21j∑wj2+C
可以看出,在高斯分布下
l
o
g
P
(
w
)
log^{P(w)}
logP(w)的效果等价于在代价函数中增加L2正则项。
若假设w服从均值为0,参数为a的拉普拉斯分布,即
P
(
w
j
)
=
1
2
a
e
−
∣
w
j
∣
a
P(w_j)=\frac{1}{2a}e^{-\frac{|w_j|}{a}}
P(wj)=2a1e−a∣wj∣
则有
l
o
g
P
(
w
)
=
l
o
g
∏
j
P
(
w
J
)
=
l
o
g
∏
j
1
2
a
e
−
∣
w
j
∣
a
=
∑
j
(
l
o
g
1
2
a
e
−
∣
w
j
∣
a
)
=
∑
j
(
l
o
g
e
−
∣
w
j
∣
a
)
+
j
l
o
g
1
2
a
后
者
对
于
w
相
当
于
常
数
=
−
1
a
∑
j
∣
w
j
∣
+
C
log^{P(w)}=\\ log^{\prod _j P(w_J)}=\\ log^{\prod _j \frac{1}{2a}e^{-\frac{\left| w_j \right|}{a}}}=\\ \sum_j(log^{\frac{1}{2a}e^{-\frac{\left| w_j \right|}{a}}})=\\ \sum_j(log^{e^{-\frac{\left| w_j \right|}{a}}}) + jlog^{\frac{1}{2a}} 后者对于w相当于常数=\\ -\frac{1}{a}\sum_j|w_j| + C
logP(w)=log∏jP(wJ)=log∏j2a1e−a∣wj∣=j∑(log2a1e−a∣wj∣)=j∑(loge−a∣wj∣)+jlog2a1后者对于w相当于常数=−a1j∑∣wj∣+C
可以看到,在拉普拉斯分布下
l
o
g
P
(
w
)
log^{P(w)}
logP(w)的效果等价在代价函数中增加L1正则。
L1正则化可通过假设权重w的先验分布为拉普拉斯分布,由最大后验概率估计导出。
L2正则化可通过假设权重w的先验分布为高斯分布,由最大后验概率估计导出。