漸層增強 (選用單位)

在迴歸問題中,將已簽署的錯誤定義為預測與標籤之間的差異是合理的。不過,如果是其他類型的問題,這項策略通常就會導致結果不彰。改善梯度提升的策略是:

  • 定義損失函式,類似於類神經網路中使用的損失函式。例如分類問題的熵 (也稱為記錄損失)。
  • 訓練低強度模型以根據強大的模型輸出預測損失的梯度

實際上,假設損失函式 $L(y,p)$,其中 $y$ 是標籤,$p$ 預測,$z_i$ 在步驟 $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。請注意,常數因數不會因為縮小而產生任何作用。請注意,這種相等性僅適用於方形誤差損失的迴歸問題。如果是其他監督式學習問題 (例如分類、排名、依百分位數損失的迴歸),則梯度和已簽署錯誤之間沒有相等之處。

利用 Newton 方法步驟進行節能綠葉和結構最佳化

牛頓的方法是一種最佳化方法,例如梯度下降法。不過,與只使用函式梯度來最佳化的梯度下降法不同,Newton 的方法會同時使用梯度 (第一個導數) 和函式的第二個衍生函式進行最佳化。

梯度下降法的步驟如下:

$$ 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)}$$

您也可以選擇將牛頓方法整合至梯度積木樹狀結構的訓練中,方法有兩種:

  1. 訓練樹狀結構後,每個分葉都會套用牛頓的一個步驟並覆寫其值。樹狀結構維持不變,只有分葉值會變更。
  2. 在樹狀結構的成長期間,系統會依據包含牛頓公式元件的分數選取條件。樹狀結構的結構會受到影響。
YDF 代碼
在 YDF 中:
  • YDF 一律在樹葉上套用牛頓步驟 (選項 1)。
  • 您可以透過 use_hessian_gain=True 啟用選項 2。