以下の論文を読みます。

検索エンジンさんはユーザが検索したフレーズを受け取ってウェブサイトを関連の強そうなものから順に並べて提示するということをしなければなりません。そのためのモデル(ランキング関数)は、検索フレーズ-ウェブサイト対を受け取って、その対の関連度を返します。しかし、そのような関連度の教師データなどというものは存在しません(人手で優先度をラベリングした場合はありますが)。では何を目標に学習するかですが、過去のデータから、「同じ検索フレーズで表示されたウェブサイトの中でもクリックされた確率に有意差があったペア」をなるべくかき集めてくることはできるでしょう。これらのペアたちの相対的優先度にしたがうような関連度スコアを出すことを目指します。「チーズタルト」というフレーズで検索したデータから「専門店Xのサイト(クリック率相対的に大)、専門店Xのサイト(クリック率相対的に小)」というペアが抽出されたならば、モデルは「チーズタルト-専門店Xのサイト」に20.0、「チーズタルト-専門店Yのサイト」に15.0などというようなスコアを付けていれば正解です。これを実現するには、勾配ブースティング回帰木で、相対的優先度を誤ったペアについて判定を取り換えっこすることを目指す…?

前提の確認も兼ねて 2.1 節の一般的な回帰モデルに対する勾配降下法からみていこう。 いま学習データ があって、
になるような関数
を手に入れたい。2乗誤差を採用するならば以下の最適化問題を解きたいと。
は予め定めた関数クラスだね。


そうだね。その勾配ブースティング回帰木の具体的な手続きは以下だ。
とする(全ての学習サンプル点の値の平均値で初期化する)。
ステップ目(
)の更新では、更新前の誤差
を求めて、これを目的変数に回帰木を学習し、木の終端ノードの値
を得る。そして、各ノードの平均残差
を算出し、各ノードに対応する長方形の領域をこの平均残差だけ更新する。

一般的な勾配ブースティング回帰木の話はわかります。別件でかじりましたから。でも、今回やりたい学習は回帰とは少し違います。与えられているのは「学習データ内の各ペアの優劣」で、その優劣を正しく表現するようなスコア付けを学ばなければなりません。そのように学ぼうとすることが、なぜ相対的優先度を誤ったペアについて「判定を交換」していくことになるのでしょうか?

まず、検索フレーズ-ウェブサイト対 と別の検索フレーズ-ウェブサイト対
について、
の方が関連が強い対であるとラベリングされていることを
と表記するよ。そして、全ての「相対的優先度が与えられているペア」を以下のようにかく。