勾配ブースティングは 関数空間でのブースティング に基づく機械学習 手法であり、従来のブースティングのように残差 ではなく疑似残差を 対象とします。この手法では、弱い予測モデル、つまりデータについてほとんど仮定を行わないモデル(通常は単純な決定木)の アンサンブル の形で予測モデルが得られます。[ 1 ] [ 2 ] 決定木が弱学習器である場合、結果として得られるアルゴリズムは勾配ブースティング木と呼ばれ、通常はランダム フォレストよりも優れた性能を発揮します。[ 1 ] 他のブースティング手法と同様に、勾配ブースティング木モデルは段階的に構築されますが、任意の 微分可能 損失関数 の最適化を可能にすることで他の手法を一般化しています。
歴史 勾配ブースティングのアイデアは、ブースティングは適切なコスト関数の最適化アルゴリズムとして解釈できるというレオ・ブレイマンの観察に由来する。 [ 3 ] その後、明示的な回帰勾配ブースティング アルゴリズムは、ジェローム・H・フリードマン [ 4 ] [ 2 ] (1999 年およびその後 2001 年)によって、より一般的な機能的勾配ブースティングの観点と同時に、ルー・メイソン、ジョナサン・バクスター、ピーター・バートレット、マーカス・フリーンによって開発された。[ 5 ] [ 6 ]後者 の 2 つの論文では、反復的な機能的勾配降下 アルゴリズムとしてのブースティング アルゴリズムの観点が導入された。つまり、負の勾配方向を指す関数(弱い仮説)を反復的に選択することにより、関数空間全体でコスト関数を最適化するアルゴリズムである。ブースティングをこの機能的勾配の観点で見ると、回帰や分類を超えて、機械学習や統計の多くの分野でブースティング アルゴリズムが開発されるようになった。
(このセクションは程立氏による解説に続くものである。[ 7 ] )
他のブースティング手法と同様に、勾配ブースティングは弱い「学習者」を単一の強い学習者に反復的に統合します。最小二乗 回帰の設定で説明するのが最も簡単です。この設定では、 平均二乗誤差 を 最小化することで、出力変数 の実際の値のサイズのトレーニングセットのインデックスである、の値を予測するようにモデルを学習させることが目標です。 F {\displaystyle F} y ^ = F ( × ) {\displaystyle {\hat {y}}=F(x)} 1 n ∑ i ( y ^ i − y i ) 2 {\displaystyle {\tfrac {1}{n}}\sum _{i}({\hat {y}}_{i}-y_{i})^{2}} i {\displaystyle i} n {\displaystyle n} y {\displaystyle y}
y ^ i = {\displaystyle {\hat {y}}_{i}=} 予測値F ( x i ) {\displaystyle F(x_{i})} y i = {\displaystyle y_{i}=} 観測値n = {\displaystyle n=} サンプルのサイズ、つまり、y {\displaystyle y} アルゴリズムに段階がある場合、各段階()において、ある不完全なモデル( が低い場合、このモデルはの平均を 単純に予測する可能性がある)を仮定する。 を改善するために、アルゴリズムは新たな推定値 を追加する必要がある。したがって、 M {\displaystyle M} m {\displaystyle m} 1 ≤ m ≤ M {\displaystyle 1\leq m\leq M} F m {\displaystyle F_{m}} m {\displaystyle m} y ^ i {\displaystyle {\hat {y}}_{i}} y ¯ {\displaystyle {\bar {y}}} y {\displaystyle y} F m {\displaystyle F_{m}} h m ( x ) {\displaystyle h_{m}(x)}
F m + 1 ( x i ) = F m ( x i ) + h m ( x i ) = y i {\displaystyle F_{m+1}(x_{i})=F_{m}(x_{i})+h_{m}(x_{i})=y_{i}} あるいは、同等に、
h m ( x i ) = y i − F m ( x i ) . {\displaystyle h_{m}(x_{i})=y_{i}-F_{m}(x_{i}).} したがって、勾配ブースティングは残差 に適合します。他のブースティング法と同様に、各 は前の の誤差を修正しようとします。この考え方を二乗誤差以外の損失関数、および 分類およびランキング問題 に一般化すると、与えられたモデルの残差は平均二乗誤差(MSE) 損失関数の負の勾配( に関して)に比例するという観察から導かれます。 h m {\displaystyle h_{m}} y i − F m ( x i ) {\displaystyle y_{i}-F_{m}(x_{i})} F m + 1 {\displaystyle F_{m+1}} F m {\displaystyle F_{m}} h m ( x i ) {\displaystyle h_{m}(x_{i})} F ( x i ) {\displaystyle F(x_{i})}
L M S E = 1 n ∑ i = 1 n ( y i − F ( x i ) ) 2 {\displaystyle L_{\rm {MSE}}={\frac {1}{n}}\sum _{i=1}^{n}\left(y_{i}-F(x_{i})\right)^{2}} − ∂ L M S E ∂ F ( x i ) = 2 n ( y i − F ( x i ) ) = 2 n h m ( x i ) . {\displaystyle -{\frac {\partial L_{\rm {MSE}}}{\partial F(x_{i})}}={\frac {2}{n}}(y_{i}-F(x_{i}))={\frac {2}{n}}h_{m}(x_{i}).} したがって、異なる損失とその勾配を代入することで、 勾配ブースティングを勾配降下 アルゴリズムに一般化できます。
アルゴリズム 多くの教師あり学習の 問題は、出力変数y と入力変数のベクトルx を含み、これらは互いに確率分布で関連しています。目標は、入力変数の値から出力変数を最もよく近似する関数を見つけることです。これは、損失関数 を導入し、それを期待値で最小化すること で形式化されます。F ^ ( x ) {\displaystyle {\hat {F}}(x)} L ( y , F ( x ) ) {\displaystyle L(y,F(x))}
F ^ = argmin F E x , y [ L ( y , F ( x ) ) ] . {\displaystyle {\hat {F}}=\operatorname {argmin} \limits _{F}\mathbb {E} _{x,y}[L(y,F(x))].} 勾配ブースティング法は、実数値y を仮定します。この法則は、ベース(または弱 )学習器 と呼ばれるクラス から、 M 個の関数の重み付き和の形で近似値を求めます。F ^ ( x ) {\displaystyle {\hat {F}}(x)} h m ( x ) {\displaystyle h_{m}(x)} H {\displaystyle {\mathcal {H}}}
F ^ ( x ) = ∑ m = 1 M γ m h m ( x ) + const , {\displaystyle {\hat {F}}(x)=\sum _{m=1}^{M}\gamma _{m}h_{m}(x)+{\mbox{const}},} ここで、 はステージ における重みです。通常、既知のx 値とそれに対応するy 値のトレーニングセットが与えられます。経験的リスク最小化 原理に従い、この手法はトレーニングセットにおける損失関数の平均値を最小化する、つまり経験的リスクを最小化する近似値を見つけようとします。これは、定数関数 からなるモデルから開始し、それを貪欲な 方法で段階的に拡張することで行われます。 γ m {\displaystyle \gamma _{m}} m {\displaystyle m} { ( x 1 , y 1 ) , … , ( x n , y n ) } {\displaystyle \{(x_{1},y_{1}),\dots ,(x_{n},y_{n})\}} F ^ ( x ) {\displaystyle {\hat {F}}(x)} F 0 ( x ) {\displaystyle F_{0}(x)}
F 0 ( x ) = arg min h m ∈ H ∑ i = 1 n L ( y i , h m ( x i ) ) , {\displaystyle F_{0}(x)={\underset {h_{m}\in {\mathcal {H}}}{\arg \min }}\sum _{i=1}^{n}{L(y_{i},h_{m}(x_{i}))},} F m ( x ) = F m − 1 ( x ) + ( a r g m i n h m ∈ H [ ∑ i = 1 n L ( y i , F m − 1 ( x i ) + h m ( x i ) ) ] ) ( x ) , {\displaystyle F_{m}(x)=F_{m-1}(x)+\left({\underset {h_{m}\in {\mathcal {H}}}{\operatorname {arg\,min} }}\left[\sum _{i=1}^{n}L(y_{i},F_{m-1}(x_{i})+h_{m}(x_{i}))\right]\right)(x),} の場合、は基本学習関数です。 m ≥ 1 {\displaystyle m\geq 1} h m ∈ H {\displaystyle h_{m}\in {\mathcal {H}}}
残念ながら、任意の損失関数L に対して各ステップで最適な関数を選択することは、一般的に計算上不可能な最適化問題です。そのため、我々はこの問題の簡略化されたバージョンにアプローチを限定します。その考え方は、この最小化問題に最急降下 法(関数勾配降下法)を適用することです。基本的な考え方は、 を反復処理することで損失関数の局所的最小値を見つけることです。実際、損失関数の局所的最大降下方向は負の勾配です。[ 8 ] したがって、線形近似が有効なままになるように 少し移動します。h m {\displaystyle h_{m}} F m − 1 ( x ) {\displaystyle F_{m-1}(x)} γ {\displaystyle \gamma }
F m ( x ) = F m − 1 ( x ) − γ ∑ i = 1 n ∇ F m − 1 L ( y i , F m − 1 ( x i ) ) {\displaystyle F_{m}(x)=F_{m-1}(x)-\gamma \sum _{i=1}^{n}\nabla _{F_{m-1}}L(y_{i},F_{m-1}(x_{i}))} ここで。 が小さい場合、 が成り立ちます。 γ > 0 {\displaystyle \gamma >0} γ {\displaystyle \gamma } L ( y i , F m ( x i ) ) ≤ L ( y i , F m − 1 ( x i ) ) {\displaystyle L(y_{i},F_{m}(x_{i}))\leq L(y_{i},F_{m-1}(x_{i}))}
微分の関数形の証明
以下を証明するために、目的を考えてみましょう。 O = ∑ i = 1 n L ( y i , F m − 1 ( x i ) + h m ( x i ) ) {\displaystyle O=\sum _{i=1}^{n}L(y_{i},F_{m-1}(x_{i})+h_{m}(x_{i}))} 固定点の周りを1次まで テイラー展開するF m − 1 ( x i ) {\displaystyle F_{m-1}(x_{i})}
O = ∑ i = 1 n L ( y i , F m − 1 ( x i ) + h m ( x i ) ) ≈ ∑ i = 1 n L ( y i , F m − 1 ( x i ) ) + h m ( x i ) ∇ F m − 1 L ( y i , F m − 1 ( x i ) ) + ⋯ {\displaystyle O=\sum _{i=1}^{n}L(y_{i},F_{m-1}(x_{i})+h_{m}(x_{i}))\approx \sum _{i=1}^{n}L(y_{i},F_{m-1}(x_{i}))+h_{m}(x_{i})\nabla _{F_{m-1}L(y_{i},F_{m-1}(x_{i}))}+\cdots } ここで について微分すると、第2項の導関数だけが残ります 。これは最も急な上昇方向なので、最も急な下降方向へ移動するには、反対方向(つまり負の方向)へ移動する必要があります。 h m ( x i ) {\displaystyle h_{m}(x_{i})} ∇ F m − 1 L ( y i , F m − 1 ( x i ) ) {\displaystyle \nabla _{F_{m-1}}L(y_{i},F_{m-1}(x_{i}))}
さらに、損失関数が最小値を持つ値を 見つけることで最適化できます。γ {\displaystyle \gamma } γ {\displaystyle \gamma }
γ m = argmin γ ∑ i = 1 n L ( y i , F m ( x i ) ) = arg min γ ∑ i = 1 n L ( y i , F m − 1 ( x i ) − γ ∇ F m − 1 L ( y i , F m − 1 ( x i ) ) ) . {\displaystyle \gamma _{m}={\underset {\gamma }{\operatorname {argmin} }}\sum _{i=1}^{n}L(y_{i},F_{m}(x_{i}))={\underset {\gamma }{\arg \min }}{\sum _{i=1}^{n}L\left(y_{i},F_{m-1}(x_{i})-\gamma \nabla _{F_{m-1}}L(y_{i},F_{m-1}(x_{i}))\right)}.} 連続の場合、すなわち が上の任意の微分可能関数の集合である場合、モデルを次の式に従って更新する。 H {\displaystyle {\mathcal {H}}} R {\displaystyle \mathbb {R} }
F m ( x ) = F m − 1 ( x ) − γ m ∑ i = 1 n ∇ F m − 1 L ( y i , F m − 1 ( x i ) ) {\displaystyle F_{m}(x)=F_{m-1}(x)-\gamma _{m}\sum _{i=1}^{n}{\nabla _{F_{m-1}}L(y_{i},F_{m-1}(x_{i}))}} ここで、はステップ長であり、次のように定義されます。 ただし、離散的なケース、つまり集合が有限の場合、 L の勾配に最も近い候補関数hを 選択します。この関数hの係数γは、上記の式を用いて 直線探索 によって計算できます。このアプローチはヒューリスティックであり、与えられた問題に対する正確な解ではなく、近似値となることに注意してください。擬似コードでは、一般的な勾配ブースティング法は次のようになります。[ 4 ] [ 1 ] γ m {\displaystyle \gamma _{m}} γ m = arg min γ ∑ i = 1 n L ( y i , F m − 1 ( x i ) − γ ∇ F m − 1 L ( y i , F m − 1 ( x i ) ) ) . {\displaystyle \gamma _{m}={\underset {\gamma }{\arg \min }}\sum _{i=1}^{n}L\left(y_{i},F_{m-1}(x_{i})-\gamma \nabla _{F_{m-1}}L(y_{i},F_{m-1}(x_{i}))\right).} H {\displaystyle {\mathcal {H}}}
入力: トレーニング セット、 微分可能な損失関数、反復回数M。 { ( x i , y i ) } i = 1 n , {\displaystyle \{(x_{i},y_{i})\}_{i=1}^{n},} L ( y , F ( x ) ) , {\displaystyle L(y,F(x)),}
アルゴリズム:
定数値でモデルを初期化します。 F 0 ( x ) = arg min γ ∑ i = 1 n L ( y i , γ ) . {\displaystyle F_{0}(x)={\underset {\gamma }{\arg \min }}\sum _{i=1}^{n}L(y_{i},\gamma ).} m = 1 からM の場合: いわゆる擬似残差 を計算します。 r i m = − [ ∂ L ( y i , F ( x i ) ) ∂ F ( x i ) ] F ( x ) = F m − 1 ( x ) for i = 1 , … , n . {\displaystyle r_{im}=-\left[{\frac {\partial L(y_{i},F(x_{i}))}{\partial F(x_{i})}}\right]_{F(x)=F_{m-1}(x)}\quad {\text{for }}i=1,\ldots ,n.} スケーリングに関して閉じた基本学習器(または弱い学習器、たとえばツリー)を擬似残差に適合させます。つまり、トレーニング セットを使用してトレーニングします。h m ( x ) {\displaystyle h_{m}(x)} { ( x i , r i m ) } i = 1 n {\displaystyle \{(x_{i},r_{im})\}_{i=1}^{n}} 次の 1 次元最適化問題を解いて 乗数を計算します。γ m {\displaystyle \gamma _{m}} γ m = argmin γ ∑ i = 1 n L ( y i , F m − 1 ( x i ) + γ h m ( x i ) ) . {\displaystyle \gamma _{m}={\underset {\gamma }{\operatorname {argmin} }}\sum _{i=1}^{n}L\left(y_{i},F_{m-1}(x_{i})+\gamma h_{m}(x_{i})\right).} モデルを更新します。 F m ( x ) = F m − 1 ( x ) + γ m h m ( x ) . {\displaystyle F_{m}(x)=F_{m-1}(x)+\gamma _{m}h_{m}(x).} 出力F M ( x ) . {\displaystyle F_{M}(x).}
勾配木ブースティング 勾配ブースティングは、通常、固定サイズの決定木 (特にCART )をベース学習器として用いる場合に用いられます。この特殊なケースに対し、Friedmanは勾配ブースティング法に改良を加え、各ベース学習器の適合度を向上させる手法を提案しています。
m 番目のステップにおける一般的な勾配ブースティングは、擬似残差に決定木を当てはめる。をその葉の数とする。決定木は入力空間を互いに素な領域に分割し、各領域で定数値を予測する。指示子記法 を用いると、入力x に対するの出力は、以下の和として表すことができる。 h m ( x ) {\displaystyle h_{m}(x)} J m {\displaystyle J_{m}} J m {\displaystyle J_{m}} R 1 m , … , R J m m {\displaystyle R_{1m},\ldots ,R_{J_{m}m}} h m ( x ) {\displaystyle h_{m}(x)}
h m ( x ) = ∑ j = 1 J m b j m 1 R j m ( x ) , {\displaystyle h_{m}(x)=\sum _{j=1}^{J_{m}}b_{jm}\mathbf {1} _{R_{jm}}(x),} ここで、は領域 で予測される値である。[ 9 ] b j m {\displaystyle b_{jm}} R j m {\displaystyle R_{jm}}
次に、係数に、損失関数を最小化するように直線探索を使用して選択された 何らかの値が乗算され、モデルは次のように更新されます。b j m {\displaystyle b_{jm}} γ m {\displaystyle \gamma _{m}}
F m ( x ) = F m − 1 ( x ) + γ m h m ( x ) , γ m = a r g m i n γ ∑ i = 1 n L ( y i , F m − 1 ( x i ) + γ h m ( x i ) ) . {\displaystyle F_{m}(x)=F_{m-1}(x)+\gamma _{m}h_{m}(x),\quad \gamma _{m}={\underset {\gamma }{\operatorname {arg\,min} }}\sum _{i=1}^{n}L(y_{i},F_{m-1}(x_{i})+\gamma h_{m}(x_{i})).} フリードマンはこのアルゴリズムを修正し、木全体に対して単一の最適値を選択するのではなく、木の各領域に対して個別の最適値を選択するように提案した。彼はこの修正アルゴリズムを「TreeBoost」と名付けた。これにより、木への適合手順で得られた係数は単純に破棄され、モデル更新規則は次のようになる。 γ j m {\displaystyle \gamma _{jm}} γ m {\displaystyle \gamma _{m}} b j m {\displaystyle b_{jm}}
F m ( x ) = F m − 1 ( x ) + ∑ j = 1 J m γ j m 1 R j m ( x ) , γ j m = a r g m i n γ ∑ x i ∈ R j m L ( y i , F m − 1 ( x i ) + γ ) . {\displaystyle F_{m}(x)=F_{m-1}(x)+\sum _{j=1}^{J_{m}}\gamma _{jm}\mathbf {1} _{R_{jm}}(x),\quad \gamma _{jm}={\underset {\gamma }{\operatorname {arg\,min} }}\sum _{x_{i}\in R_{jm}}L(y_{i},F_{m-1}(x_{i})+\gamma ).} 損失が平均二乗誤差 (MSE) の場合、係数はツリーフィッティング手順の係数と一致します。 L ( ⋅ , ⋅ ) {\displaystyle L(\cdot ,\cdot )} γ j m {\displaystyle \gamma _{jm}} b j m {\displaystyle b_{jm}}
木の大きさ ツリー内の終端ノードの数は、モデル内の変数間の相互作用 の最大許容レベルを制御するパラメータです。 (決定木 )の場合、変数間の相互作用は許可されません。モデルには最大2つの変数間の相互作用の影響が含まれる場合があります。これは、手元のデータセットに合わせて調整できます。 J {\displaystyle J} J = 2 {\displaystyle J=2} J = 3 {\displaystyle J=3} J {\displaystyle J}
Hastieら[ 1 ] は、ブースティングには一般的にうまく機能し、この範囲での選択に結果があまり影響されないが、多くの用途には不十分であり、必要とされる可能性は低いとコメントしている。 4 ≤ J ≤ 8 {\displaystyle 4\leq J\leq 8} J {\displaystyle J} J = 2 {\displaystyle J=2} J > 10 {\displaystyle J>10}
正規化 トレーニングセットを過度に近似させると、モデルの汎化能力、つまり未知の例に対するパフォーマンスが低下する可能性があります。いわゆる正則化 手法は、フィッティング手順を制約することで、この過剰適合の 影響を軽減します。
自然な正則化パラメータの一つは、勾配ブースティングの反復回数M (つまりベースモデルの数)です。Mを増やすとトレーニング セットの誤差は減少しますが、過適合のリスクが高まります。Mの最適な値は、別 の検証データセットで予測誤差を監視することで選択されることがよくあります。
ツリーブースティングにおけるもう一つの正則化パラメータはツリーの深さです。この値が高いほど、モデルがトレーニングデータに過剰適合する可能性が高くなります。
収縮 勾配ブースティングの重要な部分は、修正された更新規則を使用する収縮による正規化です。
F m ( x ) = F m − 1 ( x ) + ν ⋅ γ m h m ( x ) , 0 < ν ≤ 1 , {\displaystyle F_{m}(x)=F_{m-1}(x)+\nu \cdot \gamma _{m}h_{m}(x),\quad 0<\nu \leq 1,} ここで、パラメータ は「学習率」と呼ばれます。 ν {\displaystyle \nu }
経験的に、小さな学習率 (など)を使用すると、縮小なしの勾配ブースティング()よりもモデルの一般化能力が劇的に向上することがわかっています。[ 1 ] ただし、トレーニング中とクエリ中 の計算時間が 長くなるという代償があります。学習率が低いほど、より多くの反復が必要になります。 ν < 0.1 {\displaystyle \nu <0.1} ν = 1 {\displaystyle \nu =1}
確率的勾配ブースティング 勾配ブースティングが導入されて間もなく、フリードマンはブレイマン のブートストラップ集約 (「バギング」)法を参考に、アルゴリズムに小さな修正を加えることを提案した。[ 2 ] 具体的には、アルゴリズムの各反復処理において、ベース学習器をトレーニングセットから無作為に抽出したサブサンプルに非置換で適合させるという提案を行った。[ 10 ] フリードマンは、この修正によって勾配ブースティングの精度が大幅に向上することを確認した。
サブサンプルサイズは、トレーニングセットのサイズの一定の割合です。のとき、アルゴリズムは決定論的であり、上記のアルゴリズムと同一です。の値が小さいほど、アルゴリズムにランダム性が導入され、過剰適合を 防ぐのに役立ち、一種の正則化 として機能します。また、回帰木は各反復でより小さなデータセットに適合する必要があるため、アルゴリズムは高速になります。Friedman [ 2 ] は、小規模および中規模のトレーニングセットで良好な結果が得られることを得ました。したがって、は通常0.5に設定され、トレーニングセットの半分が各ベース学習器の構築に使用されることを意味します。 f {\displaystyle f} f = 1 {\displaystyle f=1} f {\displaystyle f} 0.5 ≤ f ≤ 0.8 {\displaystyle 0.5\leq f\leq 0.8} f {\displaystyle f}
また、バギングと同様に、サブサンプリングでは、次のベース学習器の構築に使用されなかった観測値に基づく予測を評価することで、予測性能の向上におけるアウトオブバッグ誤差 を定義することができます。アウトオブバッグ推定は独立した検証データセットの必要性を回避するのに役立ちますが、実際の性能向上と最適な反復回数を過小評価することがよくあります。[ 11 ] [ 12 ]
葉の観測数 勾配木ブースティングの実装では、多くの場合、木の末端ノードにおける観測値の最小数を制限することで正則化が用いられます。これは、木構築プロセスにおいて、この数よりも少ないトレーニングセットのインスタンスを含むノードにつながる分岐を無視することで使用されます。
この制限を課すと、リーフでの予測のばらつきを減らすのに役立ちます。
複雑さのペナルティ 勾配ブースティングモデルにおけるもう一つの有用な正則化手法は、その複雑さにペナルティを課すことである。[ 13 ] 勾配ブースティング木の場合、モデルの複雑さは木に含まれる葉の数に比例して定義できる。損失とモデルの複雑さの同時最適化は、損失を閾値まで低減できない枝を除去するポストプルーニングアルゴリズムに相当する。
過剰適合 を避けるために、リーフ値に対するペナルティなどの他の種類の正規化も使用できます。 ℓ 2 {\displaystyle \ell _{2}}
使用法 勾配ブースティングはランキング学習 の分野で利用されています。商用ウェブ検索エンジンのYahoo [ 14 ] とYandex [ 15 ] は、機械学習によるランキングエンジンに勾配ブースティングのバリエーションを使用しています。勾配ブースティングは、高エネルギー物理学のデータ解析でも利用されています。大型ハドロン衝突型加速器(LHC)では、勾配ブースティングのバリエーションであるディープニューラルネットワーク(DNN)が、ヒッグス粒子の発見に使用されたデータセットに対する非機械学習手法の解析結果を再現することに成功しました。[ 16 ] 勾配ブース ティングの決定木は、地球や地質学の研究、例えば砂岩貯留層の品質評価にも応用されています。[ 17 ]
名前 この手法は様々な名称で呼ばれています。フリードマンは自身の回帰手法を「勾配ブースティングマシン」(GBM)と名付けました。[ 4 ] メイソン、バクスターらは、この一般化された抽象アルゴリズム群を「関数勾配ブースティング」と表現しました。[ 5 ] [ 6 ] フリードマンらは、勾配ブースティングモデルの発展形を多重加法回帰木(MART)と表現しています。[ 18 ] エリスらは、このアプローチを「ブーステッド回帰木」(BRT)と表現しています。[ 19 ]
R の人気のあるオープンソース実装ではこれを「一般化ブースティングモデル」と呼んでいますが[ 11 ] 、この研究を拡張するパッケージではBRTを使用しています。[ 20 ] また別の名前はTreeNetで、これはツリーベースの手法の使用を先駆的に進めた研究者の一人であるサルフォードシステムのダン・スタインバーグによる初期の商用実装にちなんで付けられています。[ 21 ]
特徴の重要度ランキング 勾配ブースティングは、特徴量の重要度ランキングに使用できます。これは通常、ベース学習者の集約された重要度関数に基づいています。[ 22 ] たとえば、エントロピーベースの決定木 を使用して勾配ブースティングツリーアルゴリズムが開発された場合、アンサンブルアルゴリズムは、すべてのベース学習者で平均化されるという注意点を除けば、エントロピーに基づいて特徴量の重要度をランク付けします。[ 22 ] [ 1 ]
デメリット ブースティングは決定木や線形回帰などの基本学習器の精度を向上させることができますが、明瞭性と解釈可能性 が犠牲になります。[ 22 ] [ 23 ] 例えば、決定木が決定を下すための経路をたどることは簡単で説明も不要ですが、数百または数千の木の経路をたどることははるかに困難です。パフォーマンスと解釈可能性の両方を実現するために、一部のモデル圧縮技術では、XGBoostを単一の「生まれ変わった」決定木に変換し、同じ決定関数を近似することができます。[ 24 ] さらに、計算負荷が高いため、実装がより困難になる可能性があります。
参照
参考文献 ^ a b c d e f Hastie, T.; Tibshirani, R.; Friedman, JH (2009). 「10. ブースティングと加法木」 . 『統計学習の要素』 (第2版). ニューヨーク: Springer. pp. 337– 384. ISBN 978-0-387-84857-0 . 2009年11月10日時点のオリジナル よりアーカイブ。 ^ a b c d Friedman, JH (1999年3月). 「確率的勾配ブースティング」 (PDF) . 2014年8月1日時点の オリジナル (PDF) からアーカイブ。 2013年11月13日 閲覧 。 ^ Breiman, L. (1997年6月). 「Arcing The Edge」 (PDF) . 技術レポート486. カリフォルニア大学バークレー校統計学部. ^ a b c Friedman, JH (1999年2月). 「貪欲関数近似:勾配ブースティングマシン」 (PDF) . 2019年11月1日時点の オリジナル (PDF) からアーカイブ。 2018年8月27日 閲覧 。 ^ a b Mason, L.; Baxter, J.; Bartlett, PL; Frean, Marcus (1999). 「ブースティングアルゴリズムと勾配降下法」 (PDF) . SA Solla , TK Leen, K. Müller (編). Advances in Neural Information Processing Systems 12. MIT Press. pp. 512– 518. ^ a b Mason, L.; Baxter, J.; Bartlett, PL; Frean, Marcus (1999年5月). 「関数空間における勾配降下法としてのブースティングアルゴリズム」 (PDF) . 2018年12月22日時点の オリジナル (PDF) からのアーカイブ 。 ^ Cheng Li. 「勾配ブースティングの簡単な入門」 (PDF) . ^ ランバーズ、ジム (2011–2012). 「最急降下法」 (PDF) . ^ 注: 通常の CART ツリーの場合、ツリーは最小二乗損失を使用してフィッティングされるため、領域のは、 内のすべてのトレーニングインスタンスにわたって平均された出力変数の値に等しくなります。b j m {\displaystyle b_{jm}} R j m {\displaystyle R_{jm}} R j m {\displaystyle R_{jm}} ^ これは、トレーニング セットと同じサイズのサンプルを使用するため、復元サンプリングを行うバギングとは異なることに注意してください。 ^ a b リッジウェイ、グレッグ (2007).一般化ブースティングモデル:gbmパッケージガイド. ^ より良い予測のための勾配ブースティングアルゴリズムを学ぶ(Rのコード付き) ^ Tianqi Chen.ブーステッドツリー入門 ^ Cossock, David and Zhang, Tong (2008).ベイズ最適サブセットランキングの統計分析 Archived 2010-08-07 at the Wayback Machine 、14ページ。 ^ Yandexの企業ブログ記事「Snezhinsk」、 Wayback Machine に2012年3月1日アーカイブ (ロシア語)^ Lalchand, Vidhi (2020). 「ブースト決定木からのさらなる抽出:高エネルギー物理学のケーススタディ」. arXiv : 2001.06033 [ stat.ML ]. ^ マー、ロンフェイ;シャオ、ハンミン。タオ、ジンウェイ。鄭、泰儀。張海琴(2022年1月1日)。 「勾配ブースティング決定木アルゴリズムを使用した、タイトな砂岩貯留層における貯留層品質評価のためのインテリジェントなアプローチ」 。 地球科学を開きます 。 14 (1): 629–645 . Bibcode : 2022OGeo...14..354M 。 土井 : 10.1515/geo-2022-0354 。 ISSN 2391-5447 。 ^ フリードマン、ジェローム (2003). 「 多重加法回帰木と疫学への応用」. 医学統計 . 22 (9): 1365–1381 . doi : 10.1002/sim.1501 . PMID 12704603. S2CID 41965832 . ^ Elith, Jane (2008). 「ブースト回帰木の実践ガイド」 . Journal of Animal Ecology . 77 (4): 802– 813. Bibcode : 2008JAnEc..77..802E . doi : 10.1111/j.1365-2656.2008.01390.x . PMID 18397250 . ^ Elith, Jane. 「生態学的モデリングのためのブースト回帰木」 (PDF) . CRAN . 2020年7月25日時点の オリジナル (PDF) からアーカイブ。 2018年 8月31日 閲覧 。 ^ 「独占インタビュー:データマイニングの パイオニア、サルフォードシステムズ社長、ダン・スタインバーグ氏」 KDnuggets 。 ^ a b c Piryonesi, S. Madeh; El-Diraby, Tamer E. (2020-03-01). 「資産管理におけるデータ分析:舗装状態指数の費用対効果の高い予測」 . Journal of Infrastructure Systems . 26 (1): 04019036. doi : 10.1061/(ASCE)IS.1943-555X.0000512 . ISSN 1943-555X . S2CID 213782055 . ^ Wu, Xindong; Kumar, Vipin; Ross Quinlan, J.; Ghosh, Joydeep; Yang, Qiang; Motoda, Hiroshi; McLachlan, Geoffrey J.; Ng, Angus; Liu, Bing; Yu, Philip S.; Zhou, Zhi-Hua (2008-01-01). 「データマイニングにおけるトップ10アルゴリズム」. Knowledge and Information Systems . 14 (1): 1– 37. doi : 10.1007/s10115-007-0114-2 . hdl : 10983/15329 . ISSN 0219-3116 . S2CID 2367747 . ^ Sagi, Omer; Rokach, Lior (2021). 「解釈可能な決定木によるXGBoostの近似」. Information Sciences . 572 (2021): 522– 542. doi : 10.1016/j.ins.2021.05.055 .
さらに読む Boehmke, Bradley; Greenwell, Brandon (2019). 「勾配ブースティング」. Rによる実践機械学習 . Chapman & Hall. pp. 221– 245. ISBN 978-1-138-49568-5 。
外部リンク