勾配ブースティング
したがって、勾配ブースティングは、h を残差 y − F m ( x ) {\displaystyle y-F_{m}(x)} に適合させる。他のブースティング手法と同様、 F m + 1 {\displaystyle F_{m+1}} は前任者 F m {\displaystyle F_{m}} のエラーを修正しようとする。二乗誤差以外の損失関数や分類・ランク付け問題に一般化すると、モデルの残差 h m ( x ) {\displaystyle h_{m}(x)} は F ( x ) {\displaystyle F(x)} に関する平均二乗誤差損失関数の負の勾配に比例する。
L M S E = 1 2 ( y − F ( x ) ) 2 {\displaystyle L_{\rm {MSE}}={\frac {1}{2}}\left(y-F(x)\right)^{2}}
h m ( x ) = − ∂ L M S E ∂ F = y − F ( x ) {\displaystyle h_{m}(x)=-{\frac {\partial L_{\rm {MSE}}}{\partial F}}=y-F(x)} 。
したがって、勾配ブースティングは勾配降下アルゴリズムに特化したものであり、これを一般化するには、異なる損失とその勾配を「プラグイン」する必要がある。
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 ).}
フリードマンは、木全体に対する γ m {\displaystyle \gamma _{m}} ではなく、領域毎に異なる別の最適値 γ j m {\displaystyle \gamma _{jm}} を選択するようにこのアルゴリズムを修正することを提案している。彼は修正されたアルゴリズムを「TreeBoost」と呼んでいる。係数 b j m {\displaystyle b_{jm}} を破棄して、モデルの更新規則は次のようになる。
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,}
回帰木は各反復でより小さなデータセットに適合させるため、アルゴリズムも高速になる。フリードマンは小規模および中規模のトレーニングセットのいて 0.5 ≤ f ≤ 0.8 {\displaystyle 0.5\leq f\leq 0.8} で良好な結果が得られることを突き止めた。そのため、 f {\displaystyle f} は通常は0.5に設定される。これは、トレーニングセットの半分が各基本学習者の構築に使用されることを意味する。
また、バギングの場合と同様に、サブサンプリングでは、次の基本学習者の構築に使用されなかった観測値の予測を評価することで、予測性能の向上のアウトオブバッグエラーを定義できる。アウトオブバッグの推定値は、独立した検証データセットの必要性を回避するのに役立つが、実際の性能向上や最適な反復回数を過小評価することがよくある 。