2017-10-13 171 views
0

我有一個神經網絡問題用於更新神經網絡的驗證集?

假設我有60個培訓,20個驗證和20個測試集。對於每個時期,我通過60個訓練集樣本運行,同時調整每個樣本的權重,並計算每個驗證樣本的誤差。

所以我所知,發生在訓練集(未驗證集)

重量更新,但我聽說分離驗證從訓練集設置是爲了避免過度擬合。

然後我的問題是

如果驗證並不能使神經網絡中的任何權重更新,如何驗證設置幫助神經網絡避免過度擬合?

回答

0

就像你說的那樣,它並不是用來更新神經網絡的權重,而是用於顯示器訓練的進度。防止過度擬合的第一步是檢測它,並且使用驗證集提供關於網絡在訓練集之外普遍化的獨立度量。

因此,例如,您可以使用驗證集來決定何時停止訓練(在開始過度訓練之前)。如果你這樣做,只記得使用另一組(測試集)來產生最終評估指標。

0

驗證組用於model selection。大多數情況下,從一開始就不清楚什麼架構(神經網絡拓撲,層數,層次選擇和順序等)或超參數值(學習速率,層大小,丟失概率等)會產生最佳結果。

嘗試使用不同的體系結構和超參數來選擇最佳模型是合乎邏輯的。但是,如果您在測試集上評估每個模型,這意味着您正在基於測試集做出決定,因此測試性能(例如精度)不再獨立,並且捕獲模型泛化的程度。這就是爲什麼挑選另一組與測試集不同的通用組件進行驗證的原因。

還要注意檢測過度擬合欠擬合人都需要有訓練和測試的結果,因爲訓練丟失或精度本身並不能告訴任何東西。這就是爲什麼驗證是必要的,以避免過度配合(而不僅僅是)。