NDCG評価指標について
NDCGとは?
NDCG (Normalized Documented Cumulative Gain)はドキュメント検索タスクにおける評価指標の一つである。元はWeb検索エンジンのような文書検索システムの評価指標として導入されたが、レコメンドエンジンやランキング学習モデルの評価指標としても用いられる。
コンセプト
以下の性質を満たすようにする。
- 関連性スコアが高い文書が上位に提示されているほどスコアが大きくなる。逆に、関連性スコアが低い文書を上位に提示するほどスコアが小さくなる。
この指標を正解ラベルとモデルの予測結果を使用して計算できるように評価指標を設計する。
- 正解ラベル: 文書ごとの関連性スコア
- モデルの予測: 文書ごとの順位
DCG(Documented Cumulative Gain)
まず、正規化されていない以下の指標を導入する。
ここで、
-
: モデルが提示した文書\pi(i) の順位(i )1, ... , N -
: 文書l_i の関連性スコア(i )l_i \ge 0 -
: 評価に使用するモデルの検索結果の上位k 件k
(1)式の和の分母は順位
スコアのとりうる値が
この指標が単純な順位の二乗誤差と異なる点は、関連性スコアの高い文書が上位に提示されなかった場合のペナルティが大きくなるように設計されていることである。また、逆に関連性が低い文書の順位が下位において多少変動してもスコアがあまり変動しない。この性質は、「関連性の高い文書が上位に提示されない検索エンジンは役に立たないが、関連性の低い文書の下位における厳密な順序は問題とならない」という実用的な要請と合致している。
本文では関連性スコアに2の冪を取り1を引いた形式を掲載したが、関連性スコアを直接使用した以下の形式も存在する(むしろ最初に提案された論文ではこちらの形式で紹介されている)。ただし、これは関連性スコアをどう設計するかだけの違いなので、本質的に両者は等価である。
前者の方がLightGBMなどで一般的に使われているので本文にはこちらの形式で掲載した。なお、この定義が導入されたのはこの論文。
Lerevance scoreの付け方にはある程度一貫したアルゴリズムが存在するっぽい。