機器學習之XGBOOST全面理解

2021-09-28 15:56:40 字數 1160 閱讀 5796

一:目標函式

訓練損失正則化項兩部分

(1)l:代表損失函式,常見的損失函式

平方損失函式:

邏輯回歸損失函式:

(2)y^ : xgboost是乙個加法模型,因此**得分是每棵樹打分之和。

(3)正則項:k棵數的複雜度之和。

第t棵樹

第t次迭代馴練的模型是ft(x)

泰勒展開式

x 對應前t-1棵數,^x相當於第t棵樹。

定義損失函式關於y』(t-1)的一階偏導數 gi 和二階偏導數hi

去掉全部常數項,得到目標函式

定義一棵樹

q代表一棵樹的結構,q(x)代表樣本落到哪個葉子結點。

定義樹的複雜度

葉子結點的個數葉子結點權重向量的l2範數葉子結點歸組

gj :葉子結點j 所包含樣本一階偏導數累加之和,是常量

hj :葉子結點j 所包含樣本二階偏導數累加之和,是常量

求解樹結構權重及其最優obj的目標值

:樹的**細節

1.是否會帶來資訊增益選擇是否**

gain=obj(l+r)-(obj(l)-obj®>0

2.尋找最佳**點

特徵預排序+快取

xgboost在訓練之前,預先對每個特徵按照特徵值大小進行排序,然後儲存為block結構,後面的迭代中會重複地使用這個結構,使計算量大大減小。

3.停止生長

(1)gain<0

(2) 達到最大深度

(3)葉子結點的樣本權重小於某個閾值

boosting主要關注降低偏差,因此boosting能基於泛化效能相當弱的學習器構建出很強的整合;bagging主要關注降低方差,因此它在不剪枝的決策樹、神經網路等學習器上效用更為明顯。

偏差指的是演算法的期望**與真實**之間的偏差程度,反應了模型本身的擬合能力;方差度量了同等大小的訓練集的變動導致學習效能的變化,刻畫了資料擾動所導致的影響。

機器學習 xgboost

xgb中引數分為三類 1.通用引數 2.整合引數 3.任務引數 1 隨機森林在ligthgbm 有很多整合演算法 中有,裡面更全。2 xgboost 裡面有gdbt是樹的串型疊加的各種包,梯度增強的方法 裡面沒有隨機森林包。xgboost是乙個支援多種資料格式的庫。libsvm資料儲存格式,xgbo...

機器學習 Xgboost 對比

引數解釋 實戰 原理 調參步驟 對比 這篇寫的比較好。eta學習率的解釋 你可以是幾個回歸樹的葉子節點之和為 值,也可以是加權,比如第一棵樹 值為3.3,label為4.0,第二棵樹才學0.7,再後面的樹還學個鬼,所以給他打個折扣,比如3折,那麼第二棵樹訓練的殘差為4.0 3.3 0.3 3.01,...

python機器學習 xgboost簡介

boosting 分類器屬於整合學習模型,它基本思想是把成百上千個分類準確率較低的樹模型組合起來,成為乙個準確率很高的模型。這個模型會不斷地迭代,每次迭代就生成一顆新的樹。對於如何在每一步生成合理的樹,大家提出了很多的方法,我們這裡簡要介紹由 friedman 提出的 gradient boosti...