Machine Learning學習日記 — Coursera篇 (Week 3.3):Multiclass Classification:One-vs-all

Pandora123
3 min readMay 31, 2016

--

Multiclass Classification

回目錄:Coursera章節

上一篇:Logistic Regression Model

下一篇:Regularization

Multiclass Classification:One-vs-all

若今天我們要分類的不只是個二元問題,而是很多個不同類別的問題時,要怎麼處理呢?

做法是將除了目前處理的類別之外的類別都視為同個群體

看起來可能有點抽象,所以來舉個例子吧:

很久很久以前,有三個類別....

我們要區分出綠色三角形時,要把藍色正方形跟紅色叉叉視為是一個群體來劃分(得到一個hypothsis):

然後分辨出藍色正方形(再得到一個hypothsis):

分辨紅色叉叉(又得到一個hypothsis):

最後我們可以得到三條可以清楚劃分不同類別的線(Decision Boundary)

也就是三種不同的hypothesis

而今天若是新增一組資料,我們要怎麼分類呢?

做法:將這組資料帶入不同的hypothesis,以上例而言,我們應該會有3個不同的hypothesis:三角形、正方形、叉叉

然後會得到這組資料是三角形、正方形、叉叉的三種不同機率

最後再根據最大的機率來分類出其最有可能的圖形

x = new data;p1 = triangle(x); //將x代入三角形的hθ(x)
p2 = rectangle(x); //將x代入正方形的hθ(x)
p3 = cross(x); //將x代入叉叉的hθ(x)
// 上述算出的p1-p3都是個介於0至1的浮點數which class should x belongs to = max(p1,p2,p3);/*
* 若是p1最大,代表x最有可能是三角形
* 若是p2最大,代表x最有可能是正方形
* 若是p2最大,代表x最有可能是叉叉
*/

隨堂練習

classifiers:分類器 / end up:結束後 / Approximately:接近

Ans:

--

--