7、改善深層神經網絡之訓練/開發/測試集

在配置訓練、驗證和測試數據集的過程中做出正確決策會在很大程度上幫助大家創建高效的神經網絡。訓練神經網絡時,我們需要做出很多決策,例如:

  1. 神經網絡分多少層
  2. 每層含有多少個隱藏單元
  3. 學習速率是多少
  4. 各層採用哪些激活函數

在配置訓練、驗證、和測試數據集的過程中做出正確的決策會更好地創建高效的神經網絡,所以需要對這三個名詞有一個清晰的認識。

  訓練集:用來訓練模型

  驗證集:用於調整模型的超參數,驗證不同算法,檢驗哪種算法更有效

  測試集:根據最終的分類器,正確評估分類器的性能

假設有一個數據集,我們通常會將這些數據劃分成幾部分,一部分作為訓練集,一部分作為簡單交叉驗證集,有時也稱之為驗證集,方便起見,我就叫它驗證集(dev set),其實都是同一個概念,最後一部分則作為測試集。用一個長方形表示:

  • 如果數據只有100條,1000條或者1萬條數據,通常將樣本集設置為70%驗證集,30%測試集。,如果沒有明確設置驗證集,也可按照60%訓練集,20%驗證和20%測試集來分類較為合理。
  • 如果數據規模比較龐大,驗證集和測試集要小於數據總量的20%或10%
  • 測試集的目的是對最終所選定的神經網絡系統做出無偏估計,如果不需要無偏估計可以不設置測試集。所以如果只有驗證集,沒有測試集,需要做的就是在訓練集上訓練嘗試不同的模型,在驗證集上評估這些模型,然後迭代並選出適用的模型

參考://www.cnblogs.com/selenaf/p/9070076.html