[动手学深度学习DAY3]:过拟合、欠拟合和梯度消失、梯度爆炸

Part1.过拟合、欠拟合

训练误差

模型在训练数据集上的误差。

泛化误差

模型在任意一个测试数据样本上的误差,一般通过测试集上的误差进行近似。

过拟合

模型的训练误差远远小于模型的泛化误差,即模型过度拟合了训练集上的数据分布,而该数据分布并不能很好的近似数据的原始分布,导致测试数据的误差很大。

欠拟合

模型无法获得较低的训练误差,说明模型不能学习拟合训练集上的数据分布。

模型复杂度

模型复杂度一般指一个模型可学习的参数,例如多项式函数模型的阶越高,模型的复杂度越高,可以拟合的函数越复杂。往往模型复杂度和模型的拟合情况有一定关系,如下图:
一般情况下,模型越复杂,模型就更能拟合训练集上的数据分布,也就是模型的训练误差越小。但是当模型过度拟合训练数据的分布时,模型的泛化误差就会变大,出现过拟合。

防止过拟合
1.权重衰减(L2正则)

L2正则就是在模型原来损失函数的基础上添加针对模型参数的\(L_2\)范数的正则项,以线性回归loss为例:$$\ell(w_1, w_2, b) = \frac{1}{n} \sum_{i=1}^n \frac{1}{2}\left(x_1^{(i)} w_1 + x_2^{(i)} w_2 + b - y^{(i)}\right)^2$$我们对参数\(w_1,w_2\)进行正则化,得到新的loss:$$\ell(w_1, w_2, b) + \frac{\lambda}{2n} |\boldsymbol{w}|^2,$$当超参数\(\lambda\)越小,正则项越小,当\(\lambda\)越大,正则项在loss中的比重越大,起到的正则作用越大。

2.Dropout

dropout指的是在模型训练过程中以一定概率让模型中的某些隐藏层单元不发挥作用。假设丢弃概率为\(p\),那么有\(p\)的概率隐藏层权重\(h_i\)会被清零,有\(1-p\)的概率\(h_i\)会被除以\(1-p\)做拉伸:$$h_i' = \frac{\xi_i}{1-p} h_i$$
由于在训练中隐藏层神经元的丢弃是随机的,即隐藏层的任一参数都有可能被清零,输出层的计算无法过度依赖中的任一个隐藏层参数,从而在训练模型时起到正则化的作用,并可以用来应对过拟合。

Part2.梯度消失、梯度爆炸

指当神经网络的层数较多时,模型的数值稳定性容易变差,可能导致梯度传播到最后变得很小(消失)或者很大(爆炸)。

You May Also Like

About the Author: zhuyeye

发表评论

电子邮件地址不会被公开。 必填项已用*标注