ML:基礎學習
課程:機器學習基石
簡介:第十五講 Validation
對應的演算法則有
目標:選出最小 的 對應的演算法為
但 未知,該如何選?
流程圖
由下圖可看出
訓練 個資料,需要花 的時間
若 ,且有 25 個 model,請問需要花多少時間找到 ?
可以發現,若直接找最小的 反而時間還花得比較多
且
那麼 如何接近 呢?取平均的
從下圖看出,使用 比 好
實際經驗上,通常切為十份
訓練 個資料,需要花 的時間
若為 10-fold,且有 25 個 model,請問需要花多少時間找到 ?
課程:機器學習基石
簡介:第十五講 Validation
Model 挑選的問題
假設有 M 個 models目標:選出最小
但
- 用眼睛看?
- 不行
- 在第十二講提過,內部大腦運作後,加進去不見得比較好
- 最好的
? - 不行
永遠比 好,加了 的反而比較差- 假設在
挑出 ,相當於在聯集 取,這會造成 model 複雜度上升 - 最好的
? - 似乎可行
第四講的 finite-bin Hoeffding- 該如何找出測試資料?不可能,存在於未來的考試
- 最好的
? - 從原有的
分出一些資料 - 乾淨,未被任何演算法污染過
驗證
流程圖
- 需要較大的 K,才能保證兩者很接近
- 需要較小的 K,這樣訓練的資料才會多,才能保證兩者很接近
- 實務經驗上通常
訓練
若
Leave-one-out Cross Validation
假設 K=1,那麼
缺點 Leave-one-out Cross Validation
- 極度花時間
- linear regression 有公式解,故可實現
- Error 不夠穩定
- 在實務上不常使用
V-Fold Cross Validation
想法與 leave-one-out 一樣,但不是只拿一筆,而是切成十等份,然後輪流做為驗證訓練
若為 10-fold,且有 25 個 model,請問需要花多少時間找到
結論
- 驗證工具選用
- 若計算上允許,V-Fold 會比只有一次的驗證還好
- 5-Fold or 10-Fold 通常已足夠好,不需用到 Leave-One-Out
- 實際流程
- 訓練:在各個 hypotheses 選出第一名
- 驗證:針對每個第一名測試,並再選出最好
- 測試:實際上戰場,不做任何選擇
- 驗證還是比測試樂觀,因有選擇就可能存在污染的風險
驗證的表現再好,都沒用,只有測試的表現才最重要
留言
張貼留言