iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0
AI & Data

30 天入門常見的機器學習演算法系列 第 12

(Day 12) 多元分類任務驗證指標

  • 分享至 

  • xImage
  •  

多元分類任務驗證指標就只是從二元分類任務驗證指標延伸而來,核心概念一樣是二元分類任務驗證指標,而兩者只是在計算內容上有些許差異,所以指標仍然是 Accuracy、Recall、F1-score 等,所以請讀者先將二元分類任務驗證指標熟練後再來看。

指標介紹

混淆矩陣 (Confusion Matrix)

假設我們有 3 個類別 [A, B, C],模型的預測結果如下:

實際 \ 預測 A B C
A 50 2 3
B 4 45 1
C 5 2 43
  • 列 (row) = 實際標籤
  • 行 (column) = 模型預測
  • 對角線 (50、45、43) = 預測正確的數量

從多元分類矩陣取出 TP / FP / FN / TN

對單一類別 (One-vs-All),例如要計算「類別 A」的指標:

  • TP_A = 混淆矩陣中 A–A 的數字 = 50
  • FP_A = 預測為 A 但實際不是 A 的數字總和 = 4 (B→A) + 5 (C→A) = 9
  • FN_A = 實際為 A 但預測不是 A 的數字總和 = 2 (A→B) + 3 (A→C) = 5
  • TN_A = 其他所有正確分類的數字 = 全部總數 - (TP_A + FP_A + FN_A)

這樣每個類別都能得到對應的 TP、FP、FN、TN

計算每個類別的指標

對於 A 類別:

$$
\text{Precision}_{A} = \frac{TP_A}{TP_A + FP_A} = \frac{50}{50 + 9} \approx 0.847
$$

$$
\text{Recall}_A = \frac{TP_A}{TP_A + FN_A} = \frac{50}{50 + 5} \approx 0.909
$$

$$
\text{F1}_A = 2 \times \frac{Precision_A \times Recall_A}{Precision_A + Recall_A} \approx 0.877
$$

B, C 類別同理計算

平均策略

因為多元分類有多個 Precision、Recall、F1,我們需要做彙總。常見的方法:

  • Macro Average

    • 直接對每個類別的指標取平均

    • 每個類別權重相等,適合類別數據量差異不大時

      $$
      \text{Macro-Precision} = \frac{\sum_{i=1}^k \text{Precision}_i}{k}
      $$

  • Weighted Average

    • 依照每個類別的樣本數加權平均

    • 適合類別不平衡情況

      $$
      \text{Weighted-Precision} = \frac{\sum_{i=1}^k (\text{Precision}_i \times \text{support}i)}{\sum{i=1}^k \text{support}_i}
      $$

      其中 $\text{support}_i$ = 該類別的樣本數

  • Micro Average

    • 將所有 TP、FP、FN 在全體層面累加後計算 Precision、Recall、F1
    • 對類別不平衡不敏感,更偏向整體正確率的概念

Accuracy

$$
\text{Accuracy} = \frac{\sum_{i=1}^k TP_i}{\text{全部樣本數}}
$$

其實就是混淆矩陣對角線數字的總和 / 全部樣本數。
在例子中:

$$
\text{Accuracy} = \frac{50 + 45 + 43}{50 + 2 + 3 + 4 + 45 + 1 + 5 + 2 + 43} = \frac{138}{155} \approx 0.890
$$

ROC-AUC / PR-AUC (多元分類)

  • One-vs-All: 每次把一個類別當正例,其餘類別當負例,計算該類別的 ROC-AUC / PR-AUC,再取 Macro 或 Weighted 平均
  • One-vs-One: 兩兩類別比較,取平均 (較少用)

總結流程

  • 從 n×n 混淆矩陣取出每個類別的 TP、FP、FN、TN (One-vs-All)
  • 計算每個類別的 Precision、Recall、F1
  • 選擇平均策略 (macro / weighted / micro) 彙總
  • Accuracy 直接用對角線和 / 總樣本數
  • ROC-AUC / PR-AUC 用 One-vs-All 或 One-vs-One 再平均

上一篇
(Day 11) 二元分類任務驗證指標
下一篇
(Day 13) 迴歸任務驗證指標
系列文
30 天入門常見的機器學習演算法30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言