易混淆對照
Recall 跟 Precision 差在哪?撈得夠多跟撈得夠準的取捨
Recall(召回率)衡量的是所有真正相關的內容裡,有多少被成功找到,看重的是「有沒有漏掉」。Precision(精確率)衡量的是找到的內容裡,有多少真正相關,看重的是「有沒有找錯」。兩者常常是取捨關係:想要撈得更完整,容易混入不相關的雜訊,精確率下降;想要撈得更精準,容易漏掉邊緣相關的內容,召回率下降,實務上需要依場景權衡兩者的比重。
Recall 跟 Precision 差在哪?撈得夠多跟撈得夠準的取捨
評估一套檢索系統做得好不好,光看「有找到東西」還不夠,要同時看撈得夠不夠多,也要看撈得準不準。
你將學到什麼
一句話定義
Recall 看有沒有漏掉相關內容,Precision 看有沒有找錯不相關的內容。
白話比喻
撒大網捕魚能撈到更多魚但也撈到垃圾,用魚叉精準射魚但可能漏掉一些魚。
最容易踩的坑
只優化其中一個指標,卻沒發現另一個指標正在悄悄變差。
一句話核心觀念
Recall 召回率回答的是「所有該找到的內容裡,你找到了幾成」。Precision 精確率回答的是「你找到的內容裡,有幾成是真正該找的」。
核心差異比較
| 比較項目 | Recall 召回率 | Precision 精確率 |
|---|---|---|
| 關注重點 | 有沒有漏掉相關內容 | 有沒有找錯不相關內容 |
| 白話問題 | 該找到的都找到了嗎 | 找到的都是對的嗎 |
| 風險偏高時的取捨 | 寧可多撈也不要漏掉 | 寧可少撈也不要撈錯 |
| 典型應用 | 法律、醫療、風控等不能遺漏的場景 | 客服問答、搜尋結果等重視體驗的場景 |
白話比喻
召回率高的做法像撒一張大網捕魚,能撈到池塘裡大部分的魚,但網子裡也會混進一些不是你要的雜魚和垃圾,這就是精確率下降的代價。
精確率高的做法像拿魚叉一條一條精準地射,射中的幾乎都是你要的魚,但速度慢、範圍小,池塘裡有些魚可能一條都沒被叉到,這就是召回率下降的代價。
實際用例
在 Retrieval 檢索 的實務操作裡,常見策略是分兩階段進行:第一階段用較寬鬆的門檻或較大的 Top K 值,優先確保召回率,把可能相關的內容都先撈進來。
第二階段再用重排序模型,針對這批候選內容重新評估相關性,篩出真正最相關的一小批交給模型參考,用這種方式同時兼顧兩個指標,而不是死守單一數字硬做取捨。
常見誤解很多人只看其中一個指標,例如只顧著提高召回率、覺得撈得越多越安全,卻沒發現精確率正在下降,回答裡混入越來越多不相關的內容,反而拖累使用者體驗。評估檢索系統時,兩個指標都要一起看,不能只看單一面向。
本文源起本文為酒Ann 的 AI 名詞彙編系列,用白話把常見名詞一次講清楚。歡迎追蹤 酒Ann 的 Facebook。
延伸學習
常見問答
為什麼不能同時追求兩者都完美?
因為兩者本質上互相牽制。放寬檢索範圍能撈到更多相關內容,召回率上升,但也更容易混入不相關的雜訊,精確率就下降;反過來收緊範圍只留下最相關的內容,精確率上升,但容易漏掉邊緣相關的內容,召回率就下降。
RAG 應用該優先顧哪一個?
看場景。法律、醫療這類不能漏掉關鍵資訊的場景,通常會偏重召回率,寧可多撈一些再靠後續步驟過濾;一般客服問答重視使用者體驗,通常偏重精確率,避免給出不相關甚至誤導的答案。
有沒有辦法同時兼顧兩者?
常見做法是分兩階段:先用較寬鬆的設定提高召回率,撈出足夠多的候選內容,再用 <a href="/blog/glossary-re-ranking">Re-ranking 重排序</a> 這類技術,從候選內容裡精準挑出真正最相關的一小批,藉此同時兼顧兩個指標。
