不同於隨機森林,梯度增強樹木「可能」過度配適。因此,如同 類神經網路可以套用正規化 驗證資料集
舉例來說,下圖顯示訓練的損失和準確率曲線 和驗證組合請注意曲線與曲線的差異 這代表高度過度配適。
圖 29.損失和決策樹的數量。 ,瞭解如何調查及移除這項存取權。
圖 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 / 範例)。
缺點
- 決策樹必須依序訓練,可能會拖慢訓練速度 相當可觀不過,訓練速度緩慢的 縮減大小
- 與隨機樹系一樣,漸層強化的樹無法學習和重複使用內部資源 表示法各個決策樹狀圖 (以及各決策樹的各個分支) 必須重新學習資料集模式在某些資料集裡,特別是 非結構化資料 (例如圖片、文字) 都會導致梯度提升 樹木,顯示的結果會比其他方法更糟糕。