正则化的概念与用处
正则化:也叫规范化,在神经网络里主要是对代价函数高次项添加一些惩罚,防止其过拟合,相当于对某些特征的权重施加惩罚,降低其影响权重,防止过拟合。欠拟合时需要去掉正则化,因为本来就特征不足,再惩罚一下就更没用了。正则化目标是获取最小的损失和模型复杂度。
“正则化”是机器学习中的一个术语,那么在解释正则化之前,不得不解释与之非常非常关系密切的另一个机器学习的术语“过拟合”…
“过拟合”是指机器学习在训练模型时,模型与训练数据贴合的太好了,好到误差基本接近于0了(就好比海尔兄弟似的,天天穿着裤衩子在一起,密不可分,不好意思跑题了…)如下最右边的图所示:
“过拟合”会导致模型的“泛化“”能力太差,那什么是“泛化“”能力呢?说的再通俗点,就是模型的通用能力,训练的模型如果只能适用于某种特定的即为苛刻条件,那么这个模型可用的范围,所能承受的抗干扰性(术语叫做鲁棒性)就太差了…
所以为了 防止模型出现“过拟合”的现象,于是就提出了“正则化”这一概念…
正则化正是为了防止训练模型时,产生过拟合的现象;
2.1参数正则化
参数正则化主要是对损失函数添加惩罚项
L2正则化:处处可导,计算简单。对绝对值较大的权重予以很重的惩罚,对于绝对值较小的权重予以很轻的惩罚,当权重趋于零时,几乎不惩罚。
L1正则化:L1正则化(Lasso正则化)通过在损失函数中加入参数的绝对值之和作为惩罚项,表示为λ∑|w|,其中 λ 是正则化系数。L1正则化的效果是使得部分参数变为0,从而达到稀疏化的效果。在模型稀疏化时,L2只能降低每项特征的权重,而不能抹去,这时L1就可以使大部分模型参数为0,起到稀疏化的效果。这也说明L1自带特征选择的功能。
2.2经验正则化
Dropout随机丢弃法就可以起到正则化的效果。
再举一个理性的例子,点线(蓝色的···线)表示的是,在以圆圈表示的国家上训练的原始模型(没有正方形表示的国家),虚线(红色的—线)是我们在所有国家(圆圈和方形)上训练的第二个模型,实线是用与第一个模型相同的数据训练的模型,但是有一个正则化约束。
可以看到,正则化强制了模型的斜率较小:该模型与训练数据(圆圈)的拟合不如第一个模型,但它实际上更好地泛化了它没有在训练时看到的新实例(方形)。