機(jī)器學(xué)習(xí)面試之GBDT

(參考:https://www.cnblogs.com/ScorpioLu/p/8296994.html)

(參考:https://www.cnblogs.com/ModifyRong/p/7744987.html)

(參考:https://blog.csdn.net/google19890102/article/details/51746402)

一琳水、集成學(xué)習(xí)方法

(1)Bagging

對(duì)訓(xùn)練樣本重采樣來(lái)得到不同的訓(xùn)練樣本集,在這些訓(xùn)練樣本集上分別訓(xùn)練學(xué)習(xí)器,最終合并。Bagging方法中菇怀,最重要的算法是隨機(jī)森林算法快鱼。

Bagging

(2)Boosting

學(xué)習(xí)器之間存在先后順序,每個(gè)樣本有權(quán)重赌渣,初始化時(shí)世落,每個(gè)樣本的權(quán)重是相等的淮腾,訓(xùn)練過(guò)程中調(diào)整正確和錯(cuò)誤樣本的權(quán)重。同時(shí)屉佳,每個(gè)學(xué)習(xí)器的權(quán)重也是不一樣的谷朝。Boosting中,最重要的方法包括AdaBoost和GBDT忘古。

Boosting

二徘禁、Gradient Boosting

(1)在函數(shù)空間優(yōu)化

損失函數(shù):

首先設(shè)置初始值:

以函數(shù)F為整體,對(duì)于每一個(gè)樣本Xi髓堪,對(duì)存在對(duì)應(yīng)的函數(shù)值F(Xi)。與梯度下降法更新過(guò)程一致娘荡,經(jīng)過(guò)M代干旁,得到的最優(yōu)函數(shù)為:

(2)Gradient Boosting

由上圖可知,Boosting的學(xué)習(xí)結(jié)果是b個(gè)學(xué)習(xí)器的和:

具體過(guò)程如下:

三炮沐、Gradient Boosting Decision Tree (1st博客)

在梯度提升決策樹(shù)中争群,基學(xué)習(xí)器是分類回歸樹(shù)CART,使用的是CART中的回歸樹(shù)大年。

(1)分類回歸樹(shù)CART

對(duì)于m個(gè)訓(xùn)練樣本的回歸問(wèn)題换薄,訓(xùn)練樣本為:

初始時(shí),CART樹(shù)中只包含根節(jié)點(diǎn):

然后計(jì)算該節(jié)點(diǎn)的方差的m倍:

此時(shí)翔试,從n維特征中選擇第j維特征作為劃分標(biāo)準(zhǔn)轻要,分為左子樹(shù)和右子樹(shù),其中樣本個(gè)數(shù)分別為m1和m2:

為了尋找最好的劃分垦缅,計(jì)算左右子樹(shù)的方差和:

并且選擇方差和最小的劃分為最終的劃分冲泥,依次這樣劃分下去:

注:關(guān)于劃分,計(jì)算過(guò)程可以進(jìn)一步優(yōu)化:

劃分前
劃分后

第一項(xiàng)相同,最好的劃分對(duì)應(yīng)于兩節(jié)點(diǎn)的值的和的最大值:

(2)GBDT——二分類

在梯度提升決策樹(shù)GBDT中凡恍,通過(guò)定義不同的損失函數(shù)志秃,可以完成不同的學(xué)習(xí)任務(wù),二分類是機(jī)器學(xué)習(xí)中一類比較重要的分類算法嚼酝,在二分類中浮还,其損失函數(shù)為:

套用上面的GB框架,得到下述二分類的GBDT算法:

在構(gòu)建每一棵CART回歸樹(shù)的過(guò)程中闽巩,每一個(gè)樣本的預(yù)測(cè)值應(yīng)該與y-(y bar)盡可能一致碑定,y-(y bar)計(jì)算過(guò)程如下:

在y-(y bar,通秤止伲可以稱為殘差延刘,更準(zhǔn)確應(yīng)叫為梯度下降方向)上建立CART回歸樹(shù)。最終將每一個(gè)訓(xùn)練樣本劃分到對(duì)應(yīng)的葉子結(jié)點(diǎn)中六敬,計(jì)算該葉子結(jié)點(diǎn)的預(yù)測(cè)值:

由Newton-Raphson迭代公式可得:

代碼參考:https://github.com/guestwalk/kaggle-2014-criteo

Python版本:https://github.com/liudragonfly/GBDT

三碘赖、Gradient Boosting Decision Tree (2nd博客)

(1)GBDT選擇特征

GBDT的特征選擇就是CART Tree生成的過(guò)程。GBDT的弱分類器默認(rèn)是CART Tree外构,也可以是其他的弱分類器普泡,前提是低方差和高偏差,框架服從Boosting框架即可审编。

CART的特征選擇過(guò)程就是李航第五章中對(duì)CART Tree的描述:

(2)GBDT構(gòu)建特征

GBDT能構(gòu)建特征并不準(zhǔn)確撼班,其本身是不能產(chǎn)生特征的,但是可以利用GBDT產(chǎn)生特征的組合垒酬。

由于LR不能解決非線性問(wèn)題砰嘁,為了避免人為構(gòu)建特征,使用GBDT構(gòu)造特征

(3)GBDT用于分類

GBDT無(wú)論用于分類還是回歸一直都是使用CART回歸樹(shù)勘究,核心是因?yàn)镚BDT每輪的訓(xùn)練是在上一輪的訓(xùn)練的殘差基礎(chǔ)上進(jìn)行訓(xùn)練的矮湘。殘差就是當(dāng)前模型的負(fù)梯度值。

GBDT多分類算法流程

第一步口糕,針對(duì)樣本X每個(gè)可能的類都訓(xùn)練一個(gè)CART缅阳。例如,目標(biāo)有三類景描,即K = 3十办,而樣本 x 屬于第二類,可以用向量[0, 1, 0]表示超棺。每輪訓(xùn)練的時(shí)候是同時(shí)訓(xùn)練三棵樹(shù)向族,第一棵樹(shù)輸入為(x, 0),第二棵樹(shù)輸入為(x, 1)说搅,第三棵樹(shù)輸入為(x, 0)炸枣。這里每棵樹(shù)的訓(xùn)練過(guò)程就是CART生成過(guò)程。仿照多分類的邏輯回歸,使用softmax來(lái)產(chǎn)生概率适肠,例如屬于類別1的概率為:

并且可以針對(duì)各類別求出殘差:

然后開(kāi)始第二輪訓(xùn)練霍衫,對(duì)每一類的輸入分別為(x, y11)、(x, y22)和(x, y33)侯养,繼續(xù)訓(xùn)練三棵樹(shù)敦跌。一直迭代M輪,有如下三個(gè)式子:

當(dāng)訓(xùn)練完畢后逛揩,新來(lái)一個(gè)樣本x1柠傍,我們需要預(yù)測(cè)該樣本的類別,便可以由以上三個(gè)式子產(chǎn)生三個(gè)值辩稽,然后利用softmax函數(shù)求概率惧笛。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市逞泄,隨后出現(xiàn)的幾起案子患整,更是在濱河造成了極大的恐慌,老刑警劉巖喷众,帶你破解...
    沈念sama閱讀 212,185評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件各谚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡到千,警方通過(guò)查閱死者的電腦和手機(jī)昌渤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,445評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)憔四,“玉大人膀息,你說(shuō)我怎么就攤上這事〖用” “怎么了履婉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,684評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)斟览。 經(jīng)常有香客問(wèn)我,道長(zhǎng)辑奈,這世上最難降的妖魔是什么苛茂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,564評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮鸠窗,結(jié)果婚禮上妓羊,老公的妹妹穿的比我還像新娘。我一直安慰自己稍计,他們只是感情好躁绸,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,681評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般净刮。 火紅的嫁衣襯著肌膚如雪剥哑。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,874評(píng)論 1 290
  • 那天淹父,我揣著相機(jī)與錄音株婴,去河邊找鬼。 笑死暑认,一個(gè)胖子當(dāng)著我的面吹牛困介,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蘸际,決...
    沈念sama閱讀 39,025評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼座哩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了粮彤?” 一聲冷哼從身側(cè)響起根穷,我...
    開(kāi)封第一講書(shū)人閱讀 37,761評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驾诈,沒(méi)想到半個(gè)月后缠诅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,217評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乍迄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,545評(píng)論 2 327
  • 正文 我和宋清朗相戀三年管引,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闯两。...
    茶點(diǎn)故事閱讀 38,694評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡褥伴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出漾狼,到底是詐尸還是另有隱情重慢,我是刑警寧澤,帶...
    沈念sama閱讀 34,351評(píng)論 4 332
  • 正文 年R本政府宣布逊躁,位于F島的核電站似踱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏稽煤。R本人自食惡果不足惜核芽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,988評(píng)論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望酵熙。 院中可真熱鬧轧简,春花似錦、人聲如沸匾二。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,778評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至皮璧,卻和暖如春舟扎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背恶导。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,007評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工浆竭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惨寿。 一個(gè)月前我還...
    沈念sama閱讀 46,427評(píng)論 2 360
  • 正文 我出身青樓邦泄,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親裂垦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子顺囊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,580評(píng)論 2 349

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