我正在训练一个用于分类任务的卷积神经网络(CNN),我将数据集分为三部分:70%用于训练,15%用于验证,最后15%用于测试。我使用训练集来训练网络,并使用验证集来选择超参数。完成所有工作后,我用测试集测试了我的模型,结果发现模型在测试集上的表现比在验证集上更好(一个达到了85%的准确率,另一个达到了80%的准确率)。
这是可能的吗,还是我做错了什么?因为我在改善模型在验证集上的表现上投入了很多努力,而测试集在整个模型训练过程中是不可见的。
回答:
当你的测试集比验证集更能代表你的训练数据时,这是可能的。通常这意味着在你分割数据的方式上存在一些问题。
尝试在随机打乱数据后重新进行实验,并重新创建分割,以确保这不是由于幸运的分割所致。你在创建分割时使用了分层抽样吗?