検索ランキングアルゴリズム

ソートモデルLTR(L2R、ランク付けする学習)

  • 点状:各項目順序付きリストのために、直接学習値は、例えば、推定することができ、クリックスルー率(CTR、推定クリック率を予測)、その後、推定値は降順にソートすることができ従ってください。一般的なモデルでは、LR、FFM、GBDT、XGBoostを持っています。LTRは、より多くの非線形モデルのGBDTアプリケーションです。添加グローブス(略称AG)モデルは、ランダムフォレストに基づいて構築され、バギングアルゴリズム、より強いような汎化能力が追加しました。複数のツリーからなる各グローブの組成物(バギング)の数によってグローブAGは、トレーニングの目標値をフィッティング時の各ツリーは、他のツリーの結果と予測残差と同様です。トレーニングと木の再訓練の過程で樹木の指定された数に達すると、前の秋の木に置き換えられます。GoogleのFTRL方法提案線形モデルをオンラインで更新することができます。
  • ペアワイズ:二十から二学習の関係は、2つのエントリがあります。一般的なモデルはGBRank、RankNet、LambdaMart、RankSVMを持っています。LambdaMartは、スケジューリング問題の改善のGBDTを組み合わせるラムダおよびMART(複数加法回帰ツリー、GBDTエイリアス)です。ラムダ再計算された勾配LambdaMartを計算するとき、適合を決定する関数としてクロスエントロピー損失を使用して、各順序付けられた対のシグモイド確率を用いて算出される勾配所定の物理的意味を、再順序付け、およびオフラインソートインジケータ(例えば、MAP 、NDCGは)考慮にグラデーションを取ります。
  • リストごと:本当の分布との間のギャップを予測し、配布をソートすることにより、ListNetなどのモデルを最適化するための究極の最適化目標としての最高の種類のリスト、典型的なモデル。最適なレベルのリストを確保する効果をソートするソートされたリストの質の尺度として割引累積利得(正規化された割引累積ゲイン、NDCG)と標準化の導入。

スコアがX1 X2より大きい場合ペアワイズモデルがそれ以外の場合は負例-1であり、正の例+1として一対次いで、例えば(X1、X2)のような一対の上のすべてのドキュメント2つずつ、を指す。ペアワイズ効果がより通常優れています点別には、(学界は、業界もますますペアワイズを使用している場合です)。

ここでは、いくつかの古典的なモデルの分類です:

RankSVM

RankSVMはSVMによって、クエリ-docのペアの(ペアごと)、古典的なモデル、得点と順位を学んでソートペア。前記入力特徴RankSVM寸法クエリドキュメント対の間の差、すなわち\(X_2-X_1 \) ラベルの相対的順序(+1、-1)。

GBRank

GBRankはヤフーの従業員によって提案されました。学習は、基本的な勾配ライザー(勾配ブーストマシーン、GBM)です。Yの半順序として定義損失関数のすべてのx> Nトレーニングサンプルについて:
[L_1 = \ sum_ 1} = {I ^ N \ MAX(0、H(Y_I)-H(X_I)\ )\\ || \\ L_2 = {1
2上\} \ sum_ {I = 1} ^ N(\ MAX(0、H(Y_I)-h(X_I)))^ 2 \] の勾配を使用して解決の減少、m番目の反復更新H:\(H(Y_I ^ M)= H_ {M-1}(Y_I) - \ rho_m \回{\部分L_2ある^ {M-1} \ \部分Y_Iオーバー} \)。予測誤差を更新するだけの部分的配列、この時点で存在している\(H(Y_I ^ M)は = H(X_I ^ {M-1}); \さh(X_I ^ M)= hの(Y_I ^ {M- 1})\) したがって、より堅牢な保証するために必要な正しい部分学習を学び、そしてするために十分な大きさの差であることが必要、のように変形損失関数は、以下:
\ [L_3 = 2上{1 \}を\ sum_ I = {1} ^ N(\ MAX(0、
\タウ+のH(Y_I)-h(X_I)))^ 2 \] 誤差を学習した後、このような半順序、更新:\(H(Y_I ^ M)= H(X_I ^ { } 1-M) -タウの\; \ H(X_I ^ M)= H(Y_I 1-M ^ {})+タウ\の\)

正規すべてのGBMを用いGBRank:({。mh_ {M-1}(X)+ \ ETAのg_m(X)\オーバーM + 1} h_m(X)= \)\を\(\ ETA \ )収縮のために。

RankNet

ソートの正確な値にマッピングされた各サンプルをモデル化する学習プロセスを回避するために、部分的ためには、ちょうど一種の学習は、部分的な順序があります。RankNetマイクロソフトボッグズ(ICML2005)によって提案され、GBRankより前のポイントを提案それはすることができます。RankNet確率を学ぶためには、ニューラルネットワークによる半順序を持っています。目標確率セット学習である(\ P_ {X-Y}の\バー)\、(x> y)をソートX場合先行Y、\(P_ {XY} =の\バー。1 \)、0の部分を決定しない場合タイミング関係は、0.5である。入力xをリセットし、yはに対応する出力値である\(F(X)、F(Y)、O_ {XY} = F(X)-f(Y)\) 半順序予測値(\ \テキスト{シグモイド}( O_ {X-Y})= {1 \ 1オーバー+ E ^ { - O_ {X-Y}}} \) 損失関数は、クロスエントロピー損失(損失確率の対数)として定義される:
\ [\ {整列}始めるL_ { X-Y} - = - \バーP_ {X-Y} \ログP_ {X-Y} - (1- \バーP_ {X-Y})\ログ(1-P_ {X-Y})\\&= - \バーP_ {X-Y} [ O_ {X-Y} - \ログ(1 + E ^ {O_ {X-Y}})] +(1- \バーP_ {X-Y})\ログ(1 + O_ {X-Y})\ \&= - \バーP_ {
X-Y} O_ {X-Y} + \ログ(1 + eは^ {O_ {X-Y}})\端\] {整列} こうしてRankNetがあってもよく、移動抵抗を有する半順序確率対ためO(N)複雑。RankNetエラーペアの最適化目標を削減するので、そのためNDCG(金利関連文書の位置が配置されている)と他の指標効果を測定するためには、(同じRankSVM、GBDTおよび他のランク付けモデルでも真である)非常に良いではありません。その後の改良されたモデルはLambdaRank、LambdaMart含みます。

开源代码实现:Ranklibは、さまざまなアルゴリズムが含まれています。

LambdaMART

これは、Bingの中に長い時間のためのモデルのMicrosoftの使用、この領域でもL2R評判です。ボッグズチームはRankNetないインデックスの最適化検索(NDCGやMAPなど)を実現した後、直接LambdaRankは、最適化されたモデルパラメータの変化のNDCG量を使用して対処。そして、
アイデアアップLambdaRankとGBDTの組み合わせは、強いLambdaMARTを前方に置きます。
ラムダは、二つのドキュメント(実際には、損失の確率の勾配を乗じた数の変化のこの量を有する)NDCGの変化量として定義されます。ラムダ勾配より多くの注意を効果的に高品質な文書のこの場合は、フロント下の位置位置の発生を避けるため、高品質な文書の前のランキングポジションの位置を強化します。

評価をランク付けするために学びます

精度とリコール(PR)

PRは、2つの異なる欠点があります。

  • すべての記事を2つのトランシェに分けのみ関連とは無関係である、分類は明らかにあまりにもラフです。
  • それは場所の要因を考慮していません。

割引累積ゲイン(DCG)

DCGは、PRの両方の問題に対処します。キーワードの場合は、すべての文書は、ここでは、関連性の複数のレベルに分けることができます\(rel_1、rel_2、... \ ) 表現するために。物品の位置と対数減衰率の増加に伴ってリストの全体的な評価に相関の寄与、位置、より重度の減衰によって、より後。

NDCGは、このインジケータがソート結果に、関連情報が関連情報よりも高くランク付けされていないことであると仮定し、上部に配置するために必要な最も関連性の高い情報、下部に最も関係のない情報行。一度仮定から外れた任意の並べ替えの結果は「ペナルティ」または「罰。」ことになります NDCGは、テストセットのソート評価です。

それがそもそもCGから必要NDCGに来るときNDCGは、スコアの並べ替えを検討します。CG(累積ゲイン累積利得)が得点/評価個人化推薦システムに基づいて評価することができます。次のように我々はk個のアイテムをお勧めしますと仮定し、このCGKの推薦リストに計算されます。

\ [CG_k = \ sum_ {i = 1} ^ k個の\テキスト{REL} _i \]

(\ \テキスト{REL} _i \) 相関または定格のk番目の項目を表します。我々はk膜の総推奨仮定\(\テキスト{REL} _i \)は、I-映画のユーザのスコアであってもよいです。

M1、M2、M3、M4、M5:ユーザーへのクレソンなど、5本の映画をお勧めします

これらの5件の映画の評価のユーザは、次のとおりです。5、3、2、1、2

そして、CGは、推奨リストに等しい
CG5 = 5 + 3 + 2 + 1 + 2 = 13
CGないの推奨順序は、これに基づいて、我々は秩序を導入項目を考慮した後、DCG(割引後CG)があり検討し、割引累積ゲイン。次のように式は次のとおりです。

\ [DCG_k = \ sum_ {i = 1} ^ k個の\ FRAC {2 ^ {\テキスト{REL} _i} -1} {\ log_2(I + 1)} \]

次いで、推薦リストDCGが等しく
\ [DCG_5 = \ FRAC {2 ^ 5-1} {\ log_2 2} + \ FRAC {2 ^ 3-1} {\ log_2 3} + \ FRAC {2 ^ 2-1} {\ log_2 4} + \ FRAC {2 ^ 1-1} {\ log_2 5} + \ FRAC {2 ^ 2-1} {\ log_2 6} = 31 + 4.4 + 1.5 + 0.4 + 1.2 = 38.5 \]

エンジンをソートするために、結果のリストの長さは、多くの場合、異なる要求と同じではありません。エンジンの異なる種類の場合統合ソート性能比較、要求の異なる指標DCG長との比較は高くありません。DCGが本当で考慮に有効な推薦リストの数と各検索結果を取らない、業界で一般に使用され、現在、正規化DCG(NDCG)があり、これは完璧な、リストは、p位置の前に要求を得ることができます完璧なものを想定していますスコアリストが理想DCG(IDCG)と呼ばれる、NDCG IDCG比がDCGに等しいです。だから、NDCGは0と1の間の値です。

次のようにIDCGが定義されていること、完璧な結果の下DCG、:

\ [\テキスト{IDCG} _p = \ sum_ {i = 1} ^ {| REL |} {2 ^ {rel_i} -1 \オーバー\ log_2(I + 1)} \]

| REL |結果のリストに代わっ良い場所に関連ランキングによるPまで。

\ [NDCG_k = FRAC \ {DCG_k} {IDCG_k} \]

上記の例に続いて、7映画の合計場合:M1、M2、M3、M4 、M5、M6、M7の
ユーザこれらの7件の映画の評価:5、3、2、1、2、4、 0

7この種のフィルム評価:5、4、3、2、2、1、0

この場合、完全DCG
\ [IDCG_5 = FRAC \ {2 ^ 5-1} {\ log_2 2} + \ FRAC {2 ^ 4-1} {\ log_2 3} + \ FRAC {2 ^ 3-1} {\ log_2 4} + \ FRAC
{2 ^ 2-1} {\ log_2 5} + \ FRAC {2 ^ 2-1} {\ log_2 6} = 31 + 9.5 + 3.5 + 1.3 + 1.2 = 46.5 \] それほど、\(NDCG_5 = \ FRAC DCG_5} {} = {IDCG_5 \ FRAC {38.5} {46.5} = 0.827 \)
NDCGは、推薦を説明より正確な1に近い0から1までの数です。

参考:http://sofasofa.io/forum_main_post.php?postid=1002561

予想される相互ランク(ERR)

DCGと比較して、位置を考慮し、関連する減衰レベルの多様性を可能にすることに加えて、ERRは歩進んより(R1、R2、R3で表される...)、さらにドキュメント関連性前行のすべての文書を考えます。例えば、第5位に非常に関連した文書を、取ります。関連文書の上面の4が高くない場合は、文書たくさんのリストに貢献。逆に、大規模な程度に関連前の4つの文書ならば、完全にユーザーが単に文書最初の5つの位置をクリックしないでください、ドキュメントリストへの貢献は小さくなり、ユーザの検索ニーズを解決してきました。
次のようにERRが定義されています。

\ [ERR = \ sum_ {R = 1} ^ {N 1、Rオーバー\} \ prod_ {i = 1} ^ {R-1}(1-R_iを)R_r \]

おすすめ

転載: www.cnblogs.com/makefile/p/l2r.html