NDCG(正規化割引累積利得) えぬでぃーしーじー・せいきかわりびきるいせきりとく
NDCG推薦システム評価ランキング評価情報検索DCG
NDCGについて教えて
簡単に言うとこんな感じ!
「検索結果や推薦リストの順番が良いかどうか」を評価する指標だよ。関連性の高い結果が上位に来るほど高スコアになる。「推薦の1番目と5番目では1番目の方が重要」という感覚を数式に落とし込んだもので、Googleの検索品質評価などにも使われてるんだ!
NDCGとは
NDCG(Normalized Discounted Cumulative Gain:正規化割引累積利得)は、推薦システム・検索エンジンのランキング品質を評価する指標です。以下の2つの観点を反映します。
- 関連性(Gain):関連度が高い結果があるほど良い
- 順位(Discount):関連性の高い結果が上位にあるほど良い
計算の流れ
【ステップ1】DCG(Discounted Cumulative Gain)を計算
DCG = Σ (関連度 / log₂(順位 + 1))
例:順位1〜4の関連度が [3, 2, 0, 1] の場合
DCG = 3/log(2) + 2/log(3) + 0/log(4) + 1/log(5)
= 3/1 + 2/1.58 + 0 + 1/2.32
≈ 3.00 + 1.26 + 0 + 0.43 = 4.69
【ステップ2】IDCG(理想的なDCG)を計算
→ 関連度を最適な順序で並べた場合のDCG
【ステップ3】NDCG = DCG / IDCG
→ 0〜1で正規化(1.0が完璧な順序)
具体例
5件の商品推薦。関連度(0〜3):
実際の順序:[3, 1, 2, 0, 3]
最適な順序:[3, 3, 2, 1, 0]
主な用途
| 用途 | 内容 |
|---|---|
| 検索エンジン評価 | 検索結果の順位品質 |
| 推薦システム評価 | 商品・コンテンツ推薦の順位品質 |
| 広告ランキング | 入札・品質スコアによるランキング |
歴史と背景
- 2002年:JärvelinとKekäläinenが発表
- 2000年代後半〜:Google・Amazon・Netflixなどで推薦評価に採用
- 現在:Kaggleの推薦コンペの評価指標として標準的に使用