XGBoost(eXtreme Gradient Boosting)是 GBDT 的「加強版實作」。它用一棵接一棵的小樹,把前面的錯誤一步步補起來,再加上正則化、平行化、缺失值處理等優化——又準又快,是結構化/表格資料的首選。
看 XGBoost 之前,先記住它的出身。
梯度提升的精髓,用一個數字例子就懂。
同樣是梯度提升,XGBoost 加了五項關鍵優化,讓它又快又準又穩。
切換上方兩個按鈕,看三個面板(平行計算、缺失值、剪枝)怎麼從「傳統作坊」變成「現代工廠」。
| 參數 | 控制什麼 | 怎麼調 |
|---|---|---|
| eta(學習率) | 每棵樹的貢獻 | 調小(如 0.05~0.1)+多棵樹,較穩 |
| n_estimators | 樹的數量 | 配合學習率與早停決定 |
| max_depth | 單棵樹的深度/複雜度 | 太大易過擬合,常 3~8 |
| subsample / colsample | 列/欄的隨機抽樣比例 | < 1 增加隨機性、抗過擬合 |
| gamma / lambda / alpha | 正則化(分裂門檻、L2、L1) | 調大 → 更保守、更不過擬合 |
| min_child_weight | 葉節點最小樣本權重 | 調大 → 更保守 |
三個都是梯度提升樹的明星實作,常一起被問。
| XGBoost | LightGBM | CatBoost | |
|---|---|---|---|
| 樹生長 | 層級優先(level-wise) | 葉子優先(leaf-wise) | 對稱樹 |
| 強項 | 通用、生態最成熟 | 超大資料最快(直方圖) | 類別特徵處理最好 |
| 注意 | 資料量大時較慢 | 小資料 leaf-wise 易過擬合 | 訓練相對較慢 |
先想再點開。
Boosting(序列、後者補前者的錯、主要降偏差)。隨機森林才是 Bagging(平行、降變異)。它的「平行化」只是找分裂點的工程加速,模型本質仍序列。
一棵接一棵樹,每棵專門擬合前面的殘差(還差多少),加起來越來越準;用學習率控制每棵的貢獻,小步多樹較穩。
正則化(L1/L2)、二階梯度找分裂、平行化、內建缺失值處理、剪枝與子抽樣。其中正則化是抑制過擬合的關鍵。
會。用小學習率+多樹+早停、限制 max_depth、subsample/colsample 隨機化、gamma/lambda/alpha 正則化。
XGBoost 是 GBDT 的高效實作,iPAS 中級科目三常考、結構化資料競賽常勝。重點:在梯度提升上加入正則化、處理缺失值、平行加速與剪枝,兼顧準確與效率。易混點:它屬 Boosting(序列、降偏差),與隨機森林的 Bagging(平行、降變異)不同;強但易過擬合,需細調學習率與樹數。情境:表格與結構化資料的預測;LightGBM、CatBoost 是同類競品。
想練情境題與詳解 → AI 學習與考證地圖
一個高效能的梯度提升樹實作,加入正則化、二階梯度近似、平行化與缺失值處理等優化;在結構化/表格資料的競賽與實務表現突出。
目標函數含 L1/L2 正則化抑制過擬合、用一階加二階導數更精準找分裂、支援列與特徵子抽樣、平行化與快取優化、內建處理缺失值。
學習率(eta)與樹數一起、max_depth 控制複雜度、subsample 與 colsample 做隨機化、min_child_weight 與 gamma 與 lambda/alpha 做正則化,常用早停。
都是梯度提升樹。LightGBM 用葉子優先生長與直方圖、超大資料更快;CatBoost 對類別特徵處理特別好;XGBoost 通用、生態成熟。
中小型表格/結構化資料的分類與回歸幾乎首選;但影像、文字、語音等非結構化資料,深度學習通常更合適。