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

  • 本文為一系列課程之筆記,建議從" 機器學習基石筆記-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 的顯著性高。

[ 結論 ] 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