神经网络过拟合的处理
神经网络过拟合的处理
文章目录
- 神经网络过拟合的处理
-
- 权值衰减
- Dropout(暂退法)
权值衰减
对于某一个线性函数f(x)=WTXf(x)=W^TXf(x)=WTX的损失函数L(W,b)=1n∑i=1n(WTX(i)+b−y(i))2L(W,b)=\\frac{1}{n}\\sum_{i=1}^{n}(W^TX^{(i)}+b-y^{(i)})^2L(W,b)=n1∑i=1n(WTX(i)+b−y(i))2
其中x(i)x^{(i)}x(i)是样本iii的特征, y(i)y^{(i)}y(i)是样本iii的标签, (W,b)(W,b)(W,b)是权重和偏置参数。
为了使神经网络的权值最小我们在损失函数的添加一个惩罚项λ2∣∣W∣∣2\\frac{\\lambda}{2}||W||^22λ∣∣W∣∣2
所以新的损失函数为L(W,b)=1n∑i=1n(WTX(i)+b−y(i))2+λ2∣∣W∣∣2L(W,b)=\\frac{1}{n}\\sum_{i=1}^{n}(W^TX^{(i)}+b-y^{(i)})^2+\\frac{\\lambda}{2}||W||^2L(W,b)=n1∑i=1n(WTX(i)+b−y(i))2+2λ∣∣W∣∣2
对于λ=0λ=0λ=0,我们恢复了原来的损失函数。 对于λ>0λ>0λ>0,我们限制‖w‖‖w‖‖w‖的大小。 这里我们仍然除以2:当我们取一个二次函数的导数时, 2和1/2会抵消,以确保更新表达式看起来既漂亮又简单。
对于采用梯度下降的算法来更新神经网络的权值时:w←W−ησLossσWw\\leftarrow W-\\eta\\frac{\\sigma Loss}{\\sigma W}w←W−ησWσLoss(其中η\\etaη为学习率)
Dropout(暂退法)
在训练过程中,在计算后续层之前向网络的每一层注入噪声。 因为当训练一个有多层的深层网络时,注入噪声只会在输入-输出映射上增强平滑性。这个想法被称为暂退法(dropout)。 暂退法在前向传播过程中,计算每一内部层的同时注入噪声,这已经成为训练神经网络的常用技术。 这种方法之所以被称为暂退法,因为我们从表面上看是在训练过程中丢弃(drop out)一些神经元。 在整个训练过程的每一次迭代中,标准暂退法包括在计算下一层之前将当前层中的一些节点置零。
在标准暂退法正则化中,通过按保留(未丢弃)的节点的分数进行规范化来消除每一层的偏差。 换言之,每个中间活性值hhh以暂退概率ppp由随机变量h′h'h′替换,h’={0,概率为ph1−p,其他情况h’= \\left\\{\\begin{matrix} 0,概率为p \\\\ \\frac{h}{1-p},其他情况 \\end{matrix}\\right.h’={0,概率为p1−ph,其他情况。