AI入門:ML學習筆記[AI-004]_Classification
分類模型怎麼進行?
可以用迴歸來做分類模型嗎?
不好,會有資料分佈若不能用一條線切分時,有遠大於線的資料,會增加error。也可能誤把不同的Class之間進行關聯。
理想分類模型做法:
一樣找一個最佳function。但計算Loss function用預測錯誤的次數來算。
如何找function? Ans: Perception, SVM(support vector machine)。
由於資料經常遇到非線性可分的問題,因此需要事先將資料進行非線性轉換。常見的作法如 kernel method。
而 SVM最常採用的做法就是使用 Gaussian kernel轉換,又因轉換後模型易受雜訊影響,需進行 regularization (放寬 margin)。
Generative Model
以李弘毅老師的案例來看
假設現在有兩個Class,有水系(79)與一般系(61)的寶可夢。
P(C1)=79/140=0.56 , P(C2)=61/140=0.44。
將每一隻寶可夢都用一個vector來描述 (HP, 攻擊力, 防禦力,….) → Features
假定水系神奇寶貝就是高斯分佈(Gaussian Distribution,常態分佈)的資料集,
若可以從資料集算出model,就可以給定 X ,知道此 X 為這一系的機率。
作法採用 Maximum Likelihood,找到最大的Gaussian。
運算以後的結果再代入Generative Model。
理解概念後,即可以推展維度,納入更多資料進行運算。
但如果Accuracy仍差怎麼辦? Modifying Model
共用 covariance matrix (sigma) :讓水系、一般系採用相同sigma。
並重找 L(u1,u2,sigma),sigma為兩者加權計算得出。
Boundary(邊界)也因此轉成 linear(線性)
Accuracy=54% >>>Accuracy=73%
回顧機率模型三步驟
為什麼只用高斯分佈的機率模型?
沒有一定正解,今天也可以替換為其他機率分佈,差異在誤差變化。
若假設正確,Naive Bayes Classifer就可以得到很好的結果。
變得像 linear的原因…,經過一番運算,得 W, b
有沒有更快的方式找到 W, b => 老師埋伏筆說等 Logistic Regression介紹。
補充:
Sigmoid function 為數值越大,結果趨近於 1,數值越小,結果趨近於0