MAP(Mean Average Precision)という指標の意味

最終更新日 2019/03/31

MAP(Mean Average Precision、mAP)とは、推薦システム、検索システム、物体検出アルゴリズムなどの性能を表す評価指標です。

AP、MAPという評価指標の意味と計算方法について、大雑把に分かりやすく解説します。

AP(Average Precision)とは

MAPについて理解するために、まずはAP(Average Precision、平均適合率)の意味を説明します。

AP(Average Precision)とは、大雑把に言うと、その順位までにおける正解率を、各正解データの部分に限定して平均を取ったものです。

例えば、推薦システムの評価において「あるユーザは好きな作品が3つあり、推薦された1位、3位、4位が正解だった」という状況を考えます。

推薦順位 正解 or 不正解 その順位までの正解率
1位 正解 1
2位 不正解
3位 正解 $\frac{2}{3}$
4位 正解 $\frac{3}{4}$
5位 不正解

このとき、APは
$\left(1+\dfrac{2}{3}+\dfrac{3}{4}\right)\div 3\fallingdotseq 0.81$
となります。

MAP とは

MAP は (様々なクエリに対する)AP の平均(Mean)です。無理やり日本語に直すと「平均適合率の平均」となり、紛らわしいです。

「様々なクエリに対する」の意味は、問題設定によって変わります。

推薦システムにおけるMAPの例
「様々なユーザに対する」APの平均

検索システムにおけるMAPの例
「いろいろなキーワードで検索したときの」APの平均

画像識別、物体検出における例
「犬、猫、などいろいろなクラスに対する」APの平均
※例えば犬クラスのAPを計算する際の順位は「犬と予想される確率」の大きいもの順とする。

AP@n、MAP@n とは

AP@n とは、大雑把に言うと、順位 $n$ までで打ち切ったときの AP です。

ただし順位 $n$ までに含まれなかった正解データは $0$ 点として平均の要素に含めます。

例えば、さきほどの例で、AP@3 を計算してみましょう。

推薦順位 正解 or 不正解 その順位までの正解率
1位 正解 1
2位 不正解
3位 正解 $\frac{2}{3}$

3位までに含まれなかった(4位に予想していた)正解データが1つあるので、$0$ を1つ含めて平均を計算すると、
$\left(1+\dfrac{2}{3}+0\right)\div 3\fallingdotseq 0.56$
となります。

MAP@n は、AP@n の平均です。同様に、順位 $n$ より下は無視した評価指標です。

AP、MAPの性質

AP、MAP はいずれも以下のような性質がある評価指標です。

・最小値は0、最大値は1です。

・数字が大きいほど「精度が高い」と言えます。

・正解数が同じでも、より上位にたくさん正解があるほど大きい値になります。

参考文献、補足

Facebook Recruiting Competition
※MAPは、Kaggle などのデータ分析コンペの評価指標としても使われます。

Youtube:Evaluation 12: mean average precision

分かりやすさのために「正解率」という言葉を使いましたが、Precision を正しく訳すと「適合率」です。

次回は IoU(評価指標)の意味と値の厳しさ を解説します。

ページ上部へ戻る