
簡介
- 分類模型和迴歸模型一樣,都是監督式機器學習(Supervised ML),因此訓練過程也同樣需要不斷地「訓練 → 驗證 → 評估」。
- 不同的是,迴歸模型預測的是數值,而分類模型是判斷某個資料點屬於哪一類。演算法會計算每個類別的「機率(probability)」,再根據這些機率來做出分類,各類別的機率值合計為1.0。
- 最後評估模型表現時,就是比較「模型預測的類別」和「實際的類別」有多接近。
- 分類方式可區分為二元分類、多類別分類。
- 考題重點:何時使用分類(區別迴歸、分群)、辨別特徵(feature)和標籤(label)
二元分類Binary classification
二元分類的模型輸出,會將結果分為兩個類別。
例如,輸入血糖值(x)預測病患是否患有糖尿病,得出的結果為true=0.7, false=0.3。
此時,血糖值x是特徵(feature),預測出的結果─是否有糖尿病─是標籤(label)。
- 注意,在機器學習中,羅吉斯迴歸用於分類,而不是迴歸。
- 產出sgmoid(S型)函式,其y值介於0.0~1.0之間。
- 以下圖為例,若給定閾值(threshold)是0.5,則ŷ>0.5的病患,模型將預測為true(1),亦即預測患有糖尿病。
- f(x) = P(y=1 | x),給定x,y=1的(true)的機率

評估二元分類模型

混淆矩陣confusion matrix
- ŷ=0 和 y=0: 確判為假 (True negatives, TN)
- ŷ=1 和 y=0: 誤判為真 (False positives, FP)
- ŷ=0 和 y=1: 誤判為假 (False negatives, FN)
- ŷ=1 和 y=1: 確判為真 (True positives, TP)
準確率Accuracy
- (TN+TP) ÷ (TN+FN+FP+TP) 正確預測量/全部預測量
- 全部預測數中,正確預測(有病、無病)的數量
- 可能問題:在不平衡的資料中,可能會造成誤導。
例如,假設有糖尿病的人只佔總人口的 11%,若一個模型永遠預測一個人沒有糖尿病(ŷ=0),這個模型什麼都不用判斷,正確率也有89%。
召回率Recall = True positive rate (TPR)
- TP ÷ (TP+FN) 確判為真/實際為真
- 在實際有糖尿病的群體中(確判為有病+誤判為沒病),預測為有糖尿病的比率。
精確度Precision
- TP ÷ (TP+FP) 確判為真/判斷為真
- 在預測有糖尿病的群體中(確判為有病+誤判為有病),實際上有糖尿病的比率。
F1分數 F1-score
(2 x Precision x Recall) ÷ (Precision + Recall)
曲線下面積(Area Under the Curve, AUC)

- True positive rate (TPR),false positive rate (FPR) = FP÷(FP+TN)
- 變更模型的閾值(threshold),會影響TPR和TFR,為了評估模型在不同門檻下的整體表現,我們會繪製ROC曲線(received operator characteristic, ROC),比較所有可能門檻(0.0 到 1.0)下的 TPR 和 FPR 表現。
- 完美模型的 ROC 曲線,會完全貼合沿著TRP向上,再貼著FPR向右。(AUC=1,表示模型100%正確)
- 若ROC曲線是對角線(AUC=0.5),表示有50%猜對(沒有比隨機猜測好)。
多類別分類Multiclass classification
多類別分類是將資料點分類為兩個以上的類別,舉例:以鰭的長度(x)預測企鵝的物種,分類為三類:0, 1, 2。
一對多演算法 One-vs-Rest (OvR) algorithms
計算多個標籤的機率值
- f0(x) = P(y=0 | x)f1(x) = P(y=1 | x)f2(x) = P(y=2 | x)
- 則f0(x) 、f1(x)、f2(x) 分別計算出企鵝是0、1、2類別的機率。
- 每個演算法都會產生 sigmoid 函式,計算介於 0.0 到 1.0 之間的機率值。
多項式演算法Multinomial algorithms
- f(x) =[P(y=0|x), P(y=1|x), P(y=2|x)]
- 輸出為一個向量,包含所有可能類別的機率分布,總計最多為1.0。
評估多類別分類模型

- 與二元分類類似,使用混淆矩陣
- 分別計算0, 1, 2的準確率、召回率、精確度、F1分數。
- 計算整體確率、召回率、精確度。並依此計算整體F1分數。
舉例:

- 整體準確率 (TN+TP) ÷ (TN+FN+FP+TP) 正確預測量/全部預測量
= (13+6) ÷ (13+6+1+1) = 0.90 - 整體召回率 TP ÷ (TP+FN) 確判為真/實際為真
= 6÷(6+1) = 0.86 - 整體精確度 TP ÷ (TP+FP) 確判為真/判斷為真
= 6÷ (6+1) = 0.86 - 整體 F1 分數 (2 x Precision x Recall) ÷ (Precision + Recall)
= (2 x 0.86 x 0.86) ÷ (0.86 + 0.86) = 0.86
- 整體準確率 (TN+TP) ÷ (TN+FN+FP+TP) 正確預測量/全部預測量
AI-900系列文章目錄:
《AI-900》證照考試準備心得與筆記分享 - 系列文章