正则化的作用
我们在机器学习中,常常会使用正则化来缓解维度灾难的问题。根据选择的惩罚函数不同,效果也不同,我们常用的处罚函数有L1范数和L2范数,分别叫做L1正则化和L2正则化。
L1正则化
选择L1范数进行惩罚:
我们改写为:
J
=
J
0
+
α
∑
w
∣
w
∣
J=J_0+α∑_w∣w∣
J=J0+α∑w∣w∣
我们能看到,函数由一个二次函数
J
0
J_0
J0 和一个绝对值函数构成,我们分别对其绘制等高线:
我们很容易看到,在L1惩罚函数的等高线上,
J
0
J_0
J0函数在坐标轴上的(0,w2)达到了最小值。所以说L1正则化会使得许多权值等于0(因为角就在坐标轴上),所以就可以产生稀疏模型。
L2正则化
选择L2范数进行惩罚:
我们改写为:
J
=
J
0
+
α
∑
w
w
2
J=J_0+α∑_w w^2
J=J0+α∑ww2
我们能看到,函数由一个二次函数
J
0
J_0
J0 和另一个二次函数构成,我们分别对其绘制等高线:
我们可以看到,在L2惩罚函数的相切处,
J
0
J_0
J0函数取得最小值。此时
w
1
w_1
w1很小,
w
2
w_2
w2比较大。
总结
L1正则化的作用是使得大部分系数直接为0,构建稀疏模型
L2正则化的作用是使得某些系数接近于0,降低影响。