你有沒有在考試前,先拿幾題模擬題試水溫? 你可以把驗證資料集想成「訓練途中拿來看模型表現的模擬考」 它不是拿來真正學習參數的,而是幫你調模型和挑設定 如果把它拿去訓練,最後評估就會不準
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
驗證資料集 vs 訓練集 訓練集負責學參數 驗證資料集負責看調整後的效果 最關鍵的區別:學習和檢查
驗證資料集 vs 測試集 驗證集會被你反覆看 測試集只該最後看一次 最關鍵的區別:調參工具和最終考卷
驗證資料集 vs 交叉驗證 驗證集是固定切一份 交叉驗證是輪流切多份 最關鍵的區別:單次切分和多次輪替
記住這句就好
訓練用來學,驗證用來挑,測試用來算最後成績。
實際案例
調超參數 你在不同學習率之間比較時,看的就是驗證集表現,而不是訓練集分數
早停法 當驗證集開始變差而訓練集還在變好,通常表示模型可能已經過擬合
算法與應用
| 超參數搜尋 | 用它挑最佳設定 | 像學習率和層數 | | 早停法 | 監控驗證表現決定何時停 | 避免過擬合 | | 模型選擇 | 用它比較不同模型 | 選表現較穩的 | | 資料外洩 | 不能把驗證資訊混進訓練 | 不然結果會假高 |
情境判斷
Q1(直覺題): 你要比較兩個模型哪個更好,該先看哪個資料集?
先看驗證資料集,因為它是用來挑模型和調參的。
Q2(判斷題): 如果驗證集也拿去訓練,評估會怎樣?
通常會變得過於樂觀,因為你已經看過答案了。
常見問題
驗證集一定要獨立嗎?
要,否則你無法客觀調整模型。
驗證集比例多少比較好?
沒有唯一答案,重點是能代表真實資料又不影響訓練。
驗證集可以反覆看很多次嗎?
可以用來調整,但看太多也要小心對它過擬合。