一、正则化、偏差-方差分解
二、L2正则项(weight decay)
一、正则化、偏差-方差分解
在机器学习中,我们经常听到Regularization。
正则化是什么意思呢?从字面上很难理解。其实正则化就是减小方差的策略。
什么是方差?方差、偏差、噪声、误差的关系。下面是西瓜书中的定义。
其实还是云里雾里。通过一个例子来看一下:
深红色的曲线是验证机的loss。橙色的曲线是训练集的loss。通常我们希望loss能达到0。
训练集与0之间的差异由噪声和偏差组成。通常我们不会考虑噪声,所以我们就把训练集与真实值的误差认为是偏差,用来刻画模型的拟合能力。
而方差是训练集与验证集之间的差异。在一个数据集上表现这样,换个数据集表现有那样。它是用来刻画数据扰动所造成的影响。
注:一定要结合李宏毅的笔记来复习。
我的理解就是:bias反映模型拟合能力。比如一次函数,二次函数,三次函数拟合能力肯定不一样。模型越复杂,拟合能力越强。同时,模型越复杂,方差会越大。
欠拟合:bias太大,模型拟合能力不够,需要重新设计一个更复杂的模型。
过拟合:variance太大,模型太复杂,需要设计一个简单的模型或者增加数据集或者增加正则项。
这就是高方差。说白了就是过拟合。
二、L1正则项、L2正则项(weight decay)
1. L1和L2正则化介绍
防止过拟合的方法有:1. 增加数据集(数据增强)。 2. dropout 随机失活 3. early stopping 4. 正则化
就是在目标函数后面增加一个正则项。这节课主要来学习L1和L2。
增加了正则项之后,模型输出不仅希望Cost更小,同时也希望权值的绝对值或平方也要小。
如果加上L1、L2,模型会产生什么变化呢?我们经常会看到这两张图。
左边的图