Gradient Boosting Decision Trees 是把1999年的 Gradient Boosting Machine集成方法應(yīng)用到回歸樹上,著名的實(shí)現(xiàn)有XGBoost 和 LightGBM,是處理結(jié)構(gòu)化(表格)數(shù)據(jù)的首選算法之一。
特征工程
- 對特征可以自動篩選重要程度的樹模型對特征冗余不敏感。
- 樹模型不能像神經(jīng)網(wǎng)絡(luò)那樣進(jìn)行特征提取,需要手工進(jìn)行特征生成,又因為第一點(diǎn),可以放心生成所有可能相關(guān)的特征。
- 樹模型不太適合獨(dú)熱編碼,可以嘗試標(biāo)簽編碼,或者頻率編碼。
調(diào)參
篩選重要的參數(shù),根據(jù)機(jī)器學(xué)習(xí)調(diào)參的基本原則進(jìn)行調(diào)整。
- 欠擬合:訓(xùn)練,測試誤差都很高,需要增加模型復(fù)雜度,或者訓(xùn)練更長的時間。
- 過擬合:訓(xùn)練誤差仍在降低,但是測試誤差開始上升。需要降低模型復(fù)雜度,減少訓(xùn)練時間或者采用正則化方法。


重要參數(shù),紅色控制訓(xùn)練時長,藍(lán)色控制正則化,綠色控制模型復(fù)雜度。不同的實(shí)現(xiàn),參數(shù)的名字可能不一樣。
自動調(diào)參工具
有skopt, optuna, Hyperopt, 參考文章。
實(shí)現(xiàn)
兩個常用的實(shí)現(xiàn)的主要區(qū)別有:
- 決策樹的生成: XGBoost實(shí)用貪婪逼近的方法,而LGBM使用了直方圖。
- 優(yōu)化目標(biāo):XGBoost用的泰勒級數(shù)的一階展開,LGB
LGBM 獨(dú)有參數(shù)
boosting type: gbdt是默認(rèn),還可以用基于梯度的單邊采樣(GOSS)或者采用了Dropout的DART。
enable_bundle: 默認(rèn)為False, 是指lgb論文中提出的互斥特征捆綁算法Exclusive Feature Bundling。
XGBoost 獨(dú)有參數(shù)
XGBoost可以選用gblinear 線性模型作為基學(xué)習(xí)器。