林軒田機器學習基石筆記 - 第十六講
本文為一系列課程之筆記,建議從” 機器學習基石筆記-1 “開始閱讀
**本文討論內容請參考:
機器學習基石第十六講 : Three Learning Principles**
- 本篇所有圖片部分由筆者製作,其它均為機器學習基石課程內容講義
Three principles
Occam’s Razor
若針對某一個問題有多種model可以預測,則選擇越簡單的越好
- 用簡單的 model 才能有其顯著性。複雜的 model 能適用各種狀況,顯著性相對低,且容易發生 overfitting 的問題。

Simple Model : Simple Hypothesis $h$ / Simple Model $\mathbb{H}$
$h$ 其實會被 $\mathbb{H}$ 侷限住 $\Longrightarrow$ small $\Omega(\mathbb{H})\rightarrow$ small $\Omega(h)$
而 Simple $\mathbb{H}$ 會有較小的 $m_{\mathbb{H}}(N)$
$\Longrightarrow$ 從 $\displaystyle{\frac{m_{\mathbb{H}}(N)}{2^N}}$ 來看,資料能夠被分類的機率小
$\Longrightarrow$ 表示若此 model 可以有不錯的表現,那麼此 model 的顯著性高。
[ 結論 ]
- 建立 model 時,從簡單的 linear model 先嘗試
- 時時刻刻問自己,建立出來的 model 夠不夠簡單
Simple Bias
確保 data 的機率分布與 test data 的機率分布要相同
- VC theory 成立的前提 : data 從 $\mathbb{P}(\mathbb{X},y)$ 生成,而 test data 也應由此分布進行抽樣
- 在實務中,要有完全相同分布其實並不容易,但我們必須盡可能的使其相似
$\Longrightarrow$ 若 test data 是來自 data $\mathbb{D}$ 之後,那我們在進行 training 時必須將 data $\mathbb{D}$ 的後半部進行加強 ( maybe 加強權重 ),而 validation 時也應取 $\mathbb{D}$ 後半部作為 validation data。
Data Snooping
Data snooping 的狀況在先前課程中便有提到過 : 以視覺判斷最好的 $d_{vc}$ 便是一個 data snooping 狀況 。 (詳見 : “ 林軒田機器學習基石筆記 - 第十二講 “”)
VC theory 的保證也必須確認 $\phi$ 的轉換必須在無 data snooping 下決定
若必須做 data scaling,若將 training data 與 test data 一起處理也會有可能發生 data snooping
在論文、研究中常常奠基於前人的基礎也會有 data snooping 的疑慮
比較極端避免 data snooping 的方法 : 將 test data 完全隔離,直到最後才拿出來使用,驗證模型則是使用 validation data 來重複使用選擇 model,且使用上需要謹慎。
在做任何有關 model 的決定時,避免由資料來做判斷
時時刻刻要對研究結果、論文抱持懷疑,且必須思考整個過程資料究竟被「汙染」了多少。
The power of THREE — Summary of Machine Learning
3個相關領域 — Data mining、Artificial Intelligence and Statistics
- Data Mining : 使用大量資料試圖找出有趣的特性 (ML 與 DM 在現實難以區分)
- Artificial Intelligence : 用具智慧的行為去做一些事情 (ML 是實現 AI 的一種方法)
- Satistics : 從資料去推論ㄧ些未知的事物 (Statistics 有許多對於 ML 有用的工具)
3個理論上的保證 — Hoeffding、Multi-Bin Hoeffding and VC Bound
- Hoeffding : $\boldsymbol{P}[\![BAD]\!]\leq2e^{-2\epsilon^2N}$ , for one hypothesis
( 對於 test 的保證)
- Multi-Bin Hoeffding : $\boldsymbol{P}[\![BAD]\!]\leq2Me^{-2\epsilon^2N}$ , for M hypotheses
( 對於 validation 的保證 )
- VC Bound : $\boldsymbol{P}[\![BAD]\!]\leq4m_{\mathbb{H}}(2N)e^{-\frac{1}{8}\epsilon^2N}$ , for all $\mathbb{H}$
( 對於 training 的保證 )
3種 Linear Model — PLA/Pocket、Linaer regression and Logistic regression
- PLA/Pocket : 0/1 error,用特殊方式進行 minimize
- Linear Regression : Square error,用解析解 ( 公式解 ) 方式 minimize
- Logistic Regression : CE error,用迭代方式 minimize
3種重要工具 — Feature transform、Regularization and Validation
- Feature transform : $E_{in}(\mathbb{W})\longrightarrow E_{in}(\tilde{\mathbb{W}})$ , $d_{vc}(\mathbb{H})\longrightarrow d_{vc}(\mathbb{H}{\phi})$ , $E{in}\downarrow$ then $d_{vc}\uparrow$
- Regularization : $E_{in}(\mathbb{W})\longrightarrow E_{in}(\mathbb{W}{REG})$ , $d{vc}(\mathbb{H})\longrightarrow d_{EFF}(\mathbb{H},\mathcal{A})$ , $E_{in}\uparrow$ then $d_{EFF}\downarrow$
- Validation : $E_{in}(h)\longrightarrow E_{val}(h)$ , $\mathbb{H}\longrightarrow\left{g_1^-,g_2^-,\cdots,g_M^-\right}$