
ランク付けタスクは、あらゆる場所で発生します。特定の検索クエリに従ってWebページをソートし、ニュースフィードをパーソナライズし、ビデオ、製品、音楽を推奨します。つまり、トピックはホットです。 機械学習には、自己学習ランキングアルゴリズム(ランク付けの学習)を研究する特別な領域もあります。 さまざまなアルゴリズムとアプローチの中から最適なものを選択するには、その品質を定量化できる必要があります。 最も一般的なランキング品質指標については、後で説明します。
ランキングタスクについて簡単に
ランキングは、 関連性の理由で要素のセットをソートするタスクです。 ほとんどの場合、関連性は特定のオブジェクトに関連して理解されます 。 たとえば、情報検索のタスクでは、オブジェクトはリクエストであり、要素はすべての種類のドキュメント(それらへのリンク)であり、関連性はドキュメントとリクエストの対応であり、推奨のタスクでは同じオブジェクトがユーザーであり、要素は1つまたは別の推奨コンテンツ(商品、ビデオ、音楽) )、および関連性は、ユーザーがこのコンテンツを使用する(購入/いいね/見る)確率です。
正式には、N個のオブジェクトを考慮します
ランキングの品質を評価するには、アルゴリズムの結果を比較できる「標準」が必要です。 検討する
取得する主な方法は2つあります
1.履歴データに基づきます。 たとえば、コンテンツの推奨の場合、ユーザービュー(いいね!、購入)を取得し、対応する要素の表示された重みに1を割り当てることができます(
2.専門家の判断に基づきます。 たとえば、検索タスクでは、リクエストごとに、リクエストに対するドキュメントの関連性を手動で評価する評価者のチームを引き付けることができます。
注目すべきことは
ランキング品質メトリックの目的は 、関連性スコアの関連性を判断することです
平均精度
K(map @ K)での平均平均精度は、最も一般的に使用されるランキング品質メトリックの1つです。 どのように機能するかを理解するために、「基本」から始めましょう。
注:「*精度」メトリックは、バイナリ問題で使用されます。
kでの精度
Kでの精度(p @ K) -K要素の精度-単一オブジェクトの基本的なランキング品質メトリック。 ランキングアルゴリズムが各アイテムの関連性評価を生成したとします。
注:下
Kでの平均精度
Kでの精度-メトリックは理解および実装が簡単ですが、重要な欠点があります-「トップ」の要素の順序を考慮しません。 したがって、10個の要素のうち1つだけを推測した場合、最初の場合でも最後の場合でも、彼がどこにいたかは関係ありません。
この欠点により、 K(ap @ K)でのランキングメトリックの平均精度がなくなります。これは、Kで割った関連要素の 1〜Kのインデックスkでの合計p @ kに等しくなります。
したがって、3つの要素のうち、最後の場所にしかいなかった場合、
さて、地図@ Kは私たちには難しすぎます。
Kでの平均平均精度
K(map @ K)での平均平均精度は、最も一般的に使用されるランキング品質メトリックの1つです。 p @ Kおよびap @ Kでは、ランキングの品質は単一のオブジェクト(ユーザー、検索クエリ)に対して評価されます。 実際には、多くのオブジェクトがあります。数十万のユーザー、数百万の検索クエリなどを扱っています。 map @ Kの考え方は、各オブジェクトと平均についてap @ Kを計算することです。
注:すべてのユーザーが等しく必要であり、同様に重要であると想定する場合、この考えは非常に論理的です。 そうでない場合は、単純な平均化の代わりに、各オブジェクトのap @ Kにその「重要度」に対応する重みを掛けることにより、重み付きの重みを使用できます。
正規化された割引累積ゲイン
正規化された割引累積ゲイン(nDCG)は、別の一般的なランキング品質メトリックです。 map @ Kと同様に、基本から始めましょう。
kでの累積ゲイン
もう一度1つのオブジェクトを見てみましょう。
このメトリックには明らかな欠点があります。正規化されておらず、関連する要素の位置を考慮していません。
p @ Kとは異なり、CG @ Kは参照関連性の非バイナリ値の場合にも使用できることに注意してください。
Kでの割引累積ゲイン
Kでの割引累積ゲイン(DCG @ K) -位置番号の逆対数に等しい重みで要素の関連性を乗算することにより、リスト内の要素の順序を考慮した、Kでの累積ゲインの変更:
注:場合
対数を割引関数として使用することは、次の直観的な考慮事項によって説明できます。ランキングの観点から、リストの先頭の位置は末尾の位置よりもはるかに異なります。 そのため、検索エンジンの場合、位置1と11の間に大きなギャップがあります(100のうちわずかな場合のみ、ユーザーは検索結果の最初のページを超えます)が、位置101と111の間に大きな違いはありません。 これらの主観的な考慮事項は、対数を使用して完全に表現されます。
割引累積ゲインは、関連する要素の位置を考慮に入れる問題を解決しますが、正規化の欠如による問題を悪化させるだけです。
Kでの正規化された割引累積ゲイン
名前が示すように、 Kでの正規化された割引累積ゲイン(nDCG @ K)は、DCG @ Kの正規化バージョンにすぎません。
どこで
このように
注:map @ Kとの類推により、計算できます
平均逆数ランク
平均相互ランク(MRR)は、別の一般的に使用されるランキング品質メトリックです。 次の式で定義されます。
どこで
範囲[0,1]の平均逆ランクの変化は、要素の位置を考慮に入れます。 残念なことに、彼はこれを1つの要素に対してのみ行います。最初に正しく予測された要素で、以下のすべてに注意を払っていません。
ランク相関メトリック
それとは別に、 ランク相関係数の 1つに基づいてランク付け品質メトリックを強調する価値があります。 統計では、ランク相関係数は、値自体ではなく、ランク(順序)のみを考慮した相関係数です。 最も一般的な2つのランク相関係数、スピアマン係数とカンデル係数を考えます。
ケンドールランク相関係数
これらの最初のものはCandell相関係数です。これは、matchedの計算に基づいています。
(および一貫性のない)置換のペア-置換が同じ(異なる)順序を割り当てた要素のペア:
スピアマンの順位相関係数
2番目のスピアマンのランク相関係数は、本質的にランク値に基づくピアソン相関にすぎません。 ランクから直接それを表現するかなり便利な公式があります:
どこで
ランク相関ベースのメトリックには、既知の欠点があります:要素の位置を考慮しません(最高ランクのK要素ではなく、すべての要素に対して相関が計算されるため、p @ Kよりもさらに悪い)。 したがって、実際にはこれらはほとんど使用されません。
カスケード動作メトリック
ここまでは、ユーザーが提案された要素をユーザーがどのように研究するかについては掘り下げませんでした(さらに、オブジェクトの特殊なケースであるユーザーを検討します)。 実際、各要素を表示することは、他の要素を表示することから独立している 、つまり一種の「素朴さ」であると暗黙的に仮定しました。 実際には、要素はユーザーによって一度に1つずつ表示されることが多く、ユーザーが次の要素を表示するかどうかは、前の要素に対する満足度によって決まります。 例について考えてみましょう。検索クエリに応答して、ランキングアルゴリズムはユーザーに複数のドキュメントを提供しました。 位置1と2のドキュメントが非常に関連性が高い場合、ユーザーが位置3のドキュメントを見る可能性は小さいです。 彼は最初の2つに非常に満足しています。
彼に提案された要素の研究が連続して実行され、要素を見る確率は前のものの関連性に依存するユーザー行動の同様のパターンはカスケードと呼ばれます。
期待される相互ランク
期待相反ランク(ERR)は、カスケードモデルのランク付け品質メトリックの例です。 次の式で定義されます。
ランクは降順で理解されます
どこで
次のように読むことができます: 位置にある要素の真の関連性
一般的な場合、次の式が最もよく使用されます。
ポンド
PFoundは、 同胞によって提案され、次のようなカスケードモデルを使用したランキング品質指標です。
どこで
、
もし
それ以外の場合は0
-ユーザーが外部の理由で表示を停止する可能性。
結論として、トピックに関するいくつかの有用なリンクを提供します。
-ウィキペディアの記事: ランキングトレーニング 、 MRR 、 MAP、およびnDCG 。
-ROMIP 2010で使用されるメトリックの公式リスト 。
-kaggle.comのMAPおよびnDCGメトリックの説明。
- カスケードモデルのオリジナル記事、 ERRおよびPFound 。
StackEditを使用して書かれています 。
素晴らしいhabratexの SeptiMに感謝します。