K_DM Book
用語集
対象者 標準
対象者別の入口 →

対象者の設定はこのブラウザの中にだけ保存されます。

言語 JA

ランキング評価

03.5

ランキング評価

まとめ
この章では、検索結果や推薦リストの「並び順」を採点する 4 つの指標、NDCG・MAP・Recall@k・Hit Rate を学びます。NDCG と MAP は 1 位の正解を 10 位の正解より高く評価する「順位重み付き」の指標で、Recall@k と Hit Rate は上位 k 件に正解が何件(あるいは 1 件以上)入ったかだけを数える「網羅率」の指標です。同じリストでも、NDCG@10 が 0.95 で Recall@10 が 0.3 のように値は食い違うので、表示件数 k を UI に合わせて決め、順位の質と網羅率の両面から評価を組み立てられるようになります。

直感 #

検索や推薦では、1 ページ目の 10 件に何が並ぶかがクリック率と売上を左右します。正解が 100 位にあるリストと 3 位にあるリストを Accuracy で比べると、どちらも「正解を 1 件含む」で同点になってしまいます。ランキング指標はこの差を数値にする道具で、NDCG なら 3 位の正解は \(1/\log_2 4 = 0.5\)、100 位の正解は \(1/\log_2 101 \approx 0.15\) の重みで数えます。この章では、順位の重みを付ける NDCG と MAP、上位 k 件の網羅率を見る Recall@k と Hit Rate の 4 つを、評価対象と正解の定義に合わせて選べるようにします。

詳細な解説 #

このチャプターで学べること #

  • NDCGの定義とDCG/IDCGの計算、上位アイテムに対数減衰で重みを付ける仕組み
  • MAP(平均平均適合率)の計算方法と、複数の正解があるランキングでの有効性
  • Recall@kで上位k件中の正解カバレッジを測る方法とkの設定指針
  • Hit Rate(Hit@k)で少なくとも1件の正解が含まれるかを評価する手法

これがわかるとできること #

  • 実サービスの表示件数に合わせてkを設定し、適切な指標で評価できる
  • 「並び順の質」と「正解の網羅率」の両面からランキングを診断できる
  • オフライン指標とオンラインKPI(クリック率・コンバージョン率)の対応関係を設計できる

指標間の関係マップ #

graph LR POS["順位重み付き"] --> NDCG["NDCG"] POS --> MAP["MAP"] COV["網羅率"] --> RK["Recall@k"] COV --> HR["Hit Rate"]

指標クイックリファレンス #

指標順位重み多段階関連度主な用途
NDCG✓✓検索・推薦の総合評価
MAP✓複数正解のランキング評価
Recall@k上位k件の網羅率
Hit Rate正解を1件含むかの判定

学習の進め方 #

まず NDCG で、関連度 0〜3 の利得を \(\log_2(i+1)\) で割り引いて足し、理想順の DCG で正規化する計算を追います。次に MAP で、正解が 3 件あるリストの各正解位置での Precision を平均する方法を学び、順位が下がると AP がどれだけ落ちるかを確かめます。最後に Recall@k と Hit Rate で、k を 5 から 10 に変えたときに値がどう動くかを計算例で確認します。

まとめ #

順位重み付きの NDCG と MAP は「正解がどれだけ上に並んだか」を、網羅率の Recall@k と Hit Rate は「上位 k 件に正解がどれだけ入ったか」を測ります。表示件数が 10 件の画面なら k=10 で両系統を 1 つずつ、たとえば NDCG@10 と Recall@10 を並べて報告するのが基本形です。NDCG が高く Recall が低ければ「少数の正解は上位に置けたが取りこぼしが多い」、逆なら「正解は拾えたが下位に沈んでいる」と診断できます。