这部分内容将解释
为什么L1正则化可以产生稀疏模型(L1是怎么让系数等于零的)
,以及
为什么L2正则化可以防止过拟合
。
L1正则化和特征选择
假设有如下带L1正则化的损失函数:
J
=
J
0
+
α
∑
w
|
w
|
(1)
其中
J
0
是原始的损失函数,加号后面的一项是L1正则化项,
α
是正则化系数。注意到L1正则化是权值的
绝对值之和
,
J
是带有绝对值符号的函数,因此
J
是不完全可微的。机器学习的任务就是要通过一些方法(比如梯度下降)求出损失函数的最小值。当我们在原始损失函数
J
0
后添加L1正则化项时,相当于对
J
0
做了一个约束。令
L
=
α
∑
w
|
w
|
,则
J
=
J
0
+
L
,此时我们的任务变成
在
L
约束下求出
J
0
取最小值的解
。考虑二维的情况,即只有两个权值
w
1
和
w
2
,此时
L
=
|
w
1
|
+
|
w
2
|
对于梯度下降法,求解
J
0
的过程可以画出等值线,同时L1正则化的函数
L
也可以在
w
1
w
2
的二维平面上画出来。如下图:
图中等值线是
J
0
的等值线,黑色方形是
L
函数的图形。在图中,当
J
0
等值线与
L
图形首次相交的地方就是最优解。上图中
J
0
与
L
在
L
的一个顶点处相交,这个顶点就是最优解。注意到这个顶点的值是
(
w
1
,
w
2
)
=
(
0
,
w
)
。可以直观想象,因为
L
函数有很多『突出的角』(二维情况下四个,多维情况下更多),
J
0
与这些角接触的机率会远大于与
L
其它部位接触的机率,而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择。
而正则化前面的系数
α,可以控制L图形的大小。α越小,L的图形越大(上图中的黑色方框);α越大,L
的图形就越小,可以小到黑色方框只超出原点范围一点点,这是最优点的值
(
w
1
,
w
2
)
=
(
0
,
w
)
中的
w
可以取到很小的值。
类似,假设有如下带L2正则化的损失函数:
J
=
J
0
+
α
∑
w
w
2
(2)
同样可以画出他们在二维平面上的图形,如下:
图2 L2正则化
二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此
J
0
与
L
相交时使得
w
1
或
w
2
等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因。
转自:https://blog.csdn.net/zbc1090549839/article/details/44103801