勾配ブースティング
tree) h m ( x ) {\displaystyle h_{m}(x)} to pseudo-residuals, i.e. train it using the training set { ( x i , r i m ) } i = 1 n {\displaystyle \{(x_{i},r_{im})\}_{i=1}^{n}} . Compute multiplier γ m {\displaystyle \gamma _{m}} by solving the following one-dimensional optimization problem: γ m = a r g m i n γ ∑ i = 1 n L ( y i , F m − 1 ( x i ) + γ h m ( x i ) ) . {\displaystyle \gamma _{m}={\underset {\gamma }{\operatorname {arg\,min} }}\sum _{i=1}^{n}L\left(y_{i},F_{m-1}(x_{i})+\gamma h_{m}(x_{i})\right).} Update the model: F m ( x ) = F m − 1 ( x ) + γ m h m ( x ) . {\displaystyle F_{m}(x)=F_{m-1}(x)+\gamma _{m}h_{m}(x).}
Output F M ( x ) . {\displaystyle F_{M}(x).}
ここで、 M {\displaystyle M} 個のステージがからなる勾配ブースティング・アルゴリズムについて考える。勾配ブースティングの m {\displaystyle m} ( 1 ≤ m ≤ M {\displaystyle 1\leq m\leq M} )ステージ目において、いくつかの不完全なモデル F m {\displaystyle F_{m}} を想定する。 m {\displaystyle m} が小さいうちは、このモデルは単にy の平均値を返すだけかもしれない( y ^ i = y ̄ {\displaystyle {\hat {y}}_{i}={\bar {y}}} )。 F m {\displaystyle F_{m}} を改善するために新しい推定量 h m ( x ) {\displaystyle h_{m}(x)} を追加すると、
F m + 1 ( x ) = F m ( x ) + h m ( x ) = y {\displaystyle F_{m+1}(x)=F_{m}(x)+h_{m}(x)=y}
または、同等に、
h m ( x ) = y − F m ( x ) {\displaystyle h_{m}(x)=y-F_{m}(x)}
勾配ブースティング方法の重要な部分は、収縮による正則化であり、更新規則を次のように変更することである。
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 } は「学習率」と呼ばれる。
経験的には、小さな学習率(例えば ν < 0.1 {\displaystyle \nu <0.1} など)を用いると、学習率を下げずに勾配ブースティングを行った場合( ν = 1 {\displaystyle \nu =1} )に比べて、モデルの汎化能力が劇的に向上することが分かっている。 ただし、学習率が低いと反復回数が多くなり、学習時と検索時の計算時間が長くなる。