测试结果是否可能优于验证结果?

时间:2018-03-10 05:42:20

标签: machine-learning conv-neural-network

我正在培训CNN进行分类任务,我将数据集分成三部分:70%用于培训,15%用于验证,最后15%用于测试。我使用训练集来训练网络并使用验证集来选择超参数。在完成所有工作之后,我使用测试集测试了我的模型,然而,结果表明模型在测试集上的表现比验证集更好(一个精度达到85%,另一个精度达到80%)。

是否可能或我做错了什么?由于我在模拟培训的整个过程中不可见,因此我在验证集上努力提高模型性能。

3 个答案:

答案 0 :(得分:1)

当您的测试集更好地表示您的训练数据而不是验证时。通常这意味着分割数据的方式存在一些问题

在随机改组数据并再次创建拆分后尝试重复实验,以确保它不是由于幸运分裂造成的。您是否在创建分割时使用了分层采样。

答案 1 :(得分:1)

如果在训练阶段使用交叉验证,则可以最大限度地减少拟合的可能性。例如,模型对训练数据的平均性能应略好于测试数据的结果。

答案 2 :(得分:1)

看起来有点奇怪。只是为了100%肯定: 1.将验证增加到20-25%。 2.如果没有,请使用StratifiedKFold。 3.多次运行模型并获得几个分数。