在同一循环中进行训练和测试时的验证准确性

问题描述

由于我正在同一循环内进行训练和测试(对于training set上的每个时期,网络都将应用在整个validation set上。

现在,我在某个时刻(第n个纪元)获得的最高验证准确度是我网络的最高准确度,还是应该仅在图形稳定且权重不变后才使用验证准确度?

解决方法

我认为您正在将testingvalidation混淆。如果可能的话,您应该为数据集保留一个单独的测试集,以便仅在训练和验证完成后进行测试。

尽管您可以使用该测试集进行验证,但这是对模型从未见过的另一组数据进行推断的最佳实践。

所以回答您的问题,如果验证精度达到峰值,则可能是或不能达到最高,因为历元数越多,精度越高的可能性就越大(假设模型不是过度拟合数据集。

在这种情况下,最好在每次验证准确性达到峰值后保存模型,以便在训练和验证完成之后,以最高的验证准确性来保存最佳模型。