在非常小的数据集上调整神经网络超参数在统计上最可接受的方法是什么?

人工智能 神经网络 超参数优化 超参数 测试 统计数据
2021-11-01 21:35:04

通常通过将数据集分为三个部分来评估神经网络:

  • 训练,
  • 验证,和
  • 测试

这个想法是,可以通过在验证数据上测试网络来调整网络的关键超参数(例如 epoch 数和学习率),同时保持测试数据完全不可见,直到只有在调整超参数之后才会进行最终评估.

但是,如果数据量非常小(例如每类 10-20 个示例),则将数据集分为三个拆分可能会由于缺乏训练数据而对模型产生负面影响,因此最好进行两个拆分。使合理数量的数据可用于训练的二分法是十倍分层交叉验证。

我的问题是——通过使用交叉验证反复评估超参数集来调整超参数在统计上是否合理?请记住,在这种情况下没有保留的测试数据,因为可用数据量太少。如果可能的话,我想要一些证据/引文,特别是对于小型数据集,这是估计导致最佳可泛化模型的最佳超参数的最佳方法。或者,如果有另一种更好的方法,我也想了解一下。

1个回答

我不再那么真正地使用验证,而只是训练和测试。为什么?因为我主要遵循 Ron Kohavi(斯坦福大学)的 CV 方法。我已经做了很多验证,但这似乎有点过头了,基本上让我问为什么我应该在我应该学习的一侧有这个非常小的采样参数手表。当训练错误偏离测试错误时,您知道 ANN 是否过度拟合——这表明模型正在崩溃。