train loss与test loss结果分析

train loss 不断下降,test loss不断下降,说明网络仍在学习;

      在训练过程中loss可能会出现几次震荡现象,但是整体有上升趋势就说明网络还在学习,可以继续训练。

train loss 不断下降,test loss趋于不变,说明网络过拟合

过拟合

        最直观的表现就是 training accuracy 特别高,但是testing accuracy 特别低,即两者相差特别大。训练完了以后可以测试一下网络在训练集的正确率,如果和测试集的正确率相差特别大(比如20%),则说明网络过拟合了。

出现过拟合的原因(原文链接:https://blog.csdn.net/NIGHT_SILENT/article/details/80795640)

1.  训练集的数量级和模型的复杂度不匹配。训练集的数量级要小于模型的复杂度;

2.  训练集和测试集特征分布不一致;

3.  样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系;

4.  权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。

解决办法:

即和已有的数据是独立同分布的,或者近似独立同分布的。一般有以下方法:

  • 从数据源头采集更多数据
  • 复制原有数据并加上随机噪声
  • 重采样
  • 根据当前数据集估计数据分布参数,使用该分布产生更多数据等

train loss 趋于不变,test loss不断下降,说明数据集100%有问题;


train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;


train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐