詳細解釋
梯度提升(Gradient Boosting)是強大的集成學習方法,串行訓練多棵樹,每棵新樹擬合前面樹的殘差,逐步降低整體誤差,XGBoost和LightGBM是其高效實現。
核心思想:
- 加法模型:F(x) = Σfᵢ(x)
- 前向分步:逐個添加樹
- 擬合殘差:新樹預測前面模型的誤差
- 梯度下降:在函數空間做梯度下降
算法流程:
- 初始化:簡單模型(如均值)
- 計算殘差(負梯度)
- 訓練新樹擬合殘差
- 更新模型:F = F + η·tree
- 重複直到達到樹數
正則化:
- 學習率η:收縮,0.01-0.3
- 子採樣:行和列的隨機採樣
- 樹複雜度:深度、葉子數限制
- 早停:驗證集不再改善時停止
高效實現:
- XGBoost:極限梯度提升,快速準確
- LightGBM:直方圖算法,更快更省內存
- CatBoost:類別特徵自動處理
優勢:
- 性能頂尖:競賽常勝
- 靈活:可自定義損失函數
- 特徵處理:自動處理缺失和類別
- 解釋性:SHAP支持
應用:
- 表格數據:首選算法
- 搜索排序:網頁排名
- 風控:信用評分、欺詐檢測
- 推薦:點擊預測
梯度提升是表格數據機器學習的首選算法。