【推奨事項】ランキングモデルの評価指標nDCG

導入

  nDCG(Normalized Discounted Cumulative Gain)正規化割引累積ゲインは、ランキング モデルのパフォーマンスを評価するために使用されるメトリクスであり、ランキングの正確さと相関度の 2 つの側面を考慮します。

の順nDCGで覚え  ていきましょうGainCGDCGiDCGnDCG

  一連のラベルがあるとします。

B C D
スコアリングデータセット 3 2 1 0
データセットをクリックします 1 0 1 0

  スコアリング データ セットの場合、A のスコアが最も高く (3)、D のスコアが最も低い (0) ため、実際の順序は ABCD になります。クリック データ セットの場合、AC のスコアは (1)
  、 BD には (0) がないため、ラベルは AC となり、順序は関係ありません。

  ゲインは、Gaini 番目のラベル位置のスコアを表します。ここで、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 位置の累積利益を表します。CGtopk の k は、計算する前に指定する必要があります。そうでない場合、さまざまな状況で、ユーザー A には 100 個のタグがあり、ユーザー B には 10 個のタグしかないため、 を数えても意味がありませんCG

CG @ k = ∑ i = 1 krel ( i ) CG@k = \sum_{i=1}^{k} rel(i)CG @ k=i = 1リルアイ_

  次に、上記の例では、スコアリング データ セットで、ラベルが [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ログ_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

  IDCGDCG理想的な状況、つまり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 = 1RE Lログ_2(私は+1 )リルアイ _

スコアがモデルによって予測されたラベル順序に基づいて計算され、データセット内の実際のラベル順序がスコアの計算に使用されることをDCG除いて、他と違いは  ありません。そのため、比較することはできませんDCGIDCGDCGIDCG

正規化割引累積利得 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

おすすめ

転載: blog.csdn.net/qq_43592352/article/details/131936768