深度学习解决过拟合问题—正则化

过拟合问题经常发生在深度学习中,需要在loss函数中加入正则化项来解决该问题。本文将会介绍过拟合问题,给出正则化方法的公式,并推导其过程,最后介绍正则化为何可以解决过拟合以及Dropout。

1.过拟合

过拟合问题在深度学习中是常见的问题,假设做二类分类问题,结果有如下三类(欠拟合、“just right”、过拟合):

这里写图片描述

欠拟合问题是在training数据集中分类能力不够,导致准确度不高,可以通过调整网络结构、学习步长等超参解决。过拟合问题是由于在training数据集中分类效果太好,但是在Dev数据集中表现平平。解决该问题的方法是在loss函数中加入正则项,在训练时抑制特殊特征的作用,将其拉回到“just right”状态,其方法如下:

这里写图片描述

范数定义:

这里写图片描述

加入正则化之后,如果发生过拟合,只要控制λ的大小,就可以控制参数W的大小,使W中有些元素趋向于0,从而使得网络近似变得更加简单,从而解决过拟合。
从概率统计方面来说,加入正则项就是加入W的先验概率,在最优化过程中沿着给定约束方向走。L1正则化是拉普拉斯先验概率、上面用的L2正则化是高斯先验概率。下面将通过概率推导正则化公式。

2.正则化公式推导

拉普拉斯概率密度函数如下:

这里写图片描述

假设W服从拉普拉斯分布,W∽(0,b),我们将p(y/x)写成如下形式:

这里写图片描述

对于训练数据集,由最大释然估计可得:

这里写图片描述

我们的任务是将log(p(Y/X))最大化,因此cost函数和log(p(Y/X))是相反数的关系,再除以m控制其幅度,又因为nlog(2b)是常数项,无需优化,所以cost函数如下:

这里写图片描述

式子第二项是W的1范数,通过调整λ的大小,来调整W。

假设W服从高斯分布,W∽N(0,σ)。高斯分布如下:

这里写图片描述

对于训练数据集,由最大释然估计可得:

这里写图片描述

同拉普拉斯推导过程,高斯分布的cost函数如下:

这里写图片描述

对比:
1. L1正则化是假设参数W服从拉普拉斯分布的结果,L1正则化可以使W中的元素等于0,从而使W具有稀疏性,可以减少计算量。更有“可解释性”的优点。
2. L2正则化不能使W中的元素等于0,只能让其接近于0,因此不能减少计算量,只能减弱相关特征对cost函数的影响。但是L2正则化可以有效解决过拟合问题。

加入L2正则化之后,反向传播可以变为如下形式:

这里写图片描述

Dropout

当激活函数为ReLU函数时,dropout方法更方便有效。dropout方法的主要思想和正则化一样,都是将网络变得更加简单,从而解决过拟合问题。dropout主动将网络的某一层的权重随机矩阵W的元素随机地变为0,从而减小网络的复杂度。具体如下:

这里写图片描述