1. 程式人生 > >三張簡圖搞懂GBDT

三張簡圖搞懂GBDT

首先假設你有初步的瞭解什麼是決策樹,CART樹,整合,Adaboost, boosting的一些概念。

下面我們先了解什麼是提升樹

都知道,在每個基分類器(CART樹)生成的過程,有一個最小化損失函式的步驟,那麼對於迴歸樹來說,當我們使用的損失函式是平方損失誤差的話,來看看是什麼情況:

(注意圖片上的標註紅字)

看了紅字,我覺得大家應該能理解有些書上說的殘差,擬合什麼的了。

搞懂了提升樹,那麼來看看什麼是GBDT,它也是提升樹,只不過是用梯度求解的方法,那麼當採用平方損失作為損失函式時,你可以先計算一下此時損失函式的梯度值是什麼,你會恍然大悟。

我們來看看下面的圖片,平方損失的負梯度

求解其實就是我們上面的殘差,那麼此時用這個負梯度去代替殘差,我們就叫GBDT;那麼對於一般的損失函式,它的梯度值就不是殘差,但是我們用這個梯度去近似殘差,這就是更一般的GBDT;

總的來說,當我們用梯度去代替或近似殘差,結合所以樣本的特徵向量,也就是用(X,r殘差)去生成迴歸樹,再生成提升樹的過程,其實就是GBDT的過程。

最後看一下提升樹的演算法流程:

希望大家能夠看懂!!!!