ランキングアルゴリズムを評価するためのメトリック


13

ランキングアルゴリズムのいくつかの異なるメトリックを確認することに興味があります。Wikipediaのページにランク付けするためのリストがいくつかあります。

•平均平均精度(MAP)。

•DCGおよびNDCG。

•Precision @ n、NDCG @ n。「@ n」は、メトリックが上位n個のドキュメントでのみ評価されることを示します。

•平均相互ランク。

•ケンドールのタウ

•スピアマンのロー

•期待される相互ランク

•Yandexのファウンド

しかし、それぞれの利点/欠点、または他のものよりも優れたものを選択できる場合(またはNDGCで1つのアルゴリズムが他のアルゴリズムよりも優れていたが、MAPで評価した場合に悪化した場合の意味)は明確ではありません。

これらの質問についてさらに学ぶために行くことができる場所はありますか?

回答:


27

私は実際に同じ答えを探していますが、あなたの質問には少なくとも部分的に答えられるはずです。

あなたが言及したすべての測定基準は異なる特性を持っています、そして残念なことに、あなたが選ぶべきものはあなたが実際に測定したいものによって異なります。以下に、覚えておく価値のあるものをいくつか示します。

  • Spearmanのrhoメトリックは、リストの上部のエラーに、下部のミスマッチと同じ重みでペナルティを課します。したがって、ほとんどの場合、これはランキングの評価に使用するメトリックではありません
  • DCGとNDCGは、非バイナリユーティリティ関数を考慮に入れる数少ないメトリックの1つです。そのため、レコードが有用であるかどうかではなく、その有用性を記録できます。
  • DCGとNDCGはポジションの重みを固定しているため、特定のポジションのドキュメントは、上に示したドキュメントとは無関係に常に同じゲインとディスカウントを持ちます。
  • 通常、DCGよりもNDCGの方が適しています。これは、関連するドキュメントの数で値を正規化するためです。
  • MAPは、この問題の古典的で「行き先」のメトリックであると想定されており、この分野の標準であると思われます。
  • (N)DCGは、固定された量のレコード(@k)に対して常に計算される必要があります。これは、テールが長いためです(ランキングの最後に無関係なレコードが大量にメトリックに偏ります)。これはMAPには適用されません。
  • 平均相互ランクは、最初の関連ドキュメントの位置のみをマークするため、可能な限り多くの関連ドキュメントをリストの上位に配置する必要がある場合は、これを選択しないでください。
  • ケンドールのタウのみバイナリ効用関数を処理し、それはまた@k計算されなければならない(と同様NDCG

貴重なリソース:

  • YouTubeのVictor Lavrenko講義 -これはMAP対NDCGエピソードへのリンクにすぎませんが、講義全体には(ケンドールのタウを含む)さらに多くが含まれています。あなたは間違いなくそれをチェックアウトするべきです、素晴らしい講義!
  • ERRペーパー

新鮮なアカウントのため、これ以上リンクを投稿できません:)誰かがさらにコメントやアイデアを持っているなら、私もそれらを聞いてうれしいです!


リンクがさらにある場合、この回答を更新するのに十分なポイントがあると思います。
ヤシュクマールアトリ

4

ランキングアルゴリズム(Google検索、Amazon製品の推奨など)を適用する多くの場合、数百および数千の結果があります。ユーザーは、トップ20かそこらで見たいだけです。したがって、残りは完全に無関係です。

k

これがアプリケーションに当てはまる場合、これはメトリックに直接影響します。

  1. kk
  2. 2k

kk

ランキングのTop-k分類精度

グラウンドトゥルースでは、順序を定義するのは難しいかもしれません。また、関連性のあるものと関連性のないものだけを区別する場合は、実際には分類のケースです!

Top-n精度は分類のメトリックです。Top-n精度の定義は何ですか?を参照してください 。

top-k精度=ランキングクエリのtop-k内の少なくとも1つの関連要素がどのくらいの頻度であったか。クエリのランキング

k

kk[520]

k

Precision @ k

Precision @ k=top-k内の関連アイテムの数k[01] 高いほど良い

あなたが言うこと:

  • 高い場合->ユーザーに表示する内容の多くはユーザーに関連しています
  • 低い場合->ユーザーの時間を無駄にします。あなたがそれらを示すものの多くは、それらに関係ありません

Recall @ k

Recall @ k=top-k内の関連アイテムの数関連アイテムの総数[01] 高いほど良い

その意味:

  • 高い場合:持っているものを見せます!関連するすべてのアイテムを提供します。
  • 低い場合:関連アイテムの合計量と比較して、kは小さい/上位k内の関連アイテムは小さい。このため、recall @ kだけではそれほど意味がありません。高精度@kと組み合わせる場合、kを増やすことは理にかなっています。

2

私は最近、マルチラベルランキングアルゴリズムを評価するためのメトリックを選択する必要があり、このテーマにたどり着きました。これは本当に役に立ちました。以下は、stpkの回答に追加されたもので、選択を行うのに役立ちました。

  • MAPは、近似を犠牲にして、マルチラベル問題に適応できます。
  • MAPはkで計算する必要はありませんが、負のクラスが優勢である場合、マルチラベルバージョンは適応されない可能性があります
  • MAP(N)DCGは両方とも、ランク付けされた関連性値の加重平均として書き直すことができます

詳細

平均平均精度(MAP)は複数のクエリのAPの平均であるため、平均精度(AP)に注目しましょう。APは、正確なリコール曲線下の領域としてバイナリデータで適切に定義されます。これは、各正の項目の精度の平均として書き換えることができます。(MAPのウィキペディアの記事を参照)可能な近似は、それぞれの精度の平均として定義することです項目。残念なことに、リストの最後にランク付けされた負の例はAPの値に影響を与えないという素晴らしい特性を失います。(これは、ポジティブな例よりもネガティブな例が多い検索エンジンの評価に関して特に悲しい。他の欠点を犠牲にしてネガティブな例をサブサンプリングすることです。例えば、よりポジティブな項目を持つクエリは等しくなります肯定的な例がほとんどないクエリには困難です。)

一方、この近似には、マルチラベルの場合にうまく一般化できるという優れた特性があります。実際、バイナリの場合、位置kでの精度は、位置kの前の平均関連性としても解釈できます。ここで、正の例の関連性は1であり、負の例の関連性は0です。関連性のレベルが2つ以上ある場合。この場合、APは各位置での関連性の平均の平均として定義することもできます。

k

wkAP=1KログKk

K

wkDCG=1ログk+1

これらの2つの式から、APがドキュメントを1から0に重み付けします。-DCGはドキュメントの総数とは無関係にドキュメントを重み付けします。

どちらの場合でも、関連する例よりもはるかに無関係な例がある場合、陽性の総重量は無視できる場合があります。APの場合、回避策はネガティブサンプルをサブサンプリングすることですが、サブサンプリングの割合を選択する方法、およびクエリまたはポジティブドキュメントの数に依存させるかどうかはわかりません。DCGの場合、kでカットできますが、同じ種類の質問が発生します。

ここで誰かがこの問題に取り組んだなら、私はこれについてもっと聞いてうれしいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.