1. 程式人生 > >機器學習小實戰(六) XGBoost基本原理

機器學習小實戰(六) XGBoost基本原理

一、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即可