当前位置:   article > 正文

loss(损失函数)在训练集(train loss)和测试集(test loss)上出现的问题总结

train loss

 在机器学习的过程中,我们在模型建立时,在实际测试集和训练集上误差函数可能会出现变化不一致情况。下面我简单的总结一下


在程序运行过程中

当train loss不断下降,test loss也不断下降:网络仍在学习,让他继续学;

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

train loss 趋于不变,test loss不断下降:不用想数据集250%有问题;

train loss 趋于不变,test loss趋于不变:说明学习遇到瓶颈,需要减小学习率或批量数目;或者是数据集有问题(数据集标注错误数据比较多)

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

 


下面是我遇到的一个简答题(和上面的关系不大

当一个模型训练完成后发现训练集上的loss非常高,请问如何在不对代码进行全面排查的前提下,怎样最快定位是模型本身的拟合能力不足还是代码的实现存在某种错误。

答:使用一个额外的测试集对代码进行测试,如果使用测试集运行后的结果的结果是loss低,趋于正常。那么说明是模型本身拟合不足的问题,如果使用测试集运行后的结果的结果是loss仍然很高,我们继续更换测试集,如果结果仍然很高,那我们可以断定是代码存在某种错误

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号