正则化的定义
在DL中,凡是能够减少过拟合的方法都叫做“正则化”。
常见的正则化方法(减少过拟合的方法):
- L 1 L_1 L1正则化
- L 2 L_2 L2正则化
- BN
- Dropout
- Data Augment
- …
L 1 L_1 L1和 L 2 L_2 L2正则化的定义
L
1
L_1
L1就是取 绝对值的和
L
1
L_1
L1就是取 平方和再开根号
L
1
L_1
L1:
∣
∣
x
∣
∣
i
=
∣
x
1
∣
+
∣
x
2
∣
+
.
.
.
+
∣
x
n
∣
||x||_i = |x_1| + |x_2| + ... + |x_n|
∣∣x∣∣i=∣x1∣+∣x2∣+...+∣xn∣
L
2
L_2
L2:
∣
∣
x
∣
∣
i
=
∣
x
1
2
∣
+
∣
x
2
2
∣
+
.
.
.
+
∣
x
n
2
∣
||x||_i = \sqrt{|x_1^2| + |x_2^2| + ... + |x_n^2|}
∣∣x∣∣i=∣x12∣+∣x22∣+...+∣xn2∣
L 1 L_1 L1与 L 2 L_2 L2正则化的区别
L 2 L_2 L2正则化
L 2 L_2 L2正则化就是单纯的将参数 w i w_i wi变小。因为如果 w i w_i wi太大,对于训练来说没啥影响,总会拟合出一个不错的结果。但对于测试就影响很大了。
最简单的例子,在测试阶段,我们输入的图像有噪声,那么过大的 w i w_i wi也会放大噪声,这不利于模型的Inference。
L 1 L_1 L1正则化
L 1 L_1 L1带来了稀疏性。
举个例子来解释:比如我们想要识别一只猫,对于 L 2 L_2 L2正则化,它就单纯的将 w i w_i wi减小,但是判断是不是一只猫仍然需要两个特征→猫胡子和猫耳朵,这就和我们的之前提到赫布学习理论的道理是一样的,与猫相关的神经元得同时激活,共同评判。
但对于 L 1 L_1 L1正则化来说,y轴上有两个值,与 L 2 L_2 L2正则化相比, L 1 L_1 L1正则化将猫的两个特征剥离了,不需要两个特征共同配合,这就引入了稀疏性。
Note:
- 这里的横轴和纵轴是简化的,不只只有这么两条轴,在神经网络中有很多的轴(因为起码得比特征高一维你才可以进行分类)。
- 不管是使用 L 1 L_1 L1正则化还是 L 2 L_2 L2正则化,都会带来一定的数据偏差,但是这个偏差并没有我们想象中那么大,所以我们可以忽视它。