GBDT 柒竞、xgBoost政供、LightGBM

GBDT

Gradient Boosting Decision Tree
GBDT是一種迭代的決策樹算法,由多課決策樹組成朽基,分類的話是每棵樹的結(jié)果投票決定布隔,回歸的話是每棵樹的結(jié)果相加得到。

GBDT中的決策樹指的是CART的回歸樹稼虎⌒铺矗回歸樹總體流程類似于分類樹,區(qū)別在于霎俩,回歸樹的每一個節(jié)點(diǎn)都會得一個預(yù)測值哀军,以年齡為例,該預(yù)測值等于屬于這個節(jié)點(diǎn)的所有人年齡的平均值打却。分枝時窮舉每一個feature的每個閾值找最好的分割點(diǎn)杉适,但衡量最好的標(biāo)準(zhǔn)不再是最大熵,而是最小化平方誤差柳击。因?yàn)榉诸惖慕Y(jié)果不好疊加猿推,所以才用回歸樹。
為了防止過擬合,剪枝操作蹬叭。有預(yù)剪枝和
C4.5分類樹在每次分枝時藕咏,是窮舉每一個feature的每一個閾值,找到使得按照feature<=閾值秽五,和feature>閾值分成的兩個分枝的熵最大的feature和閾值(熵最大的概念可理解成盡可能每個分枝的男女比例都遠(yuǎn)離1:1)孽查,按照該標(biāo)準(zhǔn)分枝得到兩個新節(jié)點(diǎn),用同樣方法繼續(xù)分枝直到所有人都被分入性別唯一的葉子節(jié)點(diǎn)坦喘,或達(dá)到預(yù)設(shè)的終止條件卦碾,若最終葉子節(jié)點(diǎn)中的性別不唯一,則以多數(shù)人的性別作為該葉子節(jié)點(diǎn)的性別起宽。

梯度提升指的是每棵樹都是在上一棵樹的殘差上來繼續(xù)訓(xùn)練的洲胖。所以才說,回歸的最后結(jié)果是所有樹結(jié)果的加和坯沪。
損失函數(shù)MSE绿映,梯度迭代求到后正好是2倍的殘差。

xgBoost

rf:https://xgboost.readthedocs.io/en/latest/model.html
http://www.reibang.com/p/7467e616f227

GBM(Boosted trees)指通過不斷地?cái)M合去擬合出函數(shù)來腐晾。每次迭代都增加一棵樹(一個new function)叉弦。
xgBoost本質(zhì)也是一堆cart樹,對于分類問題藻糖,由于CART樹的葉子節(jié)點(diǎn)對應(yīng)的值是一個實(shí)際的分?jǐn)?shù)淹冰,而非一個確定的類別,這將有利于實(shí)現(xiàn)高效的優(yōu)化算法巨柒。xgboost出名的原因一是準(zhǔn)樱拴,二是快,之所以快洋满,其中就有選用CART樹的一份功勞晶乔。


迭代過程

第t棵樹的優(yōu)化目標(biāo)函數(shù)是均方差損失函數(shù)+正則。當(dāng)MSE作為損失函數(shù)時牺勾,目標(biāo)函數(shù)包含殘差和新一棵樹預(yù)測結(jié)果的平方正罢。


將迭代公式帶入目標(biāo)函數(shù)
泰勒二階展開后的目標(biāo)函數(shù)

二次展開的好處:

  • gbdt只用到了一階信息,如果按照上文中推導(dǎo)驻民,相當(dāng)于loss只進(jìn)行了一階泰勒展開翻具。在沒有復(fù)雜度項(xiàng)的情況下,無法確定步長回还,所以只能用常數(shù)步長根據(jù)一階梯度方向去逼近裆泳。這就是牛頓下降法和梯度下降法的區(qū)別。由于二階展開用二次函數(shù)去逼近函數(shù)懦趋,所以可以利用二階信息確定更新步長晾虑,比只利用一階信息的gdbt用更少的迭代獲得更好的效果。cf.牛頓梯度法的二階收斂性。
  • 每個樣本的gi, hi相關(guān)帜篇,可并行計(jì)算糙捺。
  • gi和hi是不依賴于損失函數(shù)的形式的,只要這個損失函數(shù)二次可微就可以了笙隙。好處就是xgboost可以支持自定義損失函數(shù)洪灯,只需滿足二次可微即可。

尋找最佳樹結(jié)構(gòu):
對于第t棵樹的優(yōu)化目標(biāo)函數(shù)竟痰,我們繼續(xù)推導(dǎo):



Ij代表一個集合签钩,集合中每個值代表一個訓(xùn)練樣本的序號,整個集合就是被第t棵CART樹分到了第j個葉子節(jié)點(diǎn)上的訓(xùn)練樣本坏快。


繼續(xù)簡化

由此推導(dǎo)出最佳值:

split點(diǎn)的評判標(biāo)準(zhǔn):


這個Gain實(shí)際上就是單節(jié)點(diǎn)的obj減去切分后的兩個節(jié)點(diǎn)的樹obj铅檩,Gain如果是正的,并且值越大莽鸿,表示切分后obj越小于單節(jié)點(diǎn)的obj昧旨,就越值得切分。同時祥得,我們還可以觀察到兔沃,Gain的左半部分如果小于右側(cè)的γ,則Gain就是負(fù)的级及,表明切分后obj反而變大了乒疏。γ在這里實(shí)際上是一個臨界值,它的值越大饮焦,表示我們對切分后obj下降幅度要求越嚴(yán)怕吴。這個值也是可以在xgboost中設(shè)定的。
注意:xgboost的切分操作和普通的決策樹切分過程是不一樣的追驴。普通的決策樹在切分的時候并不考慮樹的復(fù)雜度械哟,而依賴后續(xù)的剪枝操作來控制。xgboost在切分的時候就已經(jīng)考慮了樹的復(fù)雜度殿雪,就是那個γ參數(shù)。所以锋爪,它不需要進(jìn)行單獨(dú)的剪枝操作丙曙。

LightGBM

分布式 GBDT。速度快其骄!
它拋棄了大多數(shù) GBDT 工具使用的按層生長
(level-wise) 的決策樹生長策略亏镰,而使用了帶有深度限制的按葉子生長 (leaf-wise) 算法。leaf-wise則是一種更為高效的策略拯爽,每次從當(dāng)前所有葉子中索抓,找到分裂增益最大(一般也是數(shù)據(jù)量最大)的一個葉子,然后分裂,如此循環(huán)逼肯。因此同 level-wise 相比耸黑,在分裂次數(shù)相同的情況下,leaf-wise 可以降低更多的誤差篮幢,得到更好的精度大刊。leaf-wise 的缺點(diǎn)是可能會長出比較深的決策樹,產(chǎn)生過擬合三椿。因此 LightGBM 在leaf-wise 之上增加了一個最大深度的限制缺菌,在保證高效率的同時防止過擬合。

  • 缺失值(missing value)的自動處理
  • 類別特征(Categorical Feature) 的進(jìn)一步優(yōu)化搜锰,不再使用類似one-hot coding的分割方式伴郁。對于類別數(shù)量很多的類別特征,使用one-vs-other的切分方式會長出很不平衡的樹蛋叼,不能實(shí)現(xiàn)較好的精度蛾绎。這是樹模型在支持類別特征的一個痛點(diǎn)。 LightGBM可以找出類別特征的最優(yōu)切割鸦列,即many-vs-many的切分方式租冠。并且最優(yōu)分割的查找的時間復(fù)雜度可以在線性時間完成,和原來的one-vs-other的復(fù)雜度幾乎一致薯嗤。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末顽爹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子骆姐,更是在濱河造成了極大的恐慌镜粤,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玻褪,死亡現(xiàn)場離奇詭異肉渴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)带射,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門同规,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人窟社,你說我怎么就攤上這事券勺。” “怎么了灿里?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵关炼,是天一觀的道長。 經(jīng)常有香客問我匣吊,道長儒拂,這世上最難降的妖魔是什么寸潦? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮社痛,結(jié)果婚禮上见转,老公的妹妹穿的比我還像新娘。我一直安慰自己褥影,他們只是感情好池户,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凡怎,像睡著了一般校焦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上统倒,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天寨典,我揣著相機(jī)與錄音,去河邊找鬼房匆。 笑死耸成,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的浴鸿。 我是一名探鬼主播井氢,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼岳链!你這毒婦竟也來了花竞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤掸哑,失蹤者是張志新(化名)和其女友劉穎约急,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苗分,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厌蔽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了摔癣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奴饮。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖供填,靈堂內(nèi)的尸體忽然破棺而出拐云,到底是詐尸還是另有隱情,我是刑警寧澤近她,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站膳帕,受9級特大地震影響粘捎,放射性物質(zhì)發(fā)生泄漏薇缅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一攒磨、第九天 我趴在偏房一處隱蔽的房頂上張望泳桦。 院中可真熱鬧,春花似錦娩缰、人聲如沸灸撰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浮毯。三九已至,卻和暖如春泰鸡,著一層夾襖步出監(jiān)牢的瞬間债蓝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工盛龄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饰迹,地道東北人。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓余舶,卻偏偏與公主長得像啊鸭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子匿值,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349

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