深度学习总结(九)——正则化
1. 正则化简介
以逻辑斯蒂回归为例,介绍正则化。
原来的成本函数(cost function):
其中:
加入正则化项得:
其中:
上式中的正则化是L2正则化。
正则化是一种非常实用的减少方差的方法,正则化时会出现偏差方差权衡问题,偏差可能略有增加。如果网络足够大,增幅通常不会太高。人们通常会用交叉验证集的方式来选择正则化参数:λ。
注意:损失函数指的是单个样本的误差,成本函数指的是所有训练样本的误差。
2. 为什么正则化项没有b
因为w往往是一个高维向量,包含了绝大多数参数,已经可以表达高方差问题。而b只是单个数字,加了也没有太大影响。
3. L1正则化使得模型变得稀疏,是否有利于模型压缩
实际上L1正则化虽然使得模型变得稀疏,但是却没有降低太多存储内存(因为参数的个数没有变,只是值变为了0)。所以L1正则化的主要目的不是为了模型压缩。
4. 为什么L2正则化被称为weight decay
首先我们来看成本函数,其包含w[1],b[1]到w[L],b[L]所有参数,L是神经网络所含的层数。其定义如下:
其中:
n[l]表示第l层单元的数量,这个式子求的是w[l]矩阵中所有元素的平方和。
在加上正则化前,w[l]用反向传播算法更新参数的公式为:
但是加上正则化之后,公式变为:
因为
5. 为什么说L1正则化是假设参数满足拉普拉斯分布、而L2正则化是满足高斯分布
首先我们对参数w引入协方差为α、均值为0的高斯先验。则根据极大后验概率,求得成本函数为:
取对数:
等价于:
显然这就是L2正则化的形式,L1正则化同理可以推得。
6. 正则化是如何防止过拟合的
根据上图所示,当λ增大时,w[l]变小,z[l]也会变小。这时z就会落入**函数的线性区,这时整个网络就会接近一个线性模型。分类面的就会相对简单,就不容易出现右下角的那种过拟合的现象。