過度配適、正規化和提早中止

不同於隨機森林,梯度增強樹木「可能」過度配適。因此,如同 類神經網路可以套用正規化 驗證資料集

舉例來說,下圖顯示訓練的損失和準確率曲線 和驗證組合請注意曲線與曲線的差異 這代表高度過度配適。

訓練損失和驗證損失的圖表,與
  做出決定訓練損失逐漸減少
  決策樹的數量增加但是,驗證損失只會減少
  直到大約 40 顆決策樹有超過 40 棵決策樹
  但驗證損失實際上會增加收集到 400 棵決策樹
  訓練損失與驗證損失之間的差距為
  而且數量龐大

圖 29.損失和決策樹的數量。 ,瞭解如何調查及移除這項存取權。

 

訓練準確率和驗證準確率的比較圖,與
  做出決定訓練準確率會隨著數值而逐漸提高
  的決策樹不斷增加,達到將近 1.0 和 400 的尖峰
  做出決定驗證準確率增加到約 0.86 和 40 之間
  然後逐漸落下約 0.83,也就是 400
  樹木

圖 30.準確率與決策樹的數量。 ,瞭解如何調查及移除這項存取權。

 

梯度增強樹狀結構的常見正則化參數包括:

  • 樹狀結構的最大深度。
  • 縮減率。
  • 在每個節點上測試的屬性比例。
  • L1 和 L2 係數造成損失。

請注意,與隨機樹系相比,決策樹所生長的幅度通常遠大很多 我們來看評估分類模型成效時 的喚回度和精確度指標根據預設,TF-DF 中的梯度增強樹木會增加到深度 6。 由於樹木是淺層,因此每個分葉的樣本數量最少 影響程度較低,而且通常不會經過調整

需要使用驗證資料集時,系統會發生問題 這些只是小型範例因此,梯度增強的樹立常態 或在跨驗證迴圈內停用,或在模型出現時,停用提早中止訓練功能 已知沒有過度配適的情形

使用範例

在上一章中,我們使用一個小型的資料集訓練隨機森林。在本 舉例來說,我們只要將隨機樹系模型換成梯度增量即可 樹狀模型:

model = tfdf.keras.GradientBoostedTreesModel()

# Part of the training dataset will be used as validation (and removed
# from training).
model.fit(tf_train_dataset)

# The user provides the validation dataset.
model.fit(tf_train_dataset, validation_data=tf_valid_dataset)

# Disable early stopping and the validation dataset. All the examples are
# used for training.
model.fit(
   tf_train_dataset,
   validation_ratio=0.0,
   early_stopping="NONE")
# Note: When "validation_ratio=0", early stopping is automatically disabled,
# so early_stopping="NONE" is redundant here.

使用方式與限制

漸層強化樹有一些優缺點。

優點

  • 如同決策樹,原生支援數值和類別 而且通常不需要預先處理功能。
  • 漸層強化型樹狀結構擁有預設的超參數,通常能提供不錯的 也就是預測結果然而,調整這些超參數 可以改善模型
  • 梯度增強樹狀圖模型通常為小型 (節點數量和 以及執行快速的 (通常只有 1 或數個 μs / 範例)。

缺點

  • 決策樹必須依序訓練,可能會拖慢訓練速度 相當可觀不過,訓練速度緩慢的 縮減大小
  • 與隨機樹系一樣,漸層強化的樹無法學習和重複使用內部資源 表示法各個決策樹狀圖 (以及各決策樹的各個分支) 必須重新學習資料集模式在某些資料集裡,特別是 非結構化資料 (例如圖片、文字) 都會導致梯度提升 樹木,顯示的結果會比其他方法更糟糕。