勾配ブースト(オプションの単位)

回帰問題では、符号付き誤差を予測とラベルの差として定義するのが合理的です。ただし、他の種類の問題では、この戦略では多くの場合、悪い結果につながります。勾配ブーストで使用するより優れた戦略は、次のとおりです。

  • ニューラル ネットワークで使用される損失関数と同様の損失関数を定義します。たとえば、分類問題のエントロピー(ログ損失とも呼ばれます)。
  • 弱いモデルをトレーニングして、強力なモデル出力による損失の勾配を予測します。

正式に、損失関数 $L(y,p)$ として $y$ がラベル、$p$ が予測である場合、ステップ $i$ で弱いモデルのトレーニングに使用される疑似レスポンス $z_i$ は次のようになります。

$$ z_i = \frac {\partial L(y, F_i)} {\partial F_i} $$

ここで

  • $F_i$ は、強いモデルの予測です。

上記の例は回帰問題でした。目標は数値を予測することです。回帰の場合、二乗誤差が一般的な損失関数です。

$$ L(y,p) = (y - p)^2 $$

この場合、グラデーションは次のようになります。

$$ z = \frac {\partial L(y, F_i)} {\partial F_i} = \frac {\partial(y-p)^2} {\partial p} = 2(y - p) = 2 \ \text{signed error} $$

言い換えると、勾配は係数 2 によるこの例の符号付き誤差になります。縮小されるため、一定の係数は重要ではありません。この同等性は、二乗誤差損失を持つ回帰問題にのみ当てはまります。他の教師あり学習の問題(分類、ランキング、パーセンタイル損失を伴う回帰など)では、勾配と符号付き誤差の間で同等性はありません。

ニュートン法のステップによるリーフと構造の最適化

ニュートン法は勾配降下法のような最適化方法です。ただし、最適化に関数の勾配のみを使用する勾配降下法とは異なり、ニュートン法では最適化に関数の勾配(一次導関数)と二次導関数の両方を使用します。

勾配降下法のステップは次のとおりです。

$$ x_{i+1} = x_i - \frac {df}{dx}(x_i) = x_i - f'(x_i) $$

次のようにニュートン法を解釈します。

$$ x_{i+1} = x_i - \frac {\frac {df}{dx} (x_i)} {\frac {d^2f}{d^2x} (x_i)} = x_i - \frac{f'(x_i)}{f''(x_i)}$$

オプションとして、ニュートンの方法は次の 2 つの方法で勾配ブーストツリーのトレーニングに統合できます。

  1. ツリーがトレーニングされると、ニュートンのステップが各リーフに適用され、その値をオーバーライドします。ツリー構造は変更されず、リーフの値のみが変更されます。
  2. ツリーの成長中は、ニュートンの式の要素を含むスコアに従って条件が選択されます。ツリーの構造も影響を受けます
YDF コード
YDF で次の操作を行います。
  • YDF は常にニュートン ステップをリーフに適用します(オプション 1)。
  • オプション 2 は use_hessian_gain=True で有効にできます。