【推奨事項】ランキングモデルの評価指標nDCG
導入
nDCG(Normalized Discounted Cumulative Gain)
正規化割引累積ゲインは、ランキング モデルのパフォーマンスを評価するために使用されるメトリクスであり、ランキングの正確さと相関度の 2 つの側面を考慮します。
、、、の順nDCG
で覚え ていきましょう。Gain
CG
DCG
iDCG
nDCG
一連のラベルがあるとします。
あ | B | C | D | |
---|---|---|---|---|
スコアリングデータセット | 3 | 2 | 1 | 0 |
データセットをクリックします | 1 | 0 | 1 | 0 |
スコアリング データ セットの場合、A のスコアが最も高く (3)、D のスコアが最も低い (0) ため、実際の順序は ABCD になります。クリック データ セットの場合、AC のスコアは (1)
、 BD には (0) がないため、ラベルは AC となり、順序は関係ありません。
得
ゲインは、Gain
i 番目のラベル位置のスコアを表します。ここで、rel(i) rel(i)re l ( i )は分数を表しますが、この分数は正確には何ですか? スコアが何であるかは、データ セットの対応する場所に何が保存されているかによって異なります。
ゲイン = rel ( i ) ゲイン = rel(i)ゲイン_=リル(アイ)_
推奨される表示フィードバック、つまりスコアリング データ セット (1 ~ 5 ポイント) が使用される場合、1 ~ 5 スコアが計算に使用されるスコアになります。暗黙的フィードバックが使用される場合、つまりユーザーがデータ セットをクリックした場合、スコアは 0 ~ 1 になります。1 はユーザーがクリックしたことを意味し、0 はクリックなしを意味します。
次に、上記の例では、スコアリング データ セットでは、ラベル A のゲインは 3、ラベル B は 2 であると言えます。
累積ゲインCG
累積ゲインは、CG
最初の k 位置の累積利益を表します。CG
topk の k は、計算する前に指定する必要があります。そうでない場合、さまざまな状況で、ユーザー A には 100 個のタグがあり、ユーザー B には 10 個のタグしかないため、 を数えても意味がありませんCG
。
CG @ k = ∑ i = 1 krel ( i ) CG@k = \sum_{i=1}^{k} rel(i)CG @ k=i = 1∑kリル(アイ)_
次に、上記の例では、スコアリング データ セットで、ラベルが [A,B,C,D] または [B,A,C,D] の場合、CG@2 = 5
. したがって、順序はCG
スコアに影響しません。さまざまな注文の影響を評価したい場合は、別の指標を使用してDCG
評価する必要があります。
割引累積ゲイン DCG
CG
位置情報を考慮せず、単純に相関関係を蓄積するだけです。並び順の要素を考慮すると、上位の品目はより多くの利益が得られ、下位の品目は割引されます。CG
注文は独立していますが、DCG
注文の効果は評価されます。DCG
その考え方は、「リスト内の項目の順序は非常に重要であり、異なる位置の寄与は異なります。一般的に、前にある項目の影響が大きく、後ろの項目の影響は小さいということです。」
DCG @ k = ∑ i = 1 krel ( i ) log 2 ( i + 1 ) DCG@k = \sum_{i=1}^{k} \frac{rel(i)}{\log_2(i+1) )}DCG @ k _=i = 1∑kログ_2(私は+1 )リル(アイ) _
次に、上記の例: スコアリング データ セットで、ラベルが [A,B,C,D] の場合: ;DCG@2 = 3/log(2) + 2/log(3) = 6.149
ラベルが [B,A,C,D] の場合: DCG@2 = 2/log(2) + 3/log(3) = 5.616
; よりオリジナルに近いことがわかりました。ラベルの順序、フォールド 累積損失が大きいほど、ゲインも大きくなります。
理想的な割引累積利益 IDCG
IDCG
DCG
理想的な状況、つまりDCG
データセット内の順序である最大値が得られる状況を指します。式は次のとおりです。
IDCG @ k = ∑ i = 1 ∣ REL ∣ rel ( i ) log 2 ( i + 1 ) IDCG@k = \sum_{i=1}^{|REL|} \frac{rel(i)}{\ log_2(i+1)}I D CG @ k=i = 1∑∣ RE L ∣ログ_2(私は+1 )リル(アイ) _
スコアがモデルによって予測されたラベル順序に基づいて計算され、データセット内の実際のラベル順序がスコアの計算に使用されることをDCG
除いて、他と違いは ありません。そのため、比較することはできません。DCG
IDCG
DCG
IDCG
正規化割引累積利得 nDCG
で割ってIDCG
、スコアを [0,1] に制限します。
n DCG @ k = DCG @ k IDCG @ k nDCG@k = \frac{DCG@k}{IDCG@k}n D CG @ k=I D CG @ kDCG @ k _
計算例
A-B-C-D
ラベル予測用のモデルのスコアが 現在[0.111, 0.222, 0.001, 0.10]
次に、スコアを並べ替えます。[0.222, 0.111, 0.10, 0.001]
この場合、モデルによって予測されるラベルの順序は次のようになります。B-A-D-C
B-A-D-C
データセット内の モデルによって予測されたラベル順序のスコアは次のとおりです。[2, 3, 0, 1]
nDGC@3 = [2/log(2) + 3/log(3) + 0/log(4)] / [3/log(2) + 2/log(3) + 1/log(4)] = 0.8174935137996165