gpt4 book ai didi

python - 交叉验证后如何训练最终的神经网络模型?

转载 作者:行者123 更新时间:2023-11-30 09:28:59 25 4
gpt4 key购买 nike

这是我经常面临的一个问题,但似乎在任何地方都找不到答案。我有一个包含 700 个样本的数据集。因此,我必须使用交叉验证,而不是仅使用一个验证和一个测试集来精确估计错误。

我想使用神经网络来做到这一点。但是,在使用神经网络进行 CV 并获得误差估计后,如何在整个数据集上训练神经网络?因为对于 Logistic 回归或 SVM 等其他算法来说,不存在何时停止训练的问题。但对于神经网络来说,你需要训练它直到验证分数下降。那么,对于最终模型,在整个数据集上进行训练,你如何知道何时停止?

澄清一下,我的问题不是如何使用神经网络选择超参数。我可以通过使用嵌套简历来做到这一点。我的问题是在野外应用之前如何在整个数据集上训练最终的神经网络(更具体地说何时停止)?

最佳答案

重新表述您的问题:

“训练神经网络时,常见的停止标准是“早期停止标准”,当验证损失增加(信号过度拟合)时停止训练。对于训练样本宝贵的小数据集,我们更愿意使用一些其他标准并使用 100% 的数据来训练模型。”

我认为这通常是一个难题,所以我对您没有找到简单的答案并不感到惊讶。我认为你有几个选择:

  1. 添加正则化(例如 Dropout 或 Batch Normalization),这有助于防止过度拟合。然后,使用训练损失作为停止标准。您可以看到此方法如何在验证集上执行,而无需使用提前停止来确保模型不会过度拟合。
  2. 确保不要过度配置模型。较小的模型将更难以过度拟合。
  3. 看一下本文中描述的不依赖验证集的停止标准:https://arxiv.org/pdf/1703.09580.pdf

最后,您不能在这里使用神经网络。一般来说,这些模型在处理大量训练数据时效果最好。在这种有 700 个样本的情况下,您可能可以使用其他算法获得更好的性能。

关于python - 交叉验证后如何训练最终的神经网络模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46438060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com