2016-08-02 37 views
1

我正在訓練一個神經網絡機器學習模型,並且對如何調整超參數有點困惑。如何使用驗證數據調整超參數

我看到訓練過程如下:與一些超參數

  • 構建神經網絡使用訓練數據
  • 使用驗證數據來評估
  • 更新參數(在隱藏層神經元的例如號碼)如果模型不是過擬合,並改善
  • 使用的測試數據,以評估性能

我被告知驗證數據也被用來調整超參數。我不知道如何做到這一點,因爲您在之後使用了驗證數據,並且已經構建了模型並對其進行了培訓。我無法更改超參數,因爲模型已經建好。

假設我有4個指定神經網絡結構的超參數。我是否應該對每個超參數組合(4^4個組合)進行整個培訓和驗證過程?

謝謝

回答

1

基本上是的,你必須經歷整個過程。通過這種方式進行交叉驗證和模型/參數選擇,您可以訓練多次(不同參數),評估所得模型(通過成本,損失,準確性或適當的度量標準),並選擇能夠獲得最佳結果的參數。例如,如果您在訓練迴歸模型時,可以訓練10個不同的多項式模型,並使用驗證數據來選擇更好的模型,在您的案例中選擇更好的模型,但是您使用不同的網絡架構。

+2

除了調整,您可以使用驗證集在訓練階段儘早停止,因爲每次迭代都會計算不僅火車損失而且驗證損失。然後選擇產生最佳驗證損失的參數設置作爲測試的最終模型。 – Ash