勾配ブースティングは確率推定をどのように計算しますか?


11

私は、さまざまなブログ、ウェブサイトを読んで勾配ブーストを理解し、たとえばXGBoostソースコードを調べて私の答えを見つけようとしています。ただし、勾配ブースティングアルゴリズムが確率推定値を生成する方法についての理解できる説明は見当たらないようです。それで、彼らはどのように確率を計算しますか?


3
:これは本質的に異なる説明があなたに有用であろう場合には、要求し、同じ質問に答えるstats.stackexchange.com/questions/204154/...
マシュードゥルーリー

回答:


13

分類のためのXGBoostは、決定木の原理とロジスティック回帰を組み合わせたモデルです。

ロジスティック回帰関数は、ロジットスケールで線形である確率を計算します。

z=XwP(y=1|X)=11+exp(z)

ロジスティック回帰とは異なり、「特徴」は決定木の集団の末端ノードとして構築されます。そのため、各行は各サンプルの末端リーフを収集します。行はホットのバイナリベクトルで、は木の数です。(各XGBoostツリーは特定のアルゴリズムに従って生成されますが、ここでは関係ありません。)XXTT

は列あり、各ターミナルノードに1列あります。ノードの数はツリー間で異なる可能性があるため(通常、私の経験では)、ターミナルノードの総数を表す式はありません。nX

ツリーの各葉には、「重み」が関連付けられています。その重みは記録されます。に適合するために、には要素があります。wXnw

または、別の言い方をすれば、サンプルの対数オッズは、その末端リーフの重みの合計です。クラス1に属するサンプルの確率は、合計の逆ロジット変換です。


これは非常に役に立ちます。ありがとうございます。ベータベクターにはいくつの要素が含まれますか?それはすべての全体の葉ノードの総数に等しいでしょうか?(X行列には同じ数の列がありますよね?)
Vishal

更新された回答をありがとうございます。これは、サンプル/観測ごとに固有の Xマトリックスと固有のベータセットがあることを意味しますか()?つまり、クラス1に属する確率を計算するすべてのサンプル/観測値について、マトリックスとベータベクトルの一意の値を決定する必要がありますか?iX
Vishal

1
各行は、サンプルの末端リーフを格納します。X
Sycoraxによると、モニカの復活は

@SycoraxsaysReinstateMonicaあなたの答えはGBMを理解する上で非常に非常に役立ちます。また、GBM(分類子)の最初のツリーがどのように構築され、最初のツリーのノード分割基準がどのように決定されるかを説明してください。最初のツリーについて何を予測しているか(定数が初期化されていると仮定しても、損失の勾配が定数からどのように計算されるか)とmseが分割基準である場合、それは何で構成されているか(どの値の平方差) ??)
tjt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.