# Classification
:::info
## 原理
- 將input data帶入function後所得到的output用一個範圍來區分是哪一個種類以寶可夢為例他們有生命值、攻擊力、防禦力...等好幾種特徵,將這些特徵表示為一個vector來帶入function。

## 方法
- 不能使用Regression來定義function
:::spoiler
- 原因:
因為把class 1的target當做是1,class 2的target當做是2,class 3的target當做是3,Regression認為class 1和class 2的關係是比較接近的,class 2和class 3的關係是比較接近的,而class 1和class 3的關係是比較疏遠的;但是當這些class之間並沒有什麼特殊的關係的時候,這麼做的結果是不好的。
- 解決方法:
重新定義Loss Function
$$ l(f)=\sum_{n} \sigma(f(x^n)\neq\hat{y}^n)$$
:::
- Gaussian Distribution(機率怎麼那麼難QQ)
:::spoiler
- 公式:

- $\sum_{}$與$\mu$:
若$\sum_{}$相等$\mu$不同機率分布的位置將不同
反之若$\sum_{}$不同$\mu$相等那分布的密集程度將不一樣
我們可以得知$\sum_{}$代表分散程度$\mu$代表中心點
- Maximum Likeklihood

找到最適合的$\sum_{}$跟$\mu$讓要測驗的data分佈情況相同的可能性最大(生成出樣本點的機率最大),透過微分結果等於0的點得到
- 補充:
covariance matrix
- 結果:
將計算出來的$\sum_{}$跟$\mu$帶入Gaussian Distribution
接著定義一個boundary來區分此散佈情形計算方法如下
最後發現正確率並不高即使換成6x6矩陣也只有64%
- 優化:
**將不同的class使用相同的covariance matrix**
因為不同的Gaussian以不同的covariance matrix,會造成model的參數太多,而參數多會導致該model的variance 過大,出現overfitting的現象,因此對不同的class使用 同一個covariance matrix,可以有效減少參數。
計算方法如下
最後結果為

:::
:::
:::success
## Three Steps of classification

- Step 1
- Function Set(Model)
- 選擇probability distribution(不同的probability distribution 就得到不同的function
- 不同的probability distribution有不同的mean、cocovariance matrix,去及合起來就是一個function set
- Step 2
- Goodness of a funtion
- 若使用Gaussian Distribution,就是要evalueate mean $\mu$ 和convariance $\sum$
:::
:::warning
## Logistic Regression
- 
- 前面使用probability distribution產生出來的generative function透過簡化可得到$P(C_1 \mid x)=\sigma(w \cdot x+b)$
- **Logistic Regression的方式就是直接找w和b**
## Logistic Regression and Linear Regression


- **Logistuc Regression**
- 使用在Label為非連續值(二元、多元分類問題)
features和Label間不必有線性關係,因為Features的值會做non-linear的 transform (sigmoid,因函式輸出剛好是0-1,可用其他輸出0-1函式)
- **Linear Regression**
- Label為連續值,假設資料的Features和Label之間有線性關係
- **Logistic Regression 為什麼$L(f)$不和Linear一樣使用 square error的方式?**
- 若使用error會產生在很遠處的微分值是零(趨近於)的情況,造成誤判、增加尋找最佳解的時間及困難度
- 
## Multi-class Classification

:::
:::info
## Discriminative v.s. Generative
- **Discriminative**
- Logistic Regression的方法稱為Discriminative的方法
- 受data量影響(因為直接觀察data),量越多錯誤會越少。
- **Generative**
- 使用Gaussian來描述posterior probability稱為Generative的方法
- 受data的影響較少(因為有自己的假設)。
- Generative Model中會假設兩種class出現的可能性(Prior),如果預先知道分布,可以增加效率。
EX. 語音識別中,特定句子出現的可能跟語音無關,此時分布可以通過大量文章預先推估。
- 
:::
###### tags: `ML2020`