機器學習小實戰(六) XGBoost基本原理
阿新 • • 發佈:2019-02-07
一、xgboost原理
1. 實踐證明,tree boosting(樹提升)可以有效地用於分類和迴歸任務中,提升方法是一種非常有效的機器學習方法,xgboost是提升的強化版本。
2. 和決策樹相關,集成了多個弱學習器。
3. 提升演算法,相當於一棵樹一棵樹地加,每加一棵樹要使得總體的效果得到提升。
4. 嚴謹地講解:
(1)如下圖,這裡用到了兩棵樹,第一棵樹說小男孩去玩遊戲的權是2,第二棵樹說是0.9,於是綜合起來,小男孩對應的就是2+0.9=2.9
(2)數學表示
預測結果可以表示為
(3)提升的過程如下圖,其中,t表示有幾棵樹。可以看出,就是在原來的基礎上,一棵一棵地往上加吼。
(4)正則懲罰項/損失值的計算:其中,γ是懲罰係數,T是葉子節點數目,後面一項是權值w的L2模平方
由經驗知,葉子節點數太多,容易過擬合
意義:損失值越小,樹的結構越好
損失值計算示例:
(5)筆記和腦子都比較亂啦,先記錄下來
梯度提升決策樹,又叫做殘差決策樹~
二、求解
把從樣本遍歷轉換為從葉子節點上遍歷
三、安裝xgboost
1. 使用anconda prompt安裝,只需輸入命令列:pip install xgboost即可
2. 在pycharm中選擇
在setting中選擇
然後點選右側視窗中的加號,新增庫
選擇install即可