深度学习中的验证精度是否总是高于测试精度?



我遇到一位教授,他告诉我,一般来说,验证准确性总是高于测试准确性。 他声称测试数据集仅用于测试最终模型。尽管验证数据集仅用于调整超参数,并且仅向模型显示训练数据,但模型开发人员可以尝试根据验证精度仔细选择最佳模型,以进行多次训练。

但是,由于测试数据通常受到测试次数的限制。例如,在某些比赛中,每天提交测试结果的一次评估是很常见的。这样,我们就无法挑选出可以在验证和测试数据集中实现最佳准确性的最佳模型。因此,在验证数据中获得最佳结果的最佳模型通常不是测试数据中的最佳模型。但是,当测试数据集的GT在某些数据集中发布时,这位演讲者仍然这么认为。

我知道验证数据集和测试数据集中的数据分布通常设计为相似。但是,这不能保证。例如,在通用对象检测数据集中,验证数据集和测试数据集中同一类对象之间的"难度"可能不同。更具体地说,让我们假设检测目标是人,我们都知道小的、被遮挡或截断的人更难被检测到。然而,在验证和测试数据集中,根据大小、遮挡和截断级别来控制分布实际上很困难。 因此,当两个数据集的GT都可用时,测试精度可能高于验证精度。

No.没有强有力的线索表明哪个会更高,除非确定或引入抽样偏差。

考虑一个极端情况,即您的模型与训练集高度过度拟合。$p_{train}$、$p_{val}$ 和 $p_{test}$ 之间的关系定义如下。

$$p_{train} = p_{val} != p_{test} $$

在这种情况下,验证准确性将明显高于测试准确性,反之亦然。

最新更新