平均精確率(Mean Average Precision)是什麼?

平均精確率(MAP)是評估信息檢索系統排序質量的重要指標。它在不同的召回率點上計算精確率,然後求平均值,全面反映系統的排序性能。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Mean Average Precision
主題標籤
信息檢索、評估指標、排序算法
考點定位
非 iPAS 核心術語
最後更新
2026/07/29
平均精確率(Mean Average Precision)是什麼? 信息檢索評估指標
術語快查

搜尋意圖: 如果你在找「平均精確率 是什麼」或「平均精確率 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: 平均精確率(MAP)是評估信息檢索系統排序質量的重要指標。它在不同的召回率點上計算精確率,然後求平均值,全面反映系統的排序性能。

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

平均精確率(MAP)是評估信息檢索系統排序質量的重要指標。它在不同的召回率點上計算精確率,然後求平均值,全面反映系統的排序性能。

核心概念

MAP 的計算過程分為三個步驟:

  1. 計算每個查詢的平均精確率(Average Precision, AP)

    • 對於每個相關文檔,計算在檢索到該文檔時的精確率
    • 求這些精確率的平均值
  2. 加權考慮

    • 靠前的相關文檔對 AP 的貢獻更大
    • 這反映了用戶往往只看前幾個結果的現實
  3. 多個查詢的平均

    • 將所有查詢的 AP 平均起來,得到 MAP
    • MAP = (Σ AP) / 查詢數量

數學公式

對於查詢 q,其 AP 為:

AP(q) = (Σ P(k) × rel(k)) / 所有相關文檔數

其中:

  • P(k) 是第 k 個位置的精確率
  • rel(k) 是第 k 個位置是否為相關文檔(1 或 0)

運作原理

以一個例子說明 MAP 的計算:

假設查詢返回 10 個結果,其中位置 1, 3, 5, 8 是相關的,位置 2, 4, 6, 7, 9, 10 是不相關的。

  • 在位置 1:精確率 = 1/1 = 1.0
  • 在位置 3:精確率 = 2/3 = 0.67
  • 在位置 5:精確率 = 3/5 = 0.6
  • 在位置 8:精確率 = 4/8 = 0.5

AP = (1.0 + 0.67 + 0.6 + 0.5) / 4 = 0.69

如果有多個查詢,MAP 就是所有查詢 AP 的平均值。

實際應用

  • 搜索引擎評估:TREC、NTCIR 等信息檢索競賽的標準評估指標
  • 排序模型開發:評估和優化 Learning to Rank 模型
  • 推薦系統評估:評估推薦結果的排序質量
  • 信息檢索研究:學術研究中比較不同算法的性能
  • 系統改進監控:跟蹤搜索系統優化的效果

常見誤區

許多人認為 MAP 只關注是否找到相關文檔,忽略了排序位置的影響。但實際上,MAP 通過精確率的計算已經隱含地考慮了位置信息:靠前找到相關文檔會導致更高的精確率,進而更高的 AP。

公式與實際算一次

mAP(mean Average Precision,平均精確率均值)分兩層。

第一層,單一類別的 AP。 把該類別的所有預測依信心分數由高到低排序,逐一累積計算精確率與召回率,AP 就是精確率對召回率曲線下的面積。

實際算一次。假設某類別共有 3 個正確目標,模型給出 5 個預測,由高分到低分排序後正誤如下:

排名 正確與否 累積正確數 精確率 召回率
1 正確 1 1 ÷ 1 = 1.00 1 ÷ 3 = 0.33
2 錯誤 1 1 ÷ 2 = 0.50 0.33
3 正確 2 2 ÷ 3 = 0.67 2 ÷ 3 = 0.67
4 正確 3 3 ÷ 4 = 0.75 3 ÷ 3 = 1.00
5 錯誤 3 3 ÷ 5 = 0.60 1.00

取每個召回率點之後的最大精確率(這叫插值),三個召回率點的值分別是 1.00、0.75、0.75,

AP = (1.00 + 0.75 + 0.75) ÷ 3 = 0.833

第二層,mAP 就是所有類別的 AP 取平均。 有 20 個類別就算 20 個 AP 再平均。

mAP@0.5 與 mAP@0.5:0.95 的差別

物件偵測裡,一個預測框算不算「正確」,要看它跟標準答案框的 IoU(交集除以聯集)有沒有超過門檻。

mAP@0.5:IoU 超過 0.5 就算對。門檻寬鬆,數字看起來漂亮,是早期 PASCAL VOC 的標準。

mAP@0.5:0.95:從 0.5 到 0.95 每隔 0.05 取一個門檻,總共 10 個門檻各算一次 mAP 再平均。這是 COCO 的標準,對框的位置精確度要求高很多,同一個模型的數字通常會比 mAP@0.5 低一大截。

比較兩個模型的 mAP 之前,一定要先確認兩邊用的是同一個門檻定義與同一個資料集。看到「mAP 0.85」而沒有標註條件,這個數字沒有意義。

這個指標在回答什麼問題

mAP 同時懲罰兩種錯誤:漏掉目標(召回率低)與亂框一堆(精確率低)。它比單看準確率合適,因為物件偵測沒有「總樣本數」可以當分母。

它的限制是把所有類別平等對待。實務上如果只有一兩個類別真正重要,看那幾類各自的 AP 會比看 mAP 更有意義。

常見問題

MAP 與 NDCG 有什麼區別?

MAP 和 NDCG 都是評估排序質量的指標,但側重點不同。MAP 基於精確率的概念,強調在找到相關文檔時的精確率。NDCG 基於相關性等級的概念,考慮相關文檔的相關程度(如高度相關、中等相關、低相關),而不只是二分的相關或不相關。NDCG 在處理多等級相關性判斷時更靈活。

為什麼 MAP 在評估搜索引擎時比簡單精確率更有用?

簡單精確率(如 P@10)只評估固定位置的結果。但用戶的行為表明,排序位置很重要:用戶更可能點擊靠前的結果,越往後的結果被看到和點擊的概率越低。MAP 通過計算不同位置上的精確率,並隱含地強調靠前結果的重要性,更好地反映了用戶體驗和系統的實際效能。

如何使用 MAP 來改進排序系統?

MAP 可以作為排序模型的優化目標。在 Learning to Rank 模型中,可以使用 MAP 作為損失函數來訓練模型,使其直接優化 MAP 分數。同時,通過分析 MAP 分數低的查詢,可以發現系統的弱點並進行針對性改進。此外,在進行 A/B 測試時,使用 MAP 作為評估指標能更準確地衡量排序改進的效果。