【アルゴリズム】Discounted Cumulative Gain(DCG)の理論

  • 12
    Like
  • 0
    Comment
More than 1 year has passed since last update.

Discounted Cumulative Gainというものが有ります.
その説明を,自分用のメモも兼ねて解説します.

Discounted Cumulative Gainとは?

Discounted Cumulative Gain(通称DCG)とは,順位を含めて正解データのランキングをどれだけ再現できるのかの評価の指標を表しています.
要は,「推薦,検索などでランキングされたデータがどれだけ適切か」を示すものです.

一般式

aa.png
DCGp:p番目までのDCGを求めます
reli:i位までの検索結果が正解のときの利得スコア(利益スコアについては後述)

を表します.

DCGの計算例

aaa.png
上の表は,ある検索システムA,Bでのランキングの結果と仮定します.
その結果から,上位4件までのAとBのDCGを求めてみます.

Aの計算

スクリーンショット 2015-04-29 19.21.07.png

計算は以上のようになります.
計算には,「正解(◯)」の値のみを利用し,不正解(☓)の値は利用しません.
利得スコアは,基本的に自由に与えてもらって構いませんが,1位が一番大きな値になるようにします.

上記の式の,詳しい内容としては以下の図を見てください.

ans.png

Bの計算

上記の「Aの計算」と同様に計算を行います.
スクリーンショット 2015-04-29 19.32.36.png

Bは,1番目のランキングは不正解のため,reliの値は省略されています.

計算結果

A ≒ 5.77
B ≒ 1.27
A > B より,Aの方が良い結果が得られていることが分かります.