---
# System prepended metadata

title: 3.2 Classification
tags: [ML]

---

# 3.2 Classification

在 $1.2.2$ 節的銀行例子裡面，我們看到銀行根據一個人過去的紀錄，判斷如果某人借錢都有還（因此會讓銀行從他們身上賺到錢），那這個人就是低風險的，否則為高風險。

根據對 data 的分析，我們希望去 learn 「高風險顧客」這個 class，讓我們在未來如果有人要來貸款時，我們就能檢查這個人是否屬於高風險的 class，進而去決定要不要同意他的貸款。

假設我們有兩個 observable 的資訊，並且我們相信這兩點確實可以去評斷一個人的信用程度。這兩點分別為「年收入」和「存款」，我們將 「++年收入++」用 random variable ==$X_1$== 代表，「++存款++」用 random variable ==$X_2$== 代表。

除了這兩點以外，當然還有很多其他的因素，像是一個人完整的經濟狀態資訊、他貸款的用途、這個人的社會信用⋯⋯，如果我們能用有這些資訊，或許我們就可以 deterministically 去計算這個人究竟是該被歸類在低風險族群還是高風險族群，但是，這些資訊都是 nonobservables。

我們可以 observe 的是++一個人的 credibility++（用一個 Bernoulli random variable ==$C$== 代表），如果 $C=1$ 代表這個人是個++高風險++的顧客，$C=0$ 代表這個人是個++低風險++的顧客。而決定 $C$ 的方式是根據我們的 observables $X = [ X_1,X_2 ]^T$。

如果我們能知道 $P(C|X_1,X_2)$，也就是：

> 當年收入和存款是什麼樣的情況，什麼樣的程度上（也就是機率有多高）會使得 $C$ 是什麼樣的值（這個人究竟是高風險還是低風險） 

舉例來說，假設現在有個新的顧客要申請貸款，他的年收入 $X_1=x_1$，存款 $X_2=x_2$：

![image](https://hackmd.io/_uploads/SyXcVzGfA.png)
> <font color = "green">$P(C=1|x_1,x_2)>0.5$</font> 的意思是，在年收入和存款分別是 $x_1$、$x_2$ 的條件下，$C=1$（這個人屬於高風險）的機率 $>0.5$，
> $\rightarrow$ 有超過一半的機率這個人會是高風險，因此我們就選 $C=1$
> 
> <font color = "green">$P(C=1|x_1,x_2)>P(C=0|x_1,x_2)$</font> 的意思其實也相同，也就是在年收入和存款分別是 $x_1$、$x_2$ 的條件下，個人會是高風險（$C=1$）的機率大於他是低風險（$C=0$）的機率。

因此，發生錯誤的機率就是：
:::success
$1-max(\ P(C=1|x_1,x_2), \ P(C=0|x_1,x_2))$
:::
> 舉例來說，假設 $P(C=1|x_1,x_2)=0.6$，$P(C=0|x_1,x_2)=0.4$
> 
> 那我們就猜測這個人比較有可能是高風險（$C=1$），而當我們猜錯時，也就代表實際上 $x_1$ 和 $x_2$ 這樣的條件應該要是低風險（$C=0$），所以錯誤的機率即 $P(C=0|x_1,x_2)$，也就是 $0.4$。

現在我們將++observed variables 的向量++用 ==$x$== 表示，即：

$x=[x_1, x_2]^T$

那我們現在的問題就變成要去計算 $P(C|x)$

![3.2](https://hackmd.io/_uploads/rymBKfzfR.png)

- ==$P(C=1)$==：$C$ 是 $1$ 的 <font color = "snake">prior probability</font>。
> 在我們的例子裡就是不管 $x$ 的值是多少，這個顧客是高風險的機率。
> 
> $\rightarrow$ 也就是在我們的顧客裡面高風險的顧客的比例
>> 因為我們在去看 observables $x$ 之前，就先有了 $C$ 的值，所以才稱作 "prior" probability 
>> 
> $\rightarrow$ 滿足 $P(C=0) + P(C=1) = 1$
>> 「全部顧客裡低風險顧客的比例」$+$「全部顧客裡高風險顧客的比例」$=1$
- ==$p(x|C)$==：class 的 <font color = "snake">likelihood</font>，是 event $\in C$ 的條件下， observation value 是 $x$ 的機率
- ==$p(x)$==：<font color = "snake">evidence</font>，不管是 positive 或是 negative example，觀察到 observation $x$ 的 marginal probability。
> marginal probability：不考慮其他共通的事件／結果，某個單一的事件／結果發生的機率。

![image](https://hackmd.io/_uploads/H1NyQXQN0.png)
> 第一個等號：所有 class 裡面，每個 class 中是 $x$ 的機率之總和。
> 
> 第二個等號：是 positive example 的機率 $\times$ 是 positive example 且為 $x$ 的機率，加上是 negative example 的機率 $\times$ 是 negative example 且為 $x$ 的機率。

有了上述這些條件以後，我們就能去計算 <font color = "snake">posterior probability</font> ==$P(C|x)$==：

![image](https://hackmd.io/_uploads/HJSE4Xm4R.png)
> 在這裡， evidence 其實有 normalize 的作用，也就是我們把 positive / negative example 的 posterior probability 加起來會是 1。 
> 
> 理由大概描述如下，應該不難想像：

![image](https://hackmd.io/_uploads/SyYMwXQN0.png)

推廣到不只 positive / negative 兩種，而是有多個 class $C_i$ 的情況下：

![IMG_D32B5DBFF8B4-1](https://hackmd.io/_uploads/Byr-u77NA.jpg)
> 其中綠色框起來的部分，evidence 即是「是 $x$ 的機率」，也就是「每個 class 的機率，乘上這個 class 且是 $x$ 的機率」加總。

最後，<font color = "snake">Bayes' classifier</font> 會選擇 posterior probability 最高的 class 作為我們要分類到的 class，這樣一來，我們就能得到 min error。這句話寫成數學式如下：

![image](https://hackmd.io/_uploads/S1g-Fmm40.png)

