ML Lecture - Classification & Logistic Regression
tags: Hung-yi Lee ML Lecture
Classification
在Classfication中,我們輸入一個X,而model告訴我們X的類別
ex. 機器翻譯、文法偵錯、臉部表情偵測…等
得到寶可夢的特徵並數值化
example of Classification(Pokemon)
以二分類為例,我們可以使用Regression。
輸出為{1, -1},即輸出為1到-1之間,接近1為class1,接近-1為class2。則我們以0為分界,若輸入大於0為class1,反之則為class2。
Why not Regression
在Linear Regression中,做Binary Classification是可行的。
但若資料是分群的(如右圖Class1),則會造成model收斂於紫線(為了降低誤差)。
Ideal Alternatives
先定義一function f(x),裡面有一g(x)。將x帶入g(x),若g(x)>0為類別1,否則為類別0。
定義Loss function L(f):f(x)分類錯誤的次數。
以機率模型實現
以箱子抽球為例
將Box變為class,給一個x(要分類的對象),它屬於某個class的機率為何,我們需要知道:
- $P(C1)$:從class1抽出來的機率
- $P(C2)$:從class2抽出來的機率
- $P(x|C1)$:從class1抽出x的機率
- $P(x|C2)$:從class2抽出x的機率
有了上面四種機率,就可以計算出$P(C1|x)$的機率(x是class1的機率)
example
如何判斷一個未出現在training set的data的機率?
假設從Gaussian中取出79個點,現在給一個新的點(不存在79個資料集中的新資料),就可以利用Gaussian Distribution function來計算出抽到該點的機率。
以分佈來看,該點愈接近中心點被抽到的機率會愈高,離中心愈遠被抽到的機率則愈低,因此黑點,New $x$離中心有點遠,被抽到的機率就會有點小。
所以,如何找出$μ$與$Σ$就是一個問題,而找出它們的概念就是Maximum Likelihood。
任何一個Gaussian Distribution都可以找出這79個點,只是可能性(Likelihood)不同。以右上分佈為例,它sample出左下角的機率很低,但不會為0。而要找出最大的$μ$與$Σ$,就必須用Likelihood function,即這79個點的乘積。
Maximum Likelihood
- 要找出最大的function,就必須找出最大的$μ$與$Σ$,即($μ^*$, $Σ^*$)
- 窮舉所有的$μ^*$和$Σ^*$,並找出最大的者:$μ^∗,Σ^∗$$=arg$ $\max\limits_{μ,Σ}L(μ,Σ)$
算出$μ^*$和$Σ^*$的方法就如同機率與統計的算法一樣。
有了上面的公式就可以求出兩個calss的各別$μ$與$Σ$,也就可以計算出$P(C1|X)$。
Now we can do classification
若$P(C1|X)>0.5$,這個$x$就屬於class1
How’s the results?
由右上圖可明顯的看出來這二類別並未有個明顯的分界。即使考慮了額外的七個特徵(類別),正確率也沒有明顯的提升。
Modifying Model
在實務上並不會讓每個高斯模型都擁有自己的$μ$和$Σ$,而是會共享參數,藉此減少參數的計算量。常見作法是不同類別有著相同的$Σ$。
Modifying Model-2
調整式子,讓水系與一般系神奇寶貝擁有相同的covariance,計算它們的likelihood:
- $L(μ^1,μ^2,Σ)=f_{u^1,Σ}(x^1)f_{u^1,Σ}(x^2)…f_{u^1,Σ}(x^{79})f_{u^2,Σ}(x^{80})f_{u^2,Σ}(x^{81})…f_{u^2,Σ}(x^{140})$
Modifying Model-Result
共用covariance之後,分界變為線性,這也稱為線性模型,並且考慮所有特徵之後正確率提升為73%。
Three Steps(Review)
- Model
- 有P(C1),P(C2),P(x|C1),P(x|C2)四種機率分佈,這就是模型的參數,只要你選不同的μ(mean)與Σ(covariance),就會得到不同的機率分佈模型。
- P(C1)>0.5, class=1
- Goodness of a function
- 要得到最好的模型,就必須找到最大的$μ$與$Σ$,以Maximum Likelihood求得。
- 要得到最好的模型,就必須找到最大的$μ$與$Σ$,以Maximum Likelihood求得。
Posterior Probability
補充
假設$μ$與$Σ$為已知,將高斯函數在$z$展開並將共同係數提出整理,得:
可得知$P(C1|x)=σ(z)=σ(w⋅x+b)$,由此可證明當兩類別為同一分佈時,分界線會呈線性的。
以上計算步驟太繁瑣了,能不能直接得到w及b呢?-Logistic Regression
Lecture 5 Logistic Regression
Step 1:Function Set
我們要找posteriori probability,當機率$P_{w,b}(C_{1}|x)≥0.5$則輸出$C_{1}$,否則即輸出$C_{2}$。
Step 2: Goodness of a Function
設我們有任一組w,b可產生N筆Data($x^1 … x^N$)
與Chapter 4 進行Classification時相同,用Maximum Likelihood找w,b。
Comparison-Logistic v.s. Linear
我們可以發現,在更新參數$w_{i}$ Logistic 和 Linear 是一樣的,差別在於輸出(紫色線部分)。前者輸出介於0到1之間,後者則可為任何數值。
Limitation of Logistic Regression
使用Regression分類就是找到一條直線去分類資料
x1,x2為座標點,-0.5為bias $b$
XOR Problem
但今天資料為分散的,就難以以一條線去做簡單分類。
這時我們就可將多一點的Regression疊在一起,輸出時再多加一層Regression來分類。
That’s Deep Learning
補充:Perceptron v.s. Logistic Regression
傳統的Perceptron使用step function當作輸出。
因step function為非線性,難以用微分計算誤差,故改用Sigmoid $σ(in)$。