林軒田機器學習基石筆記 - 第十六講

機器學習基石第十六講 : 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 的顯著性高。

[ 結論 ]

  1. 建立 model 時,從簡單的 linear model 先嘗試
  2. 時時刻刻問自己,建立出來的 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}$

3個 ML 原則 — Occam’s Razor 、 Simple Bias and Data Snooping