很典型的过拟合问题。
过拟合问题的表现:
在训练过程中的验证准确率前上升,后下降,即在验证集上的表现先好后差。
造成过拟合的原因:
数据相对模型来说比较简单,即模型的表达能力过剩。在初始训练阶段,模型逐渐开始学习到一些信息,因而在验证集上的表现是提升的,在到达某一点后,模型接着训练则会更加的去关注一些细枝末节的东西,即模型表达更加多。但是这不一定适用于验证集,所以验证集的表现开始下降。
解决过拟合的方法:
1.early stop,既然模型在某一点时达到最优,那么就设置模型在最优点附近停止训练。对于early stop的策略有很多,比如验证准确率在N个epoch范围内波动很小,或训练损失在N个epoch范围内波动很小等都可以作为停止条件。
2.为模型增加惩罚项,即正则化。L1和L2正则化。
3.改变数据,使数据更加复杂,多变,适应模型,也能取得不错的效果。
在整个训练过程中,虽然说模型出现了过拟合,但是其在训练集上的损失还是趋于平稳的,并不会说因为过拟合而导致损失波动。(实验证明是这样的,我不太确定理论)