MAP(Mean Average Precision、mAP)とは、推薦システム、検索システム、物体検出アルゴリズムなどの性能を表す評価指標です。
AP、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の平均
検索システムにおけるMAPの例
「いろいろなキーワードで検索したときの」APの平均
画像識別、物体検出における例
「犬、猫、などいろいろなクラスに対する」APの平均
※例えば犬クラスのAPを計算する際の順位は「犬と予想される確率」の大きいもの順とする。
AP@n、MAP@n とは
ただし順位 $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の性質
・最小値は0、最大値は1です。
・数字が大きいほど「精度が高い」と言えます。
・正解数が同じでも、より上位にたくさん正解があるほど大きい値になります。
参考文献、補足
Facebook Recruiting Competition
※MAPは、Kaggle などのデータ分析コンペの評価指標としても使われます。
Youtube:Evaluation 12: mean average precision
分かりやすさのために「正解率」という言葉を使いましたが、Precision を正しく訳すと「適合率」です。
次回は IoU(評価指標)の意味と値の厳しさ を解説します。