oiML:基礎學習
課程:機器學習基石
簡介:第十三講 Hazard of Overfitting
可以發現 \(H_2\) 表現都比 \(H_{10}\) 好,即使目標函數同為十次方,為什麼呢?
那麼 \(N,\sigma ^2, Q_f\) 之間對於 overfit 的關係又是什麼?
兩種 noise
何謂 deterministic noise
如下圖,灰色部分無法被 \(h^*\) 所描述的差距
表現跟 stochasetic noise 很像,像是電腦的隨機亂數,其實也只是複雜的函數
跟 stochasetic noise 的差別為
data cleaning/pruning
左上角的叉叉,不像 5 也不像 1
data hinting
例:下圖旋轉一定的角度,得到更多的資料
可能有用,但必須小心,因加進去的資料可能會導致偏離原本的資料分佈
也就是不再保證為 i.i.d,甚至導致旋轉的圖都學對了,但原本的圖卻是錯的
課程:機器學習基石
簡介:第十三講 Hazard of Overfitting
學習 | 開車 |
---|---|
overfit | 車禍 |
\(d_{VC}\) 過度 | 開太快 |
noise | 路不平 |
有限的 data | 缺乏觀察路況 |
範例討論
兩種目標函數如下,分別使用\(H_2\) 跟 \(H_{10}\) 作為比較可以發現 \(H_2\) 表現都比 \(H_{10}\) 好,即使目標函數同為十次方,為什麼呢?
- 十次多項式 + noise
- 如下圖,在灰色區域,\(E_{in}\) 一定是右邊比較好,但\(E_{out}\) 卻是左邊比較好
- 即使已知十次,再用十次去學習,但當 data 數不夠多時, \(H_2\) 仍是比較好的選擇
- 五十次多項式
- 雖然無 noise,但目標本身的複雜度也相當於 noise
細部討論
假設目標函數如下,\(Q_f\) 表示函數為幾次方,\(N\) 為資料大小那麼 \(N,\sigma ^2, Q_f\) 之間對於 overfit 的關係又是什麼?
$$
y=f(\mathbf{x})+\epsilon \sim Gaussian\left ( \sum_{q=0}^{Q_f}\alpha _q\mathbf{x}^q,\sigma ^2 \right )
$$
圖的值為 \(E_{out}(g_{10})-E_{out}(g_{2})\)兩種 noise
- stochasetic noise
- \(\sigma ^2\) 所產生的
- deterministic noise
- 目標的複雜度所產生的
何謂 deterministic noise
如下圖,灰色部分無法被 \(h^*\) 所描述的差距
表現跟 stochasetic noise 很像,像是電腦的隨機亂數,其實也只是複雜的函數
跟 stochasetic noise 的差別為
- 被 \(H\) 所決定
- 被 \(\mathbf{x}\) 所決定,為固定值
overfit 增加的原因
- \(N\) 減少
- stochastic noise 增加
- deterministic noise 增加
- \(H\) 過度複雜
如何解決 overfit
學習 | 開車 |
---|---|
從簡單的 model 開始 | 開慢車 |
data cleaning/pruning 將資料弄準一點 |
路況資料準一點 |
data hinting 更多的資料,或從原本資料產生更多新的資料 |
路況資料多一點 |
regularizaion | 適當的剎車 |
validation | 監測儀錶板 |
data cleaning/pruning
左上角的叉叉,不像 5 也不像 1
- data cleaning : 也許是 1,故修正為1
- data pruning : 直接移除不使用
data hinting
例:下圖旋轉一定的角度,得到更多的資料
可能有用,但必須小心,因加進去的資料可能會導致偏離原本的資料分佈
也就是不再保證為 i.i.d,甚至導致旋轉的圖都學對了,但原本的圖卻是錯的
留言
張貼留言