0

這是一個我不斷面臨的問題,但似乎無法在任何地方找到答案。我有一個700個樣本的數據集。因此,我必須使用交叉驗證,而不是僅使用一個驗證和一個測試集來近似估計錯誤。交叉驗證後如何訓練最終的神經網絡模型?

我想用神經網絡來做到這一點。但是在用神經網絡進行CV並得到錯誤估計之後,我如何在整個數據集上訓練NN?因爲對於其他算法,如Logistic迴歸或SVM,不存在何時停止訓練的問題。但是對於NN,你需要訓練它直到你的驗證分數下降。因此,對於最終模型,對整個數據集進行訓練,您如何知道何時停止?

只是要說清楚,我的問題不是如何選擇NN的超參數。我可以通過使用嵌套的CV來做到這一點。我的問題是如何在整個數據集(何時更具體地停止)上訓練最終的NN,然後在野外應用它?

+0

我對此有點困惑:「因爲對於像Logistic迴歸或SVM等其他算法,您可以在10個案例中的一箇中使用參數來獲得最佳結果。」你爲什麼覺得這些算法是這種情況,而不是神經網絡的情況? – BradMcDanel

+0

這對神經網絡來說是一樣的,而不是我的問題。編輯。 – nafizh

回答

2

重組你的問題:

「當訓練神經網絡,通用停止準則是‘提前終止條件’這停止訓練時確認損失增加(信令過擬合)對於小型數據集,其中訓練。樣本是寶貴的,我們更願意使用其他標準並使用100%的數據來訓練模型。「

我認爲這通常是一個難題,所以我並不感到驚訝,你還沒有找到一個簡單的答案。我覺得你有幾個選擇:

  1. 添加正規化(例如脫落或批標準化),這將有助於防止過度擬合。然後,將訓練損失用於停止標準。您可以看到這種方法如何在驗證集上執行,而無需使用提前停止來確保模型不過載。
  2. 請務必不要過度配置模型。較小的模型將會有一個更困難的過擬合時間。
  3. 看看本文不依賴於驗證組描述的停止準則:https://arxiv.org/pdf/1703.09580.pdf

最後,你可能無法在這裏使用神經網絡。一般來說,這些模型對於大量的訓練數據效果最好。在700個樣本的情況下,使用另一種算法可能會獲得更好的性能。

+0

感謝您指出我可以採取的一些方法。在這種情況下似乎沒有達成一致。 – nafizh