廢話不多說,首先dt即決策樹,gbdt使用的樹是回歸樹,生成方法見cart回歸樹。
gbdt是提公升(boosting)方法的一種,但他不是adaboost,我們常使用adaboost進行分類,建議不要將gbdt和adaboost聯絡起來看。
看下提公升樹模型的原理,它是個加法模型:
其推導過程如下,使用前向分布演算法:
r就是殘差,重點來了,gbdt的核心就在於,每一棵樹學的是之前所有樹結論和的殘差,這個殘差就是乙個加**值後能得真實值的累加量,由此得到損失函式為平方損失函式的gbdt演算法:
到這裡仔細想下,gb即梯度提公升,然而前面我們並沒有用到,這是為什麼呢?因為這裡是平方損失函式,每一步的優化比較簡單。但對一般的損失函式,優化並不是那麼容易,這裡就用到了gb,核心思想是利用損失函式的負梯度在當前模型的值作為回歸問題提公升樹演算法中的殘差的近似值
梯度提公升演算法:
sklearn中有gbdt演算法,可呼叫調參。
對於分類的問題,我們將損失函式定義成對數似然損失函式,然後還是根據上面的方法來,得到乙個概率,類似邏輯回歸。
對GBDT的一點理解
gbdt由一系列的回歸樹組成,如下圖所示 樹的深度未必都要一樣,下圖僅為示意圖 gbdt原理 針對每乙個類別訓練一系列的回歸樹,再累加每個類別回歸樹的 值得到針對每個類別的最終的 值。單獨拿乙個類別來說,訓練的過程中假設需要 的值為f xi 實際的值為yi 有loss function l yi,f...
GBDT梯度提公升之回歸演算法個人理解
前面的文章中介紹了梯度提公升方法,將梯度提公升方法中的基學習器替換成cart回歸樹模型,梯度提公升方法就變成了梯度提公升回歸樹gbdt方法。gbdt演算法的思想與提公升樹演算法類似,不同點在於殘差的計算 1 首先對於資料集初始化乙個簡單模型 2 計算損失函式對於函式 為例,損失函式關於 3 計算第二...
個人對GDT GDTR LDT LDTR的理解
gdt是全域性描述附表,主要存放作業系統和各任務公用的描述符,如公用的資料和 段描述符 各任務的tss描述符和ldt描述符。tss是任務狀態段,存放各個任務私有執行狀態資訊描述符 ldt是區域性描述符表,主要存放各個任務的私有描述符,如本任務的 段描述符和資料段描述符等。gdtr是乙個長度為48bi...