神经网络的验证准确性

数据挖掘 神经网络 深度学习 交叉验证 训练
2022-02-19 07:52:47

在训练神经网络时,我通常绘制在验证数据上获得的准确度(验证准确度)作为网络性能的中间衡量标准——最终衡量标准是测试准确度。根据训练数据的大小,在单个 epoch 期间会测量一次或多次验证准确度。

通常,当验证准确度开始下降时,我会停止训练——这是过度拟合的迹象。

但是,对于大型数据集,我通常没有足够的计算能力来等待验证准确度下降。我只是在验证准确性(或验证损失)保持一段时间后停止训练,如下所示:

在此处输入图像描述

从技术上讲,我不知道该模型是否可以进一步改进,但假设它不会进一步改进是否合理?同样,这仅适用于可用计算能力有限的大型数据集。有了足够的计算能力,我可以等到验证准确度下降。

1个回答

您不能假设损失不会随着额外的周期而下降,但通常可以安全地假设收益递减。这就是为什么停止规则是根据迭代次数和损失函数的变化来定义的。当收益变得微乎其微时,您想停止。那时,将准确率从 90.1% 提高到 90.2% 可能没有什么实际好处,并且在保留样本上的性能可能不会有太大差异。但是,这是一个您可以实际测试的经验问题。将一个模型运行到接近完成,然后运行另一个具有更严格停止标准的模型,并在暂停时进行比较。