淺談 GBDT

在 Xgboost 那篇文章 (Kaggle 神器 xgboost) 中提到了 Gradient Boosted Decision Trees挪哄,今天來仔細(xì)看看 GBDT曾掂。

本文結(jié)構(gòu):

  • 什么是 GBDT 占调?
  • GBDT 與 Adaboost 的區(qū)別與聯(lián)系是什么 返帕?
  • GBDT 與 Xgboost 的區(qū)別是什么甲棍?

什么是 GBDT泛源?

GBDT(Gradient Boosting Decision Tree拔妥,梯度提升決策樹),由名字可以看出涉及到三點(diǎn):

1. 首先是 Boosting:

前面寫過一篇 Adaboost 算法达箍,里面簡單介紹了 Boosting 的思想:

給定初始訓(xùn)練數(shù)據(jù)没龙,由此訓(xùn)練出第一個基學(xué)習(xí)器;
根據(jù)基學(xué)習(xí)器的表現(xiàn)對樣本進(jìn)行調(diào)整,在之前學(xué)習(xí)器做錯的樣本上投入更多關(guān)注硬纤;
用調(diào)整后的樣本解滓,訓(xùn)練下一個基學(xué)習(xí)器;
重復(fù)上述過程 T 次,將 T 個學(xué)習(xí)器加權(quán)結(jié)合。

簡單講蕾盯,就是每次訓(xùn)練單個弱學(xué)習(xí)器時悔橄,都將上一次分錯的數(shù)據(jù)權(quán)重提高一點(diǎn)再進(jìn)行當(dāng)前單個弱學(xué)習(xí)器的學(xué)習(xí)。這樣越往后執(zhí)行屑咳,訓(xùn)練出的單個弱學(xué)習(xí)器就會越在意那些容易分錯(權(quán)重高)的點(diǎn)。當(dāng)執(zhí)行 M 次后,通過加權(quán)求和的方式組合成一個最終的學(xué)習(xí)器缕减。

2. 接著是 Gradient Boosting:

Gradient boosting 是 boosting 的其中一種方法,它主要的思想是芒珠,每一次建立單個學(xué)習(xí)器時桥狡,是在之前建立的模型的損失函數(shù)的梯度下降方向。

我們知道損失函數(shù)(loss function)越大皱卓,說明模型越容易出錯裹芝,如果我們的模型能夠讓損失函數(shù)持續(xù)的下降,則說明我們的模型在不停的改進(jìn)娜汁,而最好的方式就是讓損失函數(shù)在其梯度(Gradient)的方向上下降嫂易。

接下來看算法具體細(xì)節(jié):

最終模型 F 是多個弱學(xué)習(xí)器的加權(quán)組合:


整體損失函數(shù),其中 P 為模型的參數(shù):


我們要求使損失函數(shù)達(dá)到最小的參數(shù):


或者寫成梯度下降的方式掐禁,就是我們將要得到的模型 fm 的參數(shù) {αm,βm} 能夠使得 fm 的方向是之前得到的模型 Fm-1 的損失函數(shù)下降最快的方向

因為 Fm-1 的損失函數(shù)下降最快的方向為:


那我們可以用最小二乘法來得到 αm:


在此基礎(chǔ)上怜械,可以得到 βm:


最終得到整體:


完整算法:


3. 然后是 Decision Tree:

GBDT 是 GB 和 DT 的結(jié)合,就是當(dāng) GB 中的單個學(xué)習(xí)器為決策樹時的情況傅事,此處 DT 使用的是回歸樹缕允。

下面兩個圖分別表示 DT 和 由 100 棵樹組合成的 GB 在樹的深度為 0,3蹭越,6 時的效果障本,0 時就是要擬合的函數(shù)的圖像,可以看到 GB 可以在有限的深度就能得到比較光滑的的擬合:

Decision Tree
Gradient Boosting

既然都是 boosting 方法响鹃,那么 GBDT 與 Adaboost 的區(qū)別與聯(lián)系是什么驾霜?

它們都屬于 boosting 提升方法:

adaboost 可以表示為 boosting 的前向分布算法(Forward stagewise additive modeling)的一個特例。

在上圖中买置,如何選擇損失函數(shù)決定了算法的名字粪糙。不同的損失函數(shù)和極小化損失函數(shù)方法決定了 boosting 的最終效果,下面是幾個常見的 boosting:

AdaBoost 是通過提升錯分?jǐn)?shù)據(jù)點(diǎn)的權(quán)重來定位模型的不足忿项,
而 Gradient Boosting是通過算梯度(gradient)來定位模型的不足蓉冈。


GBDT 與 Xgboost 的關(guān)系又是什么脆栋?

Kaggle 神器 xgboost 這篇文章中簡單地提了一下 xgboost 的特點(diǎn),除了很多優(yōu)化外它與 GBDT 的區(qū)別有:

  • Xgboost 是 GB 算法的高效實現(xiàn)洒擦,xgboost 中的基學(xué)習(xí)器除了可以是CART(gbtree)也可以是線性分類器(gblinear)椿争。

  • xgboost在目標(biāo)函數(shù)中顯示的加上了正則化項:


  • GB 中使用 Loss Function 對 f(x) 的一階導(dǎo)數(shù)計算出偽殘差用于學(xué)習(xí)生成fm,xgboost 不僅使用到了一階導(dǎo)數(shù)熟嫩,還使用二階導(dǎo)數(shù):


  • CART 回歸樹中尋找最佳分割點(diǎn)的衡量標(biāo)準(zhǔn)是最小化均方差秦踪,xgboost 尋找分割點(diǎn)的標(biāo)準(zhǔn)是最大化,lamda掸茅,gama 與正則化項相關(guān):


參考:
統(tǒng)計學(xué)習(xí)方法
A Gradient Boosting Machine-Jerome H. Friedman
http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf
http://blog.csdn.net/yangtrees/article/details/7506052
http://blog.csdn.net/shenxiaoming77/article/details/51542982
http://blog.csdn.net/dark_scope/article/details/24863289
http://arogozhnikov.github.io/2016/06/24/gradient_boosting_explained.html


推薦閱讀 歷史技術(shù)博文鏈接匯總
http://www.reibang.com/p/28f02bb59fe5
也許可以找到你想要的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末椅邓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子昧狮,更是在濱河造成了極大的恐慌景馁,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逗鸣,死亡現(xiàn)場離奇詭異合住,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)撒璧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門透葛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卿樱,你說我怎么就攤上這事僚害。” “怎么了繁调?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵萨蚕,是天一觀的道長。 經(jīng)常有香客問我蹄胰,道長岳遥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任烤送,我火速辦了婚禮寒随,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘帮坚。我一直安慰自己,他們只是感情好互艾,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布试和。 她就那樣靜靜地躺著,像睡著了一般纫普。 火紅的嫁衣襯著肌膚如雪阅悍。 梳的紋絲不亂的頭發(fā)上好渠,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天,我揣著相機(jī)與錄音节视,去河邊找鬼拳锚。 笑死,一個胖子當(dāng)著我的面吹牛寻行,可吹牛的內(nèi)容都是我干的霍掺。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼拌蜘,長吁一口氣:“原來是場噩夢啊……” “哼杆烁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起简卧,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤兔魂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后举娩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體析校,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年铜涉,在試婚紗的時候發(fā)現(xiàn)自己被綠了勺良。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡骄噪,死狀恐怖尚困,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情链蕊,我是刑警寧澤事甜,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站滔韵,受9級特大地震影響逻谦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜陪蜻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一邦马、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宴卖,春花似錦滋将、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肝谭,卻和暖如春掘宪,著一層夾襖步出監(jiān)牢的瞬間蛾扇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工魏滚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留镀首,地道東北人。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓鼠次,卻偏偏與公主長得像更哄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子须眷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容