# Classification :::info ## 原理 - 將input data帶入function後所得到的output用一個範圍來區分是哪一個種類以寶可夢為例他們有生命值、攻擊力、防禦力...等好幾種特徵,將這些特徵表示為一個vector來帶入function。 ![](https://i.imgur.com/H4zZMTw.png) ## 方法 - 不能使用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 - 公式: ![](https://i.imgur.com/fcZ2ktz.png) - $\sum_{}$與$\mu$: 若$\sum_{}$相等$\mu$不同機率分布的位置將不同![](https://i.imgur.com/jnGBeTo.png) 反之若$\sum_{}$不同$\mu$相等那分布的密集程度將不一樣![](https://i.imgur.com/uYrCZ2K.png) 我們可以得知$\sum_{}$代表分散程度$\mu$代表中心點 - Maximum Likeklihood ![](https://i.imgur.com/NwjT3L2.gif) 找到最適合的$\sum_{}$跟$\mu$讓要測驗的data分佈情況相同的可能性最大(生成出樣本點的機率最大),透過微分結果等於0的點得到![](https://i.imgur.com/HFAQj2W.png) - 補充: covariance matrix![](https://i.imgur.com/1TzMcmu.png) - 結果: 將計算出來的$\sum_{}$跟$\mu$帶入Gaussian Distribution![](https://i.imgur.com/p6C2daM.png) 接著定義一個boundary來區分此散佈情形計算方法如下![](https://i.imgur.com/Qorxjok.png) 最後發現正確率並不高即使換成6x6矩陣也只有64%![](https://i.imgur.com/JdWzHQT.png) - 優化: **將不同的class使用相同的covariance matrix** 因為不同的Gaussian以不同的covariance matrix,會造成model的參數太多,而參數多會導致該model的variance 過大,出現overfitting的現象,因此對不同的class使用 同一個covariance matrix,可以有效減少參數。 計算方法如下![](https://i.imgur.com/pOHYkOR.png) 最後結果為 ![](https://i.imgur.com/Pk9YbhP.png) ::: ::: :::success ## Three Steps of classification ![](https://i.imgur.com/BQX6x0E.jpg) - 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 - ![](https://i.imgur.com/Tm3ZjtT.jpg) - 前面使用probability distribution產生出來的generative function透過簡化可得到$P(C_1 \mid x)=\sigma(w \cdot x+b)$ - **Logistic Regression的方式就是直接找w和b** ## Logistic Regression and Linear Regression ![](https://i.imgur.com/fMQU3TB.jpg) ![](https://i.imgur.com/wcoeWC1.jpg) - **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會產生在很遠處的微分值是零(趨近於)的情況,造成誤判、增加尋找最佳解的時間及困難度 - ![](https://i.imgur.com/XperRm0.jpg) ## Multi-class Classification ![](https://i.imgur.com/pozizQH.png) ::: :::info ## Discriminative v.s. Generative - **Discriminative** - Logistic Regression的方法稱為Discriminative的方法 - 受data量影響(因為直接觀察data),量越多錯誤會越少。 - **Generative** - 使用Gaussian來描述posterior probability稱為Generative的方法 - 受data的影響較少(因為有自己的假設)。 - Generative Model中會假設兩種class出現的可能性(Prior),如果預先知道分布,可以增加效率。 EX. 語音識別中,特定句子出現的可能跟語音無關,此時分布可以通過大量文章預先推估。 - ![](https://i.imgur.com/G6xHAFE.png) ::: ###### tags: `ML2020`