Ch03: Bayesian Decision Theory
一句話解釋
用 Bayes’ Rule 計算 posterior,再依據 loss function 做出期望風險最小的決策。
隨機變數與機率分佈
機率建模
基本假設
資料 $x$ 視為從某個機率分佈 $p(x)$ 抽出的隨機變數。
目標:
- 從樣本推論出 $p(x)$ 的性質
- 對新觀察做預測或決策
為什麼要用機率?
- 不確定性建模: 現實世界充滿雜訊和未知因素
- 有限資料: 無法觀察所有可能的情況
- 模型不完美: 真實關係可能太複雜,只能用機率近似
機率觀點:
分類不是找「絕對正確」的答案,而是找「最可能」的答案。
Bayesian Classification
後驗機率
Bayes’ Rule 回顧
$$
p(C_k \mid x) = \frac{p(x \mid C_k)\, p(C_k)}{p(x)}
$$
各項意義:
- $p(C_k)$:**Prior(先驗機率)** — class $C_k$ 出現的機率
- $p(x \mid C_k)$:**Class-conditional density(likelihood)** — 給定 $C_k$ 時觀察到 $x$ 的機率
- $p(C_k \mid x)$:**Posterior(後驗機率)** — 觀察到 $x$ 後,$C_k$ 的機率
- $p(x)$:**Evidence** — $p(x) = \sum_k p(x \mid C_k) p(C_k)$
決策規則
Bayesian Decision Rule
選擇 posterior 最大的 class:
$$
\hat{C} = \arg\max_{k} p(C_k \mid x)
$$
等價於(分母 $p(x)$ 相同,可忽略):
$$
\hat{C} = \arg\max_{k} p(x \mid C_k)\, p(C_k)
$$
實例:Spam Detection
問題:郵件包含「free」這個字,是垃圾郵件嗎?
已知:
- $p(\text{spam}) = 0.3$(prior:30% 郵件是垃圾)
- $p(\text{free} \mid \text{spam}) = 0.8$(垃圾郵件 80% 含「free」)
- $p(\text{free} \mid \text{ham}) = 0.1$(正常郵件 10% 含「free」)
計算 posterior:
\[\begin{align} p(\text{spam} \mid \text{free}) &= \frac{p(\text{free} \mid \text{spam}) \, p(\text{spam})}{p(\text{free})} \\ &= \frac{0.8 \times 0.3}{0.8 \times 0.3 + 0.1 \times 0.7} \\ &= \frac{0.24}{0.24 + 0.07} = \frac{0.24}{0.31} \approx 0.774 \end{align}\]結論:77.4% 機率是垃圾郵件,應標記為 spam。
Losses and Risks
決策代價
為什麼需要 Loss?
現實中,不同類型的錯誤代價不同。
例:醫療診斷
- 漏診(false negative)→ 病人錯過治療,代價極高
- 誤診(false positive)→ 多做檢查,代價較低
Loss Matrix
$\lambda_{ij}$:真實 class 為 $C_j$,但採取 action $\alpha_i$ 所造成的 loss。
通常對角線(正確分類)loss 為 0:$\lambda_{11} = \lambda_{22} = 0$
| 真實 $C_1$ | 真實 $C_2$ | |
|---|---|---|
| 預測 $C_1$ | $\lambda_{11}$ | $\lambda_{12}$ |
| 預測 $C_2$ | $\lambda_{21}$ | $\lambda_{22}$ |
Expected Risk
Definition: Expected Risk
採取 action $\alpha_i$ 的期望風險:
$$
R(\alpha_i \mid x) = \sum_{k=1}^K \lambda_{ik}\, p(C_k \mid x)
$$
最優決策:選擇期望風險最小的 action
$$
\hat{\alpha} = \arg\min_{\alpha_i} R(\alpha_i \mid x)
$$
特例:0/1 Loss
0/1 loss:
$$
\lambda_{ik} = \begin{cases}
0 & \text{if } i = k \\
1 & \text{if } i \neq k
\end{cases}
$$
Expected risk:
$$
R(\alpha_i \mid x) = \sum_{k \neq i} p(C_k \mid x) = 1 - p(C_i \mid x)
$$
**最小化 risk 等價於最大化 posterior!**
$$
\arg\min_i R(\alpha_i \mid x) = \arg\max_i p(C_i \mid x)
$$
結論:
0/1 loss 下,Bayesian decision rule 就是選 posterior 最大的 class。
例:醫療診斷的 Loss
設定:
- $C_1$:有病,$C_2$:無病
- $\alpha_1$:診斷為有病(治療),$\alpha_2$:診斷為無病(不治療)
Loss matrix:
| 真實有病 | 真實無病 | |
|---|---|---|
| 診斷有病 | 0 | 1 |
| 診斷無病 | 10 | 0 |
- 正確診斷:loss = 0
- 誤診(false positive):loss = 1(多做治療)
- 漏診(false negative):loss = 10(錯過治療,嚴重!)
Expected risks:
\[\begin{align} R(\alpha_1 \mid x) &= 0 \cdot p(C_1 \mid x) + 1 \cdot p(C_2 \mid x) = p(C_2 \mid x) \\ R(\alpha_2 \mid x) &= 10 \cdot p(C_1 \mid x) + 0 \cdot p(C_2 \mid x) = 10\, p(C_1 \mid x) \end{align}\]決策:選 $\alpha_1$(診斷有病)當
$$
p(C_2 \mid x) < 10\, p(C_1 \mid x)
\(\) \Rightarrow p(C_1 \mid x) > \frac{1}{11} \approx 0.09
\[只要有病機率 > 9%,就該治療!(比 0/1 loss 的 50% 低很多) </div> ### Reject Option <div class="highlight-box" markdown="1"> <strong>Reject Option(拒絕分類):</strong><br> 當所有 class 的 posterior 都低於閾值 $\theta$ 時,選擇**拒答**。<br><br> <strong>應用場景:</strong> <ul> <li>人工審核系統:不確定時交給專家</li> <li>金融風控:拒絕高風險交易</li> <li>醫療診斷:建議進一步檢查</li> </ul> </div> <div class="math-block"> <strong>決策規則(with reject):</strong>\]\hat{C} = \begin{cases}
\arg\max_k p(C_k \mid x) & \text{if } \max_k p(C_k \mid x) \geq \theta
\text{reject} & \text{otherwise}
\end{cases}
$$
Discriminant Functions
實作方式
定義
將分類實作為 **discriminant function** $g_k(x)$:
$$
\hat{C} = \arg\max_k g_k(x)
$$
常見選擇:
**選項 1:直接用 posterior**
$$
g_k(x) = p(C_k \mid x)
$$
**選項 2:用 log-posterior(避免數值下溢)**
$$
g_k(x) = \log p(C_k \mid x) = \log p(x \mid C_k) + \log p(C_k) - \log p(x)
$$
由於 $\log p(x)$ 對所有 $k$ 相同,可簡化為:
$$
g_k(x) = \log p(x \mid C_k) + \log p(C_k)
$$
為什麼用 Discriminant Function?
- 計算效率: 不需要計算 $p(x)$(所有 class 共用)
- 數值穩定: log 避免機率乘積的下溢問題
- 簡化模型: 很多模型直接學習 $g_k(x)$,不經過 posterior
Decision Regions & Boundaries
幾何觀點
定義
Decision Region $\mathcal{R}_k$:被分到 class $C_k$ 的輸入空間區域
$$
\mathcal{R}_k = \{x : g_k(x) > g_j(x), \forall j \neq k\}
$$
Decision Boundary:不同 decision region 的交界
$$
\{x : g_i(x) = g_j(x)\}
$$
幾何直觀
- Decision region:輸入空間被分割成多個區域
- Decision boundary:多個 $g_k(x)$ 值相等的地方
- Boundary 上的點是「最難分類」的點,多個 class 的機率相近
例:兩個 Gaussian Class
設定:
- $p(x \mid C_1) = \mathcal{N}(\mu_1, \Sigma)$
- $p(x \mid C_2) = \mathcal{N}(\mu_2, \Sigma)$(相同 covariance)
- $p(C_1) = p(C_2) = 0.5$
Discriminant function:
\[\begin{align} g_k(x) &= \log p(x \mid C_k) + \log p(C_k) \\ &= -\frac{1}{2}(x - \mu_k)^T \Sigma^{-1} (x - \mu_k) + \text{const} \end{align}\]Decision boundary:$g_1(x) = g_2(x)$
經過化簡,這是一條直線(linear boundary)!
\[w^T x + w_0 = 0\]其中 $w = \Sigma^{-1}(\mu_1 - \mu_2)$
結論:相同 covariance 的 Gaussian → linear decision boundary
不同 Covariance
若 $C_1$ 和 $C_2$ 有不同的 $\Sigma_1, \Sigma_2$,decision boundary 是二次曲線(quadratic)。
這導致:
- Linear Discriminant Analysis (LDA):假設相同 covariance
- Quadratic Discriminant Analysis (QDA):允許不同 covariance
總結
Bayesian Decision Theory 的核心:
- 用 Bayes’ Rule 計算 posterior $p(C_k \mid x)$
- 定義 loss function $\lambda_{ik}$ 反映錯誤代價
- 計算 expected risk $R(\alpha_i \mid x)$
- 選擇 risk 最小的 action
實作方式:
- Discriminant function $g_k(x)$
- Decision regions 與 boundaries
- Reject option 處理不確定性
下一步:
- Parametric Methods:如何估計 $p(x \mid C_k)$(Gaussian, MLE, MAP)
- Non-parametric Methods:KNN, Kernel Density Estimation
- Discriminative Models:直接學習 $p(C_k \mid x)$(Logistic Regression, SVM)
參考資料
- Bishop, Pattern Recognition and Machine Learning, Chapter 1.5
- Duda, Hart & Stork, Pattern Classification, Chapter 2
- Murphy, Machine Learning: A Probabilistic Perspective, Chapter 5