深度學習聖經 裏面關於超參數和驗證集這一章節

  在NG的ML課程中和西瓜書中都有提到:最佳的數據分類情況是把數據集分爲三部分,分別爲:訓練集(train set),驗證集(validation set)和測試集(test set)。那麼,驗證集和測試集有什麼區別呢?

 實際上,兩者的主要區別是:驗證集用於進一步確定模型中的超參數(例如正則項係數、ANN中隱含層的節點個數等)而測試集只是用於評估模型的精確度(即泛化能力)!

   舉個例子:假設建立一個BP神經網絡,對於隱含層的節點數目,我們並沒有很好的方法去確定。此時,一般將節點數設定爲某一具體的值,通過訓練集訓練出相應的參數後,再由交叉驗證集去檢測該模型的誤差;

然後再改變節點數,重複上述過程,直到交叉驗證誤差最小。此時的節點數可以認爲是最優節點數,即該節點數(這個參數)是通過交叉驗證集得到的。而測試集是在確定了所有參數之後,根據測試誤差來評判這個學習模型的;也可以說是用來評估模型的泛化能力。所以,驗證集主要主要是用於模型的調參。

原書是這麼說的:驗證集是用來 訓練超參數的, 等到所有的超參數都經過優化以後,就通過 測試集來評估訓練好的模型的好壞了(也就是泛化能力強不強)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章