L1L2正则化图形解读
在学习L1、L2正则化的过程中一定看过下面这两幅图,看过之后确实懂了L1和L2正则化的区别,无非是一个相交在坐标轴,一个不在坐标轴。但这一圈圈等高线怎么来的,L1正则化一定相交在坐标轴吗?为什么会相交在坐标轴呢?本篇文章从头开始画出这幅图,并介绍其由来。
前提假设
由该图的横纵坐标可以看出,损失函数有
w
1
、
w
2
w_1、w_2
w1、w2两个参数。
本文模型就假定使用的是二元线性回归:
y
^
=
w
1
x
1
+
w
2
x
2
\hat{y} = w_1x_1+w_2x_2
y^=w1x1+w2x2
损失函数为平方差损失
J
0
=
(
y
−
y
^
)
2
=
(
y
−
w
1
x
1
−
w
2
x
2
)
2
J_0=(y-\hat{y})^2=(y-w_1x_1-w_2x_2)^2
J0=(y−y^)2=(y−w1x1−w2x2)2
L1正则项为:
∑
w
∣
w
∣
=
∣
w
1
∣
+
∣
w
2
∣
\sum_{w}{|w|} = |w_1| + |w_2|
∑w∣w∣=∣w1∣+∣w2∣
总损失为:
J
=
J
0
+
α
∑
w
∣
w
∣
J=J_0+\alpha\sum_{w}{|w|}
J=J0+α∑w∣w∣,
α
\alpha
α为惩罚项,代表正则所占比重
L1正则
J
0
J_0
J0损失值等高线形成过程
(1)迭代中或初始时任一组
(
w
1
,
w
2
)
(w_1,w_2)
(w1,w2),假设在第一象限,其他情况同理。
(2)找到其他组
(
w
1
,
w
2
)
(w_1,w_2)
(w1,w2)使得
J
0
J_0
J0值相等。
(3)将
J
0
J_0
J0值相等的无数组
(
w
1
,
w
2
)
(w_1,w_2)
(w1,w2)连成线,称作等高线,等高线中心的点是使
J
0
J_0
J0值为0的点,通常不存在该情况。
(4)画出不同的
J
0
J_0
J0值组成的等高线。
L1正则项等高线形成过程
(1)迭代中或初始时任一组
(
w
1
,
w
2
)
(w_1,w_2)
(w1,w2),假设在第一象限,其他情况同理。
(2)找到其他组
(
w
1
,
w
2
)
(w_1,w_2)
(w1,w2)使得
∑
w
∣
w
∣
\sum_{w}{|w|}
∑w∣w∣值相等。
(3)将
∑
w
∣
w
∣
\sum_{w}{|w|}
∑w∣w∣值相等的无数组
(
w
1
,
w
2
)
(w_1,w_2)
(w1,w2)连成线,称作等高线。
(4)画出不同的
∑
w
∣
w
∣
\sum_{w}{|w|}
∑w∣w∣值组成的等高线。
总损失形成过程
(1)假设初始点为
(
w
1
,
w
2
)
(w_1,w_2)
(w1,w2),画出该点所在的
J
0
J_0
J0值等高线和正则项等高线,初始点各种相交情况都有可能发生。
(2)正则项
L
1
=
∣
w
1
∣
+
∣
w
2
∣
L1=|w_1| + |w_2|
L1=∣w1∣+∣w2∣,以
w
1
w_1
w1为例,
L
1
(
w
1
)
=
∣
w
1
∣
L1(w_1)=|w_1|
L1(w1)=∣w1∣
- 图2.1、2.2分别为
L
1
(
w
1
)
L1(w_1)
L1(w1)与
∂
L
1
(
w
1
)
∂
w
1
\frac{\partial L1(w_1)}{\partial w_1}
∂w1∂L1(w1)的坐标图,可以看出在第一象限
w
1
w_1
w1导数恒为1,由梯度下降公式
w
1
=
w
1
−
l
r
∗
g
r
a
d
w_1=w_1-lr*grad
w1=w1−lr∗grad,会使得正则项等高线往靠近原点方向移动,最终会与
J
0
J_0
J0等高线相切,或者说在相切时才能使得正则项和
J
0
J_0
J0损失值同时最小。
(3)惩罚项 α \alpha α可看做正则项所占的比重, α \alpha α越大,正则项所贡献的损失值越大,正则梯度值越大,越会往靠近原点方向移动,最终达到一个平衡点。平衡点即总损失最小时的参数所在点。
注:正则项等高线与 J 0 J_0 J0等高线并不总是相切在坐标轴,只是由于在迭代过程中参数 w 1 , w 2 w_1,w_2 w1,w2倾向于向零移动,到达零后停止,所以最终平衡态更容易停在坐标轴。这就造成了L1正则使得模型参数稀疏性的现象,但这并不是一个坏处。
L2正则
L2正则图的形成原理与L1正则相同,区别只是 L 2 = ∑ w w 2 = w 1 2 + w 2 2 L2=\sum_{w}{w^2} = w_1^2 + w_2^2 L2=∑ww2=w12+w22,其导数在靠近0时变得很小,在迭代时不容易将其更新成0,所以平衡态通常相交在正则项等高线的边上。