我做了一个二分类模型,训练时最后训练误差logloss降到0.125,在测试集上跑了一下,logloss只有0.110左右。
一般来说训练误差是小于测试误差的,但是我这里两者反过来,会是什么原因造成的呢?有没有办法调整呢?
1个回答
我想说可能是运气太好了,所以你的测试误差小于训练误差。
这个情况往往出现在,测试样本和训练样本不是同分布的,比如训练样本比较脏,测试样本比较干净;干净的数据集比较好预测,脏的数据难度大,所以训练的误差高。
我觉得可以多做一些cross-validation,而不是直接用留一法验证。
ps,神经网络可能会出现测试误差小于训练误差的情况,就是加了dropout之后,不过本质上还是因为模型参数变了。