这是我经常遇到的问题,但似乎没有找到答案。我有700个样本的数据集。因此,我必须使用交叉验证,而不是仅使用一个验证和一个测试集来获得错误的近似估计。
我想使用神经网络来做到这一点。但在使用神经网络进行CV并获得误差估计后,如何在整个数据集上训练NN?因为对于其他算法,如Logistic回归或SVM,不存在何时停止训练的问题。但是对于NN,你训练它直到你的验证分数下降。那么,对于最终模型,整个数据集的培训,你怎么知道何时停止?
为了说清楚,我的问题不是如何选择NN的超参数。我可以通过使用嵌套的CV来做到这一点。我的问题是如何在野外应用它之前在整个数据集上训练最终的NN(何时更具体地停止)?
答案 0 :(得分:2)
重新提出问题:
“在训练神经网络时,常见的停止标准是'早期停止标准',当验证损失增加时(信号过度拟合)停止训练。对于小型数据集,训练样本很珍贵,我们宁愿使用一些其他标准并使用100%的数据来训练模型。“
我认为这通常是一个难题,所以我没有发现一个简单的答案我并不感到惊讶。我想你有几个选择:
最后,您可能不会在此处使用神经网络。通常,这些模型在大量训练数据时效果最佳。在700个样本的情况下,使用另一种算法可以获得更好的性能。