Ch01: Introduction to Machine Learning
一句話解釋
讓電腦透過範例資料或過去經驗,自動優化某個 performance criterion。
什麼是機器學習?
核心定義
Machine Learning:
設計並執行程式,透過樣本資料或過去經驗來優化某個性能指標(performance criterion)的過程。
核心元素
- 核心工具: 統計與機率理論
- 核心任務: 從樣本做推論(inference)
- “Learning”: 執行程式來優化模型參數
- “Model”: 對未來做預測,或從資料中獲取知識
與傳統編程的差異
| 傳統編程 | 機器學習 |
|---|---|
| 人工設計規則 | 從資料中學習規則 |
| 規則明確、可解釋 | 可能是黑盒模型 |
| 適合規則清晰的問題 | 適合規則複雜、難以明確描述的問題 |
機器學習的主要類型
分類方式
Supervised Learning
訓練資料:有標準答案(label)
目標:學習 input → output 的映射
例子:
- 分類(Classification)
- 迴歸(Regression)
Unsupervised Learning
訓練資料:**沒有** label
目標:發現資料內在結構
例子:
- 聚類(Clustering)
- 密度估計(Density Estimation)
Reinforcement Learning
訓練方式:與環境互動
目標:依據 reward/penalty 學習策略
例子:
- 遊戲 AI
- 機器人控制
其他學習類型
- Semisupervised Learning: 少量有 label + 大量無 label 資料
- Self-supervised Learning: 從資料本身構造監督訊號
- Federated Learning: 分散式學習,保護資料隱私
- Transfer Learning: 將一個任務學到的知識遷移到另一個任務
- Active Learning: 主動選擇最有價值的樣本進行標註
機器學習的核心議題
理論基礎
三個關鍵問題
**1. 什麼時候演算法能學得好?**
- Learnability(可學習性)
- 需要滿足什麼條件?
**2. Generalization(泛化能力)**
- 訓練好的模型能推廣到新資料嗎?
- 如何避免 overfitting?
**3. 樣本複雜度(Sample Complexity)**
- 需要多少資料才夠?
- 資料量與模型複雜度的關係?
Bias-Variance Trade-off
核心衝突:
- Bias(偏差):模型太簡單,無法捕捉資料複雜性 → Underfitting
- Variance(變異):模型太複雜,過度擬合訓練資料 → Overfitting
機器學習的藝術在於找到兩者的平衡點。
評估方式
- 訓練集(Training Set): 用於學習模型參數
- 驗證集(Validation Set): 用於調整超參數、選擇模型
- 測試集(Test Set): 用於評估最終模型的泛化能力
⚠️ 重要:測試集只能在最後使用一次,否則會洩漏資訊!
Bayes’ Rule(基礎工具)
機率推論
公式
$$
p(C \mid x) = \frac{p(x \mid C)\, p(C)}{p(x)}
$$
各項意義:
- $p(C)$:**Prior(先驗機率)** — 觀察資料前對 $C$ 的信念
- $p(x \mid C)$:**Likelihood(似然)** — 給定 $C$ 時觀察到 $x$ 的機率
- $p(C \mid x)$:**Posterior(後驗機率)** — 觀察到 $x$ 後對 $C$ 的信念
- $p(x)$:**Evidence(證據)** — 歸一化常數,$p(x) = \sum_C p(x \mid C) p(C)$
貝氏推論的哲學
Bayesian Inference:
先有一個 prior belief,觀察到資料後,用 Bayes’ Rule 更新成 posterior belief。
解讀:
\[\text{Posterior} \propto \text{Likelihood} \times \text{Prior}\]- Likelihood 高:資料支持這個假設
- Prior 高:在觀察前就相信這個假設
- Posterior 結合兩者,給出最終的信念
實例:醫療診斷
假設某疾病發生率 1%(prior),某測試:
- 有病時測出陽性 95%(sensitivity)
- 無病時測出陽性 5%(false positive rate)
問:測出陽性時,真的有病的機率?
設 $D$ = 有病,$+$ = 測試陽性
$$
\begin{align}
p(D \mid +) &= \frac{p(+ \mid D) \, p(D)}{p(+)} \\
&= \frac{0.95 \times 0.01}{0.95 \times 0.01 + 0.05 \times 0.99} \\
&= \frac{0.0095}{0.0095 + 0.0495} \\
&\approx 0.161
\end{align}
$$
驚人結論:即使測試陽性,真的有病的機率只有 16.1%!
這是因為疾病太罕見(prior 低),false positive 影響很大。
總結
機器學習的本質:
- 從資料中學習模式
- 用學到的模式對未見資料做預測或決策
- 核心挑戰是泛化能力
基礎工具:
- 機率論:建模不確定性
- Bayes’ Rule:從觀察更新信念
- 統計推論:從樣本推廣到母體
下一步:
- 監督式學習的詳細框架
- VC Dimension 與 PAC Learning
- Bayesian Decision Theory
參考資料
- Bishop, Pattern Recognition and Machine Learning, Chapter 1
- Murphy, Machine Learning: A Probabilistic Perspective, Chapter 1
- Alpaydin, Introduction to Machine Learning, Chapter 1