iPAS AI 應用規劃師 中級 科目一

同時兼顧 Precision 和 Recall,要看哪個指標?

原題 10

如果希望同時兼顧「精確率(Precision)」和「召回率(Recall)」,下列哪一個指標可以作為綜合評估的標準?

白話

評估 AI 分類模型時,有兩個常用指標:「Precision(精確率)」和「Recall(召回率)」。這兩個指標通常互相牽制,很難同時都高。

有一個指標可以把這兩個合併成一個分數,方便你一眼看出模型整體表現。

問你:哪一個指標能同時兼顧 Precision 和 Recall?

點選你的答案。

01 總結

一句話總結

要同時兼顧精確率和召回率,答案是 F1 分數(F1 Score):它是 Precision 和 Recall 的調和平均數,兩者都高時 F1 才會高,任一個很低時 F1 也會跟著低

02 情境

先感受問題:抓壞人和冤枉好人,很難兩全

「信安金融」的 AI 風控系統要辨識詐騙交易,每筆交易分類成「詐騙(正例)」或「正常(負例)」。

工程師面對一個兩難:

Precision(精確率):AI 說「這是詐騙」時,真的有多少比例是詐騙?
→ Precision 高 = AI 很少冤枉好人

Recall(召回率):所有真正的詐騙交易,AI 抓到了多少?
→ Recall 高 = AI 很少漏掉壞人

問題:如果把 AI 調得「非常謹慎」(只有非常確定才說詐騙),Precision 就很高,但很多詐騙沒被抓到,Recall 就低。反過來,如果「非常激進」(稍有嫌疑就說詐騙),Recall 高,但冤枉很多好人,Precision 低。

這時候需要一個指標,讓你在這個 tradeoff 中找到綜合評估的依據,那就是 F1 分數。

F1 分數是 Precision 和 Recall 的調和平均:兩個都高,F1 才高;任何一個很低,F1 就跟著低。比單純算算術平均更嚴格。

03 對照

只看 Precision 或 Recall 各自會踩哪些坑?

  1. 只看 Recall 的問題:AI 學到「所有交易都說詐騙」就能達到 Recall = 1.0(沒有漏掉任何詐騙),但 Precision 接近 0,實際上毫無用處。信安金融會把所有正常客戶都凍結帳戶。
  2. 只看 Precision 的問題:AI 學到「只對最確定的一筆詐騙下判斷」,Precision = 1.0(判定詐騙的都真的是詐騙),但 Recall 接近 0,99.9% 的詐騙都漏掉了。
  3. 只看 Accuracy 的問題:如果 1000 筆交易裡只有 10 筆是詐騙(1% 詐騙率),AI 說「所有都是正常」就能得到 99% 的 Accuracy,但完全沒用。
  4. 無法比較兩個模型誰更「均衡」:模型 A(Precision 0.9,Recall 0.3)和模型 B(Precision 0.6,Recall 0.7),光看個別數字很難判斷誰更好用,F1 讓比較有單一基準。
  5. 決策者要求「一個數字說了算」:向主管報告時,同時說 Precision 和 Recall 容易讓人困惑,F1 提供了一個綜合分數方便決策。
04 解法

F1 分數:調和平均讓任何一個低都會拖分

信安金融的工程師用 F1 分數作為模型評估基準:

模型 A 的 F1:Precision = 0.9,Recall = 0.3

F1 = 2 × (0.9 × 0.3) / (0.9 + 0.3) = 2 × 0.27 / 1.2 = 0.45

模型 B 的 F1:Precision = 0.6,Recall = 0.7

F1 = 2 × (0.6 × 0.7) / (0.6 + 0.7) = 2 × 0.42 / 1.3 ≈ 0.65

模型 B 的 F1 明顯更高,代表它在「不冤枉好人」和「不漏掉壞人」之間取得了更好的平衡。

算術平均的問題:(0.9 + 0.3) / 2 = 0.60,和 (0.6 + 0.7) / 2 = 0.65,差距沒那麼明顯。調和平均(F1)對低值更敏感,更能凸顯 Recall = 0.3 這個嚴重弱點。

這就是選項 D 講的:F1 分數(F1 Score)能兼顧 Precision 和 Recall

技術版:F1 分數的公式與調和平均的意義

中級考試大概率會考程式碼跟公式,所以這部分你還是要學。但如果現在學起來很痛苦,可以先跳過,等讀完其他題目回頭再來。

Step 1 純故事版(不出現公式)

想像兩個跑者的平均速度:一個跑 10 公里花了 1 小時,另一個跑 10 公里花了 9 小時。

算術平均:(10 + 10/9) / 2 ≈ 5.6 公里/小時,但實際上兩個人合計跑了 20 公里花了 10 小時,真正的平均是 2 公里/小時。

調和平均才是正確答案,而 F1 就是 Precision 和 Recall 的調和平均:它對「低分那個」更敏感,一個很低的值會大幅拉低整體。

Step 2 中文 ↔ 公式對照
白話說法公式
Precision(精確率)P = TP / (TP + FP)
Recall(召回率)R = TP / (TP + FN)
F1 分數F1 = 2PR / (P + R) = 2TP / (2TP + FP + FN)
調和平均(n=2)的一般式H = 2 / (1/P + 1/R)
廣義 Fβ 分數Fβ = (1+β²) × PR / (β²P + R)
Step 3 符號角色表
TP(True Positive)
真陽性:AI 說「詐騙」,真的是詐騙
FP(False Positive)
假陽性:AI 說「詐騙」,但其實是正常交易(冤枉好人)
FN(False Negative)
假陰性:AI 說「正常」,但其實是詐騙(漏掉壞人)
TN(True Negative)
真陰性:AI 說「正常」,真的是正常交易
β(beta)
Fβ 中對 Recall 的重視程度,β > 1 代表更在乎 Recall,β < 1 更在乎 Precision
Step 4 完整公式計算範例
信安金融模型評估:
TP = 80(抓到的真實詐騙)
FP = 20(冤枉的正常交易)
FN = 40(漏掉的詐騙)
TN = 860(正確識別的正常交易)

Precision = 80 / (80 + 20) = 80/100 = 0.80
Recall = 80 / (80 + 40) = 80/120 ≈ 0.667
F1 = 2 × 0.80 × 0.667 / (0.80 + 0.667)
   = 2 × 0.533 / 1.467
   ≈ 0.727

Accuracy = (TP + TN) / Total = (80 + 860) / 1000 = 0.94
→ Accuracy 看起來很高,但 F1 = 0.727 才真正反映詐騙偵測的效果
Step 5 自我複述
  1. FP 增加時,Precision 會怎麼變化?
  2. FN 增加時,Recall 會怎麼變化?
  3. F1 和算術平均的主要差別是什麼?哪一個對極端值更敏感?
  4. 如果詐騙漏掉的代價遠大於冤枉好人,應該用 F1 還是 Fβ(β > 1)?
  5. Accuracy 在類別不平衡(imbalanced)的資料集上有什麼問題?
05 陷阱

為什麼其他選項是錯的

選項 A 準確率(Accuracy)

字面在說什麼:Accuracy 可以同時兼顧 Precision 和 Recall。

為什麼不對:Accuracy 的公式是 (TP + TN) / 全部樣本,它包含了 TN(正確識別的負例),完全不反映 Precision 和 Recall 的 tradeoff。在類別不平衡的資料集(如詐騙偵測,99% 正常交易),把所有交易都說「正常」,Accuracy = 99%,但 Precision 和 Recall 都是 0。Accuracy 和 Precision/Recall 是完全不同維度的指標。

誰會選錯:記得「Accuracy 是最常用的評估指標」就直接選的人,沒有意識到 Accuracy 無法反映 Precision 和 Recall 的平衡關係。

選項 B 均方根誤差(RMSE)

字面在說什麼:RMSE 能綜合評估 Precision 和 Recall。

為什麼不對:RMSE(Root Mean Squared Error)是迴歸任務(預測連續值,如房價、溫度)的評估指標,衡量預測值和真實值之間的距離。Precision 和 Recall 是分類任務的概念,RMSE 根本無法計算分類任務的 Precision 和 Recall。完全用錯場景的指標。

誰會選錯:知道 RMSE 是「常見評估指標」但不清楚它適用於迴歸而非分類的人。看到「均方根誤差」有個「誤差」就覺得適合用來衡量任何錯誤。

選項 C 均方誤差(MSE)

字面在說什麼:MSE 能綜合評估 Precision 和 Recall。

為什麼不對:MSE(Mean Squared Error)和 RMSE 一樣,是迴歸任務的指標,而非分類指標。MSE = 預測值和真實值差的平方的平均,和分類任務的 TP/FP/FN 沒有任何關係。選項 B 和 C 都是在考「你有沒有搞清楚迴歸指標和分類指標的區別」。

誰會選錯:和選 B 的人同類型:把所有「有個誤差公式的指標」都認為可以評估分類效果,對指標的適用場景缺乏了解。

06 變形

同個考點下次怎麼變形

變形 1 邊界

直覺:F1 分數的最大值和最小值分別是多少?什麼情況下各自成立?

答案:最大值 1.0:Precision = 1.0 且 Recall = 1.0,所有詐騙都抓到,且沒有冤枉任何好人。最小值 0:Precision = 0 或 Recall = 0,例如所有預測都是錯的(Precision = 0),或漏掉所有正例(Recall = 0)。F1 = 0 代表模型完全沒有實用價值。

變形 2 反例

直覺:兩個模型:模型 A(P=0.9, R=0.9),模型 B(P=0.5, R=0.5)。F1 誰更高?

答案:模型 A 的 F1 = 2×0.81/1.8 = 0.9,模型 B 的 F1 = 2×0.25/1.0 = 0.5。模型 A 明顯更好。這道題的意義是:F1 和 Precision/Recall 是同方向的,不是「兩者都差」就能騙過 F1。F1 只能保護你不被「一高一低的假象」欺騙。

變形 3 升級版

直覺:Macro-F1 和 Micro-F1 有什麼差?什麼時候用哪個?

答案:Macro-F1:對每個類別各算 F1,再取平均,每個類別權重相等。適合類別數量差異大(如少數族裔分類),確保小類別也被重視。Micro-F1:先把所有類別的 TP/FP/FN 加總,再算 F1,大類別主導結果。適合整體效能評估。類別不平衡時,Macro 和 Micro 的差距會很大。

變形 4 跨領域

直覺:資訊檢索(Information Retrieval,如搜尋引擎)也用 Precision 和 Recall 嗎?

答案:是的,搜尋引擎裡:Precision = 搜尋結果裡有多少比例是真正相關的文件;Recall = 所有相關文件裡有多少被找出來了。搜尋引擎更在乎 Precision(不要給垃圾結果),學術研究更在乎 Recall(不要漏掉重要文獻)。F1 在資訊檢索評估中也很常用。

變形 5 評估指標

直覺:什麼情況下應該用 Fβ(β ≠ 1)而非 F1?

答案:當 Precision 和 Recall 的重要程度不一樣時。醫療篩檢(漏掉病人代價極高):用 F2(β=2),讓 Recall 的重量是 Precision 的四倍。垃圾郵件過濾(誤刪重要郵件代價高):用 F0.5(β=0.5),讓 Precision 更重要。一般情況才用 F1(β=1,兩者同等重要)。

07 延伸

想再往下看,這 5 個

  • F1 分數(F1 Score)核心考點:Precision 和 Recall 的調和平均數,任一指標接近 0 都會大幅拉低 F1,是同時兼顧兩者的標準指標。
  • 精確率(Precision)F1 的組成分之一,衡量模型預測為正例中真正為正例的比例,與 Recall 存在此消彼長的權衡關係。
  • 召回率(Recall)F1 的另一組成分,衡量所有真實正例中被模型正確找出的比例,與 Precision 共同決定 F1 的值。
  • ROC 曲線(Receiver Operating Characteristic)另一個綜合評估指標,以 True Positive Rate vs False Positive Rate 描繪模型表現,常與 F1 並用作比較。
  • 準確率(Accuracy)最直覺的分類指標,但在類別不平衡時失效,是 F1 設計要解決的問題,易與 F1 混淆的對照概念。
出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二次 iPAS AI 應用規劃師 中級 科目一 第 10 題

查看官方原文 PDF