整体说明
- 在推荐系统中,mAP(Mean Average Precision)是衡量推荐结果准确性的重要指标 ,主要用于评估排序型推荐任务(如搜索、推荐列表排序)的性能
- 综合考虑了推荐结果的相关性(Relevance)和排序质量(Ranking Quality) ,尤其适用于多类别推荐场景或需要衡量整体推荐精度的场景
AP(Average Precision,平均精度)
- 定义 :对于单个查询(或用户),AP是其所有相关推荐结果的 Precision(精确率)的平均值 ,且仅对相关结果计算
- 计算逻辑 :
- 假设推荐列表中有 \( N \) 个结果,按排序从左到右依次判断每个结果是否为“相关项”(需预先定义相关性标准,如用户点击、购买等)
- 对于每个相关项,计算其当前位置的精确率(即截至该位置,相关项在已推荐结果中的比例),并将所有相关项的精确率求平均,得到AP
- 公式示例 :若推荐列表中有5个结果,相关性标记为 \( [1, 0, 1, 1, 0] \)(1表示相关,0表示不相关),则:
- 第1个相关项位置:1,精确率 \( P_1 = 1/1 = 1 \)
- 第3个相关项位置:3,精确率 \( P_3 = 2/3 \)
- 第4个相关项位置:4,精确率 \( P_4 = 3/4 \)
- AP = \( (1 + 2/3 + 3/4) / 3 ≈ 0.9167 \)
mAP(Mean Average Precision,平均AP)
- 定义 :将AP指标扩展到所有查询(或用户) ,计算所有AP值的平均值,用于衡量推荐系统的整体性能
- 公式 :
$$
\text{mAP} = \frac{1}{M} \sum_{i=1}^{M} \text{AP}_i
$$- 其中,\( M \) 为查询(或用户)总数,\( \text{AP}_i \) 为第 \( i \) 个查询的AP值
附录:完整的mAP计算示例
- 假设存在2个用户(查询),推荐列表及相关性如下:
- 用户1 :推荐列表 = [A(1), B(0), C(1), D(0), E(1)]
- 相关项位置:1、3、5
- 各相关项精确率:
- \( P_1 = 1/1 = 1 \)
- \( P_3 = 2/3 ≈ 0.6667 \)
- \( P_5 = 3/5 = 0.6 \)
- \( \text{AP}_1 = (1 + 0.6667 + 0.6) / 3 ≈ 0.7556 \)
- 用户2 :推荐列表 = [X(0), Y(1), Z(1)]
- 相关项位置:2、3
- 各相关项精确率:
- \( P_2 = 1/2 = 0.5 \)
- \( P_3 = 2/3 ≈ 0.6667 \)
- \( \text{AP}_2 = (0.5 + 0.6667) / 2 ≈ 0.5833 \)
- mAP计算 :
$$
\text{mAP} = \frac{0.7556 + 0.5833}{2} ≈ 0.6695
$$