测试误差小于训练误差,是为什么?

  统计/机器学习 监督式学习 模型验证    浏览次数:581        分享
0

我做了一个二分类模型,训练时最后训练误差logloss降到0.125,在测试集上跑了一下,logloss只有0.110左右。

一般来说训练误差是小于测试误差的,但是我这里两者反过来,会是什么原因造成的呢?有没有办法调整呢?

 

baozi   2022-04-03 23:23



   1个回答 
1

我想说可能是运气太好了,所以你的测试误差小于训练误差。

这个情况往往出现在,测试样本和训练样本不是同分布的,比如训练样本比较脏,测试样本比较干净;干净的数据集比较好预测,脏的数据难度大,所以训练的误差高。

我觉得可以多做一些cross-validation,而不是直接用留一法验证。


ps,神经网络可能会出现测试误差小于训练误差的情况,就是加了dropout之后,不过本质上还是因为模型参数变了。

SofaSofa数据科学社区DS面试题库 DS面经

xiaosu   2022-05-11 18:35



  相关讨论

分类中的F1精度、F2精度、F3精度是什么意思?

机器学习中lift的概念是什么?怎么用来评价模型?

二元分类问题中经常提到的TP,TN,FN,FP都是什么意思?

多元分类可以用accuracy吗?

多元分类问题有没有F1?

机器学习里的ppv是什么意思?

利用交叉验证调参后还需要用完整的数据集重新训练吗?

F1值会受到不平衡数据的影响吗?

怎么用KS值来评价二元分类器?

有顺序的多元分类模型应该用评判标准?

  随便看看

matplotlib.pyplot画图的标题中插入变量

Resnet-18, Resnet-50, Resnet-101这些模型里的数字是什么意思?

wide-deep模型里的wide和deep分别是指什么意思?

为什么自然常数e等于阶乘的倒数的和?

pandas报错: 'DataFrame' object has no attribute 'unique'