什么是过拟合?深度学习的过拟合如何缓解?
过拟合一般指过度在训练集上进行优化,反而损害了测试集上的泛化能力的现象。一般出现训练集的loss下降,测试集的指标不降反增,就说明出现了过拟合。
在模型层面我们可以通过Early Stop, L1/L2 Regularization, Batchnorm, Dropout,weight decay等方法进行缓解。
在输入数据层面,我们可以通过数据增广来进行缓解,如旋转,图像直方图正则化,以及Mixup等方法。
欠拟合、过拟合判断方法
1.通过Loss判断
训练集loss 不断下降,验证集loss不断下降:网络正常,仍在学习。
训练集loss 不断下降,验证集loss趋于不变,可能出现过拟合,数据分布不均匀。
训练集loss 不断下降,验证集loss不断上升,可能出现过拟合。
训练集loss 趋于不变,验证集loss不断下降,数据集有问题。
训练集loss 趋于不变,验证集loss趋于不变,学习过程中遇到瓶颈,可以减小学习率或批量数目和更换梯度优化算法,也有可能网络设计问题。
训练集loss 不断上升,验证集loss不断上升,可能网络结构有问题,超参数设置不正确
2.通过Accuracy判断
验证集的作用是在训练的过程对对比训练数据与测试数据的准确率,便于判断模型的训练效果是过拟合还是欠拟合 。
过拟合:训练数据的准确率较高而测试数据的准确率较低
欠拟合:训练数据的准确率和测试数据的准确率均较低
欠拟合
(1)在保证训练误差和验证误差差距在一定范围内,适当增加训练次数。
(2)增加特征
(3)减少正则化程度
逻辑回归
https://cloud.tencent.com/developer/article/1541704
逻辑回归函数的损失函数是对数似然函数。
交叉熵损失函数取平均就是对数似然函数(对数损失函数)。
layer normalization: