臺灣大學林軒田《機器學習基石》學習筆記第15講—— Validation
阿新 • • 發佈:2018-12-13
上節課我們引入了augmented error,並學習如何通過加入regularizer來限制model complexity,並求得augmented error的最小值。從開始到現在我們已經學習到很多模型,但究竟哪些模型能得到更好的泛化能力呢?這節課我們將來探討一下這個問題。 一、Model Selection Problem
對於一個簡單的binary classification問題,模型上,我們就有多維的選擇:
- 演算法A的選擇(PLA、pocket、linear regression…)
- 迭代次數T的選擇
- 學習速率η的選擇
- 特徵轉換feature transform φ的選擇
- 正則化regularizer的選擇
- 正則化係數λ的選擇
不同的選擇搭配,有不同的機器學習效果。
- 我們的目標是找到一個g使得Eout最小,但實際情況是Eout我們並不知道,我們並沒有辦法去衡量Eout究竟是多少。
- 那究竟如何來選擇這個g呢,或者說是模型?
- 我們首先想到可以通過Ein來做選擇,只要Ein越小越好,這樣是否可行呢?
- 我們知道找到的Ein往往會比要小,但這個代價會導致嚴重的overfitting,即bad generalization;
- 那假設我們在幾個不同的Hypothesis set中分別找出最小的Ein再做比較呢?也不行,因為等效的Hypothesis set變大了,變大,同樣容易導致overfitting,獲得很差的generalization;
- 所以通過Ein來選擇是不可行的!
- 那麼通過一個另外的測試資料集可行麼?
- 根據finite-bin Hoffding不等式,只要我們的模型個數M越小,數目越大,那麼就會越接近;
- 但是問題是這樣的我們並不好獲得。
- 既然使用和都有自己的侷限性,但其優點分別是找到一個小的和使用來檢驗generalization,那麼折中一下:
- 找到一個,它是通過資料集,一來是我們方便獲取的,二來可以用來替代;
- 驗證集是從訓練集D中抽取並獨立出來的,模型的訓練使用除了之外的資料,模型的驗證則使用驗證集。
二、Validation