《动手学深度学习Pytorch版》Task3-过拟合、欠拟合及其解决方案;梯度消失、梯度爆炸
过拟合、欠拟合
-
训练/泛化误差
训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。 -
欠拟合
模型无法得到较低的训练误差,我们将这一现象称作欠拟合(underfitting) -
过拟合
模型的训练误差远小于它在测试数据集上的误差,我们称该现象为过拟合(overfitting)
容易引起过拟合、欠拟合的其中两个因素:
- 模型复杂度
- 降低模型复杂度的两个方法
- 添加正则化项(L1、L2)
- dropout
- 添加正则化项(L1、L2)
- 降低模型复杂度的两个方法
- 数据集大小
- 数据量很小的时候,验证集划分方式 使用k折交叉验证比较好。
梯度消失、爆炸
sigmoid、tanh函数容易引起梯度消失
- 参数初始化
参数的输出华的方式非常重要。如果全连接层的权值初始化为一样的,那么每一层的神经元就相当于只有一个神经元,因为权值都相同,输出的结果也相同。
数据分布不一致的两个情况
- 协变量偏移
举例:训练集是正常的猫狗图片,测试集是卡通版的猫狗图片,但是卡通版猫的确还是猫。相对训练集,测试集产生了协变量偏移。 - 标签偏移
。。没看懂