通常通过将数据集分为三个部分来评估神经网络:
- 训练,
- 验证,和
- 测试
这个想法是,可以通过在验证数据上测试网络来调整网络的关键超参数(例如 epoch 数和学习率),同时保持测试数据完全不可见,直到只有在调整超参数之后才会进行最终评估.
但是,如果数据量非常小(例如每类 10-20 个示例),则将数据集分为三个拆分可能会由于缺乏训练数据而对模型产生负面影响,因此最好进行两个拆分。使合理数量的数据可用于训练的二分法是十倍分层交叉验证。
我的问题是——通过使用交叉验证反复评估超参数集来调整超参数在统计上是否合理?请记住,在这种情况下没有保留的测试数据,因为可用数据量太少。如果可能的话,我想要一些证据/引文,特别是对于小型数据集,这是估计导致最佳可泛化模型的最佳超参数的最佳方法。或者,如果有另一种更好的方法,我也想了解一下。