寧可誤診不能漏診,癌症模型要看哪個指標?
某醫院使用機器學習模型篩檢癌症患者。模型預測結果會決定哪些病人需要進一步檢查。院方非常重視盡量找出所有可能的癌症患者,即希望降低漏診(Missed Diagnosis)風險,即便這可能增加一些誤判。下列哪一個評估指標最能反映模型找出癌症患者的能力?
某醫院用機器學習模型篩檢癌症患者,模型預測結果決定哪些病人需要進一步檢查。院方的優先考量是:盡量找出所有可能的癌症患者、降低漏診風險,即便這樣會增加一些誤判也可以接受。
問你:哪一個評估指標最能反映模型找出癌症患者的能力?
一句話總結
召回率(Recall)衡量「在所有真正的患者中,模型找到了幾個」,要降低漏診、確保不放過任何真正的癌症患者,Recall 是最直接反映這個能力的指標。
先感受問題:漏診一個癌症患者和多叫幾個人複查,哪個代價更大?
想像你是「仁愛醫院」的資料科學家。你建了一個肺癌篩檢模型,用電腦斷層影像預測哪些病人需要進一步精密檢查。
現在 100 個病人做了篩檢,其中實際上有 10 人真的有肺癌早期跡象。你的模型預測結果是:
- 預測「可能有癌」並通知複查:共 20 人(其中 8 人真的有,12 人是虛驚一場)
- 預測「沒問題」放行:共 80 人(其中 2 人其實有癌,被漏掉了)
院長問你:「我最擔心的是漏掉的那 2 個人,怎麼知道我們的模型有沒有改善這個問題?」
你需要的指標是:在 10 個真的有癌的人裡,模型找到幾個。8 個找到 → Recall = 8/10 = 80%。
院長要的不是「在我們叫去複查的人裡有幾個真的有癌」(那是 Precision = 8/20 = 40%),而是「在所有有癌的人裡,我們有沒有找到他們」(Recall)。
用準確率(Accuracy)評估癌症篩檢的五個問題
- 類別不平衡讓準確率失真:如果 1000 人裡只有 10 人有癌,模型把所有人都預測「沒癌」,準確率是 99%,但 10 個患者全被漏掉了,這是最差的模型
- 無法反映漏診風險:準確率只看整體對錯,不區分「漏診(把有癌說成沒癌)」和「誤診(把沒癌說成有癌)」哪個更嚴重
- 不能指導模型閾值調整:提高判定為「有癌」的靈敏度(降低門檻),會增加 Recall 但降低 Precision,準確率無法描述這個 tradeoff
- 醫療決策需要不對稱評估:漏診一個癌症患者的代價,遠大於讓一個健康人多做一次複查。準確率把兩種錯誤等同看待,不合醫療邏輯
- 對稀有病例不敏感:癌症篩檢的正例(有癌)本來就少,準確率主要反映多數類別(沒癌)的預測結果,完全掩蓋了少數類別的表現
「仁愛醫院」第一版模型準確率 98%,但 Recall 只有 50%,有一半有癌的患者被漏掉了。院長看到 98% 很開心,直到第一個漏診事件發生。
Recall 怎麼解決漏診問題
Recall(召回率)的定義是:在所有真正的陽性樣本中,模型預測為陽性的比例。
對癌症篩檢:Recall = 被模型找出來的癌症患者數 ÷ 所有真正的癌症患者數。
Recall = 1 代表所有真正的患者都被找出來,沒有一個漏診。Recall 越高,漏診風險越低。
院方的目標是「降低漏診」,翻譯成指標語言就是「提高 Recall」。
提高 Recall 的代價是可能增加 Precision 下降,也就是更多健康人被叫去複查(誤診增加)。對癌症篩檢場景,這是可接受的代價:多做一次複查的成本遠低於錯過一個早期癌症的代價。
「仁愛醫院」把模型的判定門檻調低之後,Recall 從 50% 提升到 90%,代價是每 100 個篩檢多叫了 15 個人做複查。院方評估後認為這個 tradeoff 值得接受。
這就是選項 B 講的:召回率(Recall),最能反映模型找出所有癌症患者的能力。
技術版:Precision、Recall、F1 的關係與醫療應用
分類模型的評估有四個基本計數,組成混淆矩陣(Confusion Matrix):
- TP(True Positive):實際有癌,預測有癌(正確找出)
- FP(False Positive):實際沒癌,預測有癌(誤判,虛驚一場)
- FN(False Negative):實際有癌,預測沒癌(漏診,最嚴重)
- TN(True Negative):實際沒癌,預測沒癌(正確放行)
三個核心指標的計算:
- Precision(精準率)= TP / (TP + FP):模型預測為陽性的樣本中,有幾個真的是陽性。問的是「我叫去複查的人,有多少真的有癌?」高 Precision 代表少誤診。
- Recall(召回率)= TP / (TP + FN):所有真正陽性的樣本中,模型找出幾個。問的是「在所有有癌的人裡,我找到幾個?」高 Recall 代表少漏診。
- F1 Score = 2 × (Precision × Recall) / (Precision + Recall):Precision 和 Recall 的調和平均值,在兩者都需要兼顧時使用。
什麼時候用哪個:漏診代價高的場景(癌症、罕病、詐欺偵測)→ 優先 Recall。誤診代價高的場景(決定是否手術、刑事判決)→ 優先 Precision。兩者都重要 → F1 Score。
ROC-AUC 的角色:ROC-AUC 衡量模型在所有可能閾值下的整體辨識能力,適合比較兩個模型的整體優劣,但不直接對應「漏診風險」這個具體需求。
為什麼出題者要考這題:AI 應用規劃師在部署醫療模型時,必須根據業務場景的「錯誤代價」選擇評估指標。漏診和誤診的代價完全不同,不能一律用準確率評估。
為什麼其他選項是錯的
A精準率(Precision)
在模型預測為陽性(有癌)的所有樣本中,有多少比例真的是陽性。問的是:「我叫去複查的人,有幾個真的有癌?」
Precision 反映的是「陽性預測的可靠性」,跟漏診無關。就算 Precision = 100%(叫去複查的人全部真的有癌),仍可能有大量有癌的人沒有被叫去複查(高漏診率)。題目要降低的是漏診,Recall 才是對的指標。
分不清 Precision 和 Recall 分別關注哪群人的人。Precision 看的是「被預測為陽性的這群人」,Recall 看的是「所有真正陽性的這群人」,兩個分母完全不同。
C假陽性率(False Positive Rate)
在所有真正陰性(沒有癌)的人中,被模型錯誤預測為陽性(有癌)的比例。反映的是「誤診率」。
假陽性率衡量的是「把健康人誤判成有病」的比例,跟題目要降低的「漏診(把有病的人判成健康)」方向完全相反。題目問的是「找出患者的能力」,假陽性率沒有涉及真正患者的識別情況。
知道「假陽性」跟癌症診斷有關,但把假陽性率和召回率的關注對象搞反的人。假陽性率分母是「真正陰性(健康人)」,Recall 分母是「真正陽性(患者)」,兩者衡量完全不同的事情。
DROC-AUC 曲線
繪製在不同判定閾值下 True Positive Rate(即 Recall)對 False Positive Rate 的曲線,AUC 是這條曲線下的面積,代表模型整體辨識能力。
ROC-AUC 是評估模型「整體辨識能力」的綜合指標,適合比較兩個模型哪個更好,但無法直接回答「降低漏診風險」這個業務需求。院方問的是一個具體的操作指標,不是模型的整體比較分數。此外,ROC-AUC 在類別嚴重不平衡的醫療場景下可能過於樂觀,Precision-Recall 曲線更適合。
記得「醫療模型要用 AUC 評估」但沒有分辨「整體模型評估」和「特定業務需求指標」差別的人。AUC 用來選模型,Recall 用來監控漏診風險,兩者用途不同。
同個考點下次怎麼變形
垃圾郵件過濾器最應該優先哪個指標:Precision 還是 Recall?
垃圾郵件跟癌症篩檢都是分類問題,應該也是 Recall?
垃圾郵件過濾器應該優先 Precision。把一封真正的重要郵件(合約、面試通知)過濾成垃圾是很嚴重的代價,用戶可能永遠看不到。所以「被判為垃圾的郵件要盡可能真的是垃圾」= 高 Precision。相反地,漏過幾封垃圾郵件(低 Recall)的代價相對較小,用戶只是多看幾封廣告,可以接受。
詐欺交易偵測系統,Precision 和 Recall 哪個更重要?為什麼?
詐欺要盡量找出來,是 Recall?但誤判會讓正常客戶很生氣……
兩個都很重要,需要根據業務決定 tradeoff。通常優先 Recall(找出詐欺),因為漏掉一筆詐欺交易的損失可能很大。但 Precision 也不能太低,否則大量正常交易被凍結,客戶抱怨激增。實務上通常設定 Recall 底線(如不低於 90%),再盡量提升 Precision。
F1 Score 是什麼?什麼時候用?
既然 Precision 和 Recall 都重要,直接取平均不就好了?
F1 Score 是 Precision 和 Recall 的調和平均值,公式是 2×P×R/(P+R)。調和平均的特性是:如果 P 和 R 差距很大,F1 比算術平均更低,強調兩者都要達到一定水準。適合使用時機:無法明確說哪個更重要、或者想用一個數字描述模型整體在不平衡資料上的表現。
為什麼在類別不平衡的資料上,準確率(Accuracy)是不可信的指標?
準確率最直觀,為什麼不能用?
以癌症篩檢為例:1000 個人裡 10 個有癌。如果模型把所有人都預測為「沒癌」,準確率 = 990/1000 = 99%,看起來很好。但這個模型完全沒有找出任何患者,Recall = 0/10 = 0%。準確率在類別不平衡時,主要反映多數類別(沒癌)的預測,完全掩蓋了少數類別(有癌)的表現。
提高模型的 Recall,通常會付出什麼代價?
Recall 越高越好,不是應該盡量提高嗎?
提高 Recall 通常以降低判定門檻來實現,這會讓更多人被預測為陽性,其中包含更多假陽性(健康人被誤判),導致 Precision 下降。Precision 和 Recall 之間存在 tradeoff:把所有人都預測為有癌,Recall = 100%,但 Precision 極低,大量健康人被誤診。實際應用要根據業務場景決定可接受的 tradeoff 點。
想再往下看,這 5 個
- 召回率(Recall)真正陽性樣本中被模型找出的比例,衡量不放過任何患者的能力,是漏診代價高場景的首選指標
- 精確率(Precision)模型預測陽性中真正是陽性的比例,與 Recall 對立,提高 Recall 通常會降低 Precision
- F1 分數(F1 Score)Precision 與 Recall 的調和平均,在兩者需同時兼顧時使用,對不平衡資料比準確率更有意義
- ROC 曲線下面積(Area Under the ROC Curve)衡量模型在不同閾值下整體辨識能力的綜合指標,適合比較模型但不直接對應降低漏診的業務需求
- 準確率(Accuracy)整體預測正確的比例,在類別不均衡時(如癌症篩檢)可能誤導決策,不適合作為主要指標