XGBoost算法原理

XGBoost是數(shù)據(jù)挖掘類競(jìng)賽中經(jīng)常使用的一大利器,它幫助選手在Kaggle歇盼、阿里天池大數(shù)據(jù)比賽等比賽取得了很好的成績(jī)违寿。XGBoost被很多人使用,但很少人知道其原理扫倡,前幾天看了一下陳天奇大神的論文有了更多的理解谦秧。XGBoost是基于GBDT(Gradient Boosting Decision Tree) 改進(jìn)而來(lái)的,本文將對(duì)XGBoost算法原理進(jìn)行介紹撵溃,主要通過(guò)以下幾個(gè)部分進(jìn)行介紹:boosted trees疚鲤、目標(biāo)函數(shù)正則化、節(jié)點(diǎn)切分算法缘挑。

注: 本文假設(shè)讀者理解回歸樹算法集歇、泰勒公式、梯度下降法和牛頓法

1. Boosted trees

Boosted trees是一種集成方法语淘,Boosting算法是一種加法模型(additive training)诲宇,定義如下:

這里K是樹的棵數(shù),f(x)是函數(shù)空間中的一個(gè)函數(shù):

q(x)表示將樣本x分到了某個(gè)葉子節(jié)點(diǎn)上惶翻,w是葉子節(jié)點(diǎn)的分?jǐn)?shù)(leaf score)

下面通過(guò)一個(gè)具體的例子來(lái)說(shuō)明:預(yù)測(cè)一個(gè)人是否喜歡電腦游戲姑蓝,下圖表明小男孩更喜歡打游戲。

image

2. 目標(biāo)函數(shù)正則化

XGBoost使用的目標(biāo)函數(shù)如下:

我們可以看出XGBoost在GBDT的誤差函數(shù)基礎(chǔ)上加入了L1和L2正則項(xiàng)吕粗,其中Loss函數(shù)可以是平方損失或邏輯損失纺荧,T代表葉子節(jié)點(diǎn)數(shù),w代表葉子節(jié)點(diǎn)的分?jǐn)?shù)颅筋。加入正則項(xiàng)的好處是防止過(guò)擬合宙暇,這個(gè)好處是由兩方面體現(xiàn)的:一是預(yù)剪枝,因?yàn)檎齽t項(xiàng)中有限定葉子節(jié)點(diǎn)數(shù)议泵;二是正則項(xiàng)里leaf scroe的L2模平方的系數(shù)占贫,對(duì)leaf scroe做了平滑。

接下來(lái)我們對(duì)目標(biāo)函數(shù)進(jìn)行目標(biāo)函數(shù)的求解:


該目標(biāo)函數(shù)表示:第i樣本的第t次迭代誤差函數(shù)肢簿,后面的推導(dǎo)基于上式靶剑。這種學(xué)習(xí)方式已經(jīng)從函數(shù)空間轉(zhuǎn)到了函數(shù)空間:

下面對(duì)目標(biāo)函數(shù)進(jìn)行泰勒公式二級(jí)展開蜻拨、化簡(jiǎn):

如果確定了樹的結(jié)構(gòu),為了使目標(biāo)函數(shù)最小桩引,可以令其導(dǎo)數(shù)為0缎讼,解得每個(gè)葉節(jié)點(diǎn)的最優(yōu)預(yù)測(cè)分?jǐn)?shù)為:


代入目標(biāo)函數(shù),解得最小損失為:

3. 節(jié)點(diǎn)切分算法


注: 近似算法中使用到了分位數(shù)坑匠,關(guān)于分位數(shù)的選取血崭,論文提出了一種算法Weighted Quantile Sketch 。XGBoost不是按照樣本個(gè)數(shù)進(jìn)行分位厘灼,而是以二階導(dǎo)數(shù)為權(quán)重


Q: 為什么使用hi加權(quán)夹纫?

A: 比較直觀的解釋是因?yàn)槟繕?biāo)函數(shù)可以化簡(jiǎn)為如下形式:

  1. 其他
    在實(shí)際工作中,大多數(shù)輸入是稀疏的设凹。造成稀疏的原因有很多種舰讹,比如:缺失值、one-hot編碼等闪朱。因此月匣,論文提出為樹中的節(jié)點(diǎn)設(shè)置一個(gè)默認(rèn)方向來(lái)應(yīng)對(duì)稀疏輸入。論文實(shí)驗(yàn)表明稀疏感知算法 要比傳統(tǒng)方法快50倍奋姿,算法如下:



    下面通過(guò)例子具體說(shuō)明:


注: 紅色路徑代表默認(rèn)方向

Shrinkage: 可以理解為學(xué)習(xí)率锄开,算法每次迭代后會(huì)乘這個(gè)系數(shù);
列采樣: 降低過(guò)擬合称诗,論文實(shí)驗(yàn)表明列采樣比行采樣效果好萍悴。

參考文獻(xiàn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寓免,一起剝皮案震驚了整個(gè)濱河市癣诱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌袜香,老刑警劉巖狡刘,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異困鸥,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)剑按,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門疾就,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人艺蝴,你說(shuō)我怎么就攤上這事猬腰。” “怎么了猜敢?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵姑荷,是天一觀的道長(zhǎng)盒延。 經(jīng)常有香客問我,道長(zhǎng)鼠冕,這世上最難降的妖魔是什么添寺? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮懈费,結(jié)果婚禮上计露,老公的妹妹穿的比我還像新娘。我一直安慰自己憎乙,他們只是感情好票罐,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泞边,像睡著了一般该押。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阵谚,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天蚕礼,我揣著相機(jī)與錄音,去河邊找鬼椭蹄。 笑死闻牡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绳矩。 我是一名探鬼主播罩润,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼翼馆!你這毒婦竟也來(lái)了割以?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤应媚,失蹤者是張志新(化名)和其女友劉穎严沥,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體中姜,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡消玄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丢胚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翩瓜。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖携龟,靈堂內(nèi)的尸體忽然破棺而出兔跌,到底是詐尸還是另有隱情,我是刑警寧澤峡蟋,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布坟桅,位于F島的核電站华望,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏仅乓。R本人自食惡果不足惜赖舟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望方灾。 院中可真熱鬧建蹄,春花似錦、人聲如沸裕偿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嘿棘。三九已至劲腿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鸟妙,已是汗流浹背焦人。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留重父,地道東北人花椭。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像房午,于是被迫代替她去往敵國(guó)和親矿辽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

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

  • sklearn宾娜、XGBoost、LightGBM的文檔閱讀小記 文章導(dǎo)航 目錄 1.sklearn集成方法 1.1...
    nightwish夜愿閱讀 12,653評(píng)論 1 49
  • 1.引子 XGBoost在機(jī)器學(xué)習(xí)領(lǐng)域可謂風(fēng)光無(wú)限扇售,作為從學(xué)術(shù)界來(lái)的模范生前塔,幫助工業(yè)界解決了許多實(shí)際問題,真可...
    散落一地的藍(lán)閱讀 3,532評(píng)論 1 28
  • 我有一個(gè)人工智能承冰,思維敏捷學(xué)習(xí)高速嘱根,要有什么世界難題,我就讓它去查百度巷懈。
    furx閱讀 239評(píng)論 0 3
  • 孝文突然想去父親的干活的地方看看! 十年前慌洪,他們父子距離最遠(yuǎn)的地方顶燕,一個(gè)在哈爾濱凑保,一個(gè)在廣東,分別...
    華云飛閱讀 241評(píng)論 0 0