验证集精度高于训练集精度的原因分析

Posted K同学啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证集精度高于训练集精度的原因分析相关的知识,希望对你有一定的参考价值。


  • 数据集太小的话,如果数据集切分的不均匀,或者说训练集和测试集的分布不均匀

  • 训练集的数据做了一系列的增广,如旋转,仿射,模糊,添加噪点等操作;过多的增广使得训练集分布产生了变化。

  • 模型正则化过多,比如训练时dropout过多,和验证时的模型相差较大,验证时是不会有dropout的。

  • 训练的精度是每个batch产生的,而验证的精度一般是一个epoch后产生的,验证时的模型是训练一个个batch之后的,有一个的滞后性;可以说训练得差不多的模型用来验证,当然精度要高一点。

以上是关于验证集精度高于训练集精度的原因分析的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch 半精度训练踩坑

tensorflow识别Mnist时,训练集与验证集精度acc高,但是测试集精度低的比较隐蔽的原因

Keras猫狗大战五:采用全部数据集训练,精度提高到90%

测试精度大于训练精度怎么办?

ResNet实战:单机多卡DDP方式混合精度训练

具有默认数据集和训练的形状预测器精度低