集成學(xué)習(xí)(1)

隨機(jī)森林


1. 原理

隨機(jī)森林屬于Bagging的擴(kuò)展變體

Bagging:有放回抽樣,多數(shù)表決(分類)或簡(jiǎn)單平均(回歸),同時(shí)Bagging的基學(xué)習(xí)器之間屬于并列生成吮炕,不存在強(qiáng)依賴關(guān)系消玄。

RF以決策樹(shù)為基學(xué)習(xí)器構(gòu)建Bagging集成的基礎(chǔ)上父腕,進(jìn)一步在決策樹(shù)的訓(xùn)練過(guò)程中引入了隨機(jī)特征選擇再层,因此可以概括RF包括四個(gè)部分:

? 1缩赛、隨機(jī)選擇樣本(放回抽樣)采转;

? 2聪廉、隨機(jī)選擇特征;

? 3氏义、構(gòu)建決策樹(shù)锄列;

? 4扎筒、隨機(jī)森林投票(平均)荣刑。

隨機(jī)選擇特征:在樹(shù)的構(gòu)建中躁锡,會(huì)從樣本集的特征集合中隨機(jī)選擇部分特征瓦戚,然后再?gòu)倪@個(gè)子集中選擇最優(yōu)的屬性用于劃分仅乓,這種隨機(jī)性導(dǎo)致隨機(jī)森林的偏差會(huì)有稍微的增加(相比于單棵不隨機(jī)樹(shù))穷当,但是由于隨機(jī)森林的平均’特性扛芽,會(huì)使得它的方差減小尉辑,而且方差的減小補(bǔ)償了偏差的增大情萤,因此總體而言是更好的模型鸭蛙。

在構(gòu)建決策樹(shù)的時(shí)候,RF的每棵決策樹(shù)都最大可能的進(jìn)行生長(zhǎng)而不進(jìn)行剪枝筋岛;在對(duì)預(yù)測(cè)輸出進(jìn)行結(jié)合時(shí)娶视,RF通常對(duì)分類問(wèn)題使用簡(jiǎn)單投票法,回歸任務(wù)使用簡(jiǎn)單平均法睁宰。


2. 隨機(jī)森林的生成方法

  1. 對(duì)于t=1,2,…,T
  • 對(duì)訓(xùn)練集進(jìn)行第t次隨機(jī)采樣肪获,共采集m次,得到包含m個(gè)樣本的采樣集D_t柒傻;
  • 用采樣集D_t訓(xùn)練第t個(gè)決策樹(shù)模型G_t(x)孝赫,在訓(xùn)練決策樹(shù)模型的節(jié)點(diǎn)的時(shí)候, 在節(jié)點(diǎn)上所有的樣本特征中選擇一部分樣本特征红符, 在這些隨機(jī)選擇的部分樣本特征中選擇一個(gè)最優(yōu)的特征來(lái)做決策樹(shù)的左右子樹(shù)劃分青柄;
  1. 如果是分類算法預(yù)測(cè)伐债,則T個(gè)弱學(xué)習(xí)器投出最多票數(shù)的類別或者類別之一為最終類別。如果是回歸算法致开,T個(gè)弱學(xué)習(xí)器得到的回歸結(jié)果進(jìn)行算術(shù)平均得到的值為最終的模型輸出峰锁。

RF使用了CART決策樹(shù)作為弱學(xué)習(xí)器;

RF通過(guò)隨機(jī)選擇節(jié)點(diǎn)上的一部分樣本特征喇喉,這個(gè)數(shù)字小于n祖今,從中選擇一個(gè)最優(yōu)的特征來(lái)做決策樹(shù)的左右子樹(shù)劃分,這樣進(jìn)一步增強(qiáng)了模型的泛化能力拣技。


3. 什么是袋外數(shù)據(jù)(Out of Bag)

在一個(gè)含有m個(gè)樣本的訓(xùn)練集中進(jìn)行隨機(jī)采樣千诬,樣本被采到的概率是\frac{1}{m},不被采到的概率是1-\frac{1}{m}膏斤,則:

m\rightarrow\infty,\quad\lim_{n\rightarrow+\infty}(1 - \frac{1}{m})^{m}=0.368


4. 隨機(jī)森林是否需要做交叉驗(yàn)證

結(jié)論:不需要

它可以在內(nèi)部進(jìn)行評(píng)估徐绑,也就是說(shuō)在生成的過(guò)程中可以對(duì)誤差進(jìn)行無(wú)偏估計(jì),由于每個(gè)基學(xué)習(xí)器只使用了訓(xùn)練集中約63.2%的樣本莫辨,剩下約36.8%的樣本可用做驗(yàn)證集來(lái)對(duì)其泛化性能進(jìn)行“包外估計(jì)”傲茄。


5. 為什么隨機(jī)森林不會(huì)發(fā)生過(guò)擬合

在建立每一棵決策樹(shù)的過(guò)程中,有兩點(diǎn)需要注意采樣完全分裂沮榜。

  • 采樣:RF對(duì)輸入的數(shù)據(jù)要進(jìn)行行盘榨、列的隨機(jī)采樣。

    對(duì)于行采樣蟆融,采用有放回的方式草巡,也就是在采樣得到的樣本集合中,可能有重復(fù)的樣本型酥。假設(shè)輸入樣本為N個(gè)山憨,那 么采樣的樣本也為N個(gè)。這樣使得在訓(xùn)練的時(shí)候弥喉,每一棵樹(shù)的輸入樣本都不是全部的樣本郁竟,使得相對(duì)不容易出現(xiàn)over-fitting

    對(duì)于列采樣:列采樣,從M 個(gè)feature中由境,選擇m個(gè)(m << M)

  • 完全分裂:對(duì)采樣之后的數(shù)據(jù)使用完全分裂的方式建立出決策樹(shù)棚亩,這樣決策樹(shù)的某一個(gè)葉子節(jié)點(diǎn)要么是無(wú)法繼續(xù)分裂的,要么里面的所有樣本的都是指向同一個(gè)類虏杰。


6. 隨機(jī)森林與Bagging的對(duì)比

RF的起始性能較差(當(dāng)只有一個(gè)基學(xué)習(xí)器時(shí))隨著學(xué)習(xí)器增多讥蟆,隨機(jī)森林通常會(huì)收斂到更低的泛化誤差。

RF選擇與輸入樣本數(shù)目相同多的樣本(采樣樣本次)嘹屯;Bagging一般選擇比輸入樣本少的樣本攻询。

隨機(jī)森林的訓(xùn)練效率也會(huì)高于Bagging从撼,因?yàn)樵趩蝹€(gè)決策樹(shù)的構(gòu)建中州弟,Bagging使用的是確定性決策樹(shù)钧栖,在選擇特征劃分結(jié)點(diǎn)時(shí),要對(duì)所有的特征進(jìn)行考慮婆翔,而隨機(jī)森林使用的是隨機(jī)性特征數(shù)拯杠,只需考慮特征的子集。


7. 隨機(jī)森林的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

(1)不必?fù)?dān)心過(guò)度擬合(模型方差小啃奴,泛化能力強(qiáng))潭陪;
(2)對(duì)于部分缺失特征不敏感;
(3)能夠處理很高維的數(shù)據(jù)并且不需要特征選擇最蕾,訓(xùn)練完成后可以給出特征的重要性依溯;
(5)算法容易理解;
(6)可以高度并行處理瘟则。

缺點(diǎn):

(1)在噪聲較大的分類或者回歸問(wèn)題上會(huì)過(guò)擬合黎炉。
(2)執(zhí)行速度雖然比Boosting等快,但是比單個(gè)的決策樹(shù)慢很多醋拧。
(3)可能會(huì)出現(xiàn)一些差異度非常小的樹(shù)慷嗜,淹沒(méi)了一些正確的決策。
(4)由于樹(shù)是隨機(jī)生成的丹壕,結(jié)果不穩(wěn)定(kpi值比較大)



GBDT


1. 原理

Boosting:使用多個(gè)分類器庆械,不同的分類器是通過(guò)串行訓(xùn)練而獲得的,每個(gè)新分類器都根據(jù)已訓(xùn)練的分類器的性能來(lái)進(jìn)行訓(xùn)練菌赖。Boosting是通過(guò)關(guān)注被已有分類器錯(cuò)分的那些數(shù)據(jù)來(lái)獲得新的分類器缭乘。

Boosting分類的結(jié)果是基于所有分類器的加權(quán)求和結(jié)果的(bagging中權(quán)值是一致的)

GBDT與傳統(tǒng)的Boosting區(qū)別較大,它的每一次計(jì)算都是為了減少上一次的殘差

而為了消除殘差盏袄,我們可以在殘差減小的梯度方向上建立模型

殘差:和預(yù)測(cè)值相加后能得到真實(shí)值的累加量

在GradientBoost中忿峻,每個(gè)新的模型的建立是為了使得之前的模型的殘差往梯度下降的方向,與傳統(tǒng)的Boosting中關(guān)注正確錯(cuò)誤的樣本加權(quán)有著很大的區(qū)別辕羽。

  • 關(guān)鍵:利用損失函數(shù)的負(fù)梯度方向在當(dāng)前模型的值作為殘差的近似值逛尚,進(jìn)而擬合一棵CART回歸樹(shù)。
  • GBDT的會(huì)累加所有樹(shù)的結(jié)果刁愿,而這種累加是無(wú)法通過(guò)分類完成的绰寞,因此GBDT的樹(shù)都是CART回歸樹(shù),而不是分類樹(shù)(盡管GBDT調(diào)整后也可以用于分類但不代表GBDT的樹(shù)為分類樹(shù))铣口。

結(jié)論GBDT的核心就在于滤钱,每一棵樹(shù)學(xué)的是之前所有樹(shù)結(jié)論和的殘差,通過(guò)不斷減少訓(xùn)練過(guò)程中產(chǎn)生的殘差對(duì)問(wèn)題不斷優(yōu)化


2. GBDT的生成方法

  1. GBDT通過(guò)迭代M輪脑题,每輪產(chǎn)生一個(gè)弱分類器T\left ( x;\theta _m \right )

    弱分類器的損失函數(shù)為\hat\theta_{m} = \mathop{\arg\min}_{\theta_{m}} \sum_{i=1}^{N}L\left ( y_{i},F_{m-1}(x_{i})+T(x_{i};\theta_{m} ) \right )

    樣本x_i的損失函數(shù)的負(fù)梯度為y_i^` = -[\frac{\partial L(y_i, F(x_i))}{\partial F(x_i)}]_{F(x)=F_{m-1}(x)}件缸,利用(x_i,y_I^`)擬合一顆CART樹(shù)

    每個(gè)弱分類器在當(dāng)前模型F_{m-1}(x) 的基礎(chǔ)上進(jìn)行訓(xùn)練

    弱分類器的要求:足夠簡(jiǎn)單,低方差高偏差(訓(xùn)練過(guò)程是通過(guò)降低偏差來(lái)提高分類精度的)

  2. 最終的總分類器是將每輪訓(xùn)練的弱分類器加權(quán)得到的(加法模型)

    F_{m}(x) = \sum_{m=1}^{M}T\left ( x;\theta _m \right )

GBDT通過(guò)經(jīng)驗(yàn)風(fēng)險(xiǎn)及消化來(lái)確定下一個(gè)分類器的參數(shù)叔遂。如果選擇平方損失函數(shù)他炊,那么這個(gè)差值就是殘差:

min\frac{1}{2}\sum_{i=1}^{N}(y_i - (F_{m-1}(x_i) + T(x_i;\theta_m)))^2\rightarrow y_i-F_{m-1}=T

  • 希望損失函數(shù)能夠不斷減小争剿,并且快速的減小
  • 讓損失函數(shù)沿著梯度下降的方向

3. GBDT如何選擇特征

GBDT默認(rèn)的弱分類器是CART樹(shù)

  1. 假設(shè)總共有M個(gè)特征,首先選取一個(gè)特征j作為二叉樹(shù)的第一個(gè)切分特征痊末,然后對(duì)特征j選擇一個(gè)切分點(diǎn)m
  2. 特征j的值小于m蚕苇,則分為一類,如果大于m凿叠,則分為另一類
  • 遍歷每個(gè)特征涩笤,然后對(duì)每個(gè)特征遍歷它所有可能的切分點(diǎn),找到最優(yōu)特征m的最優(yōu)切分點(diǎn) j
  • 衡量我們找到的特征m和切分點(diǎn) j
    • 回歸:平房誤差min_{j,m}[min_{c_1}\sum_{x_i\in R_1(j,m)}(y_i - c_1)^2 + min_{c_2}\sum_{x_i\in R_2(j,m)}(y_i - c_2)^2]盒件,c_m=ave(y_i|x_i\in R_m)
    • 分類:Gini(p)=\sum_{k=1}^{K}p_k(1-p_k)=1 - \sum_{k=1}^{K}p_k^2蹬碧,對(duì)于給定的集合D,基尼系數(shù)為Gini(D)=1 - \sum_{k=1}^{K}[\frac{C_k}{D}]^2

4.GBDT如何構(gòu)建特征

GBDT可以產(chǎn)生特征的組合

在CTR預(yù)估中炒刁,工業(yè)界一般會(huì)采用邏輯回歸锰茉,但LR本身只適合處理線性問(wèn)題,如果要處理非線性切心,可以進(jìn)行特征組合

Facebook發(fā)表過(guò)一篇文章飒筑,利用GBDT去產(chǎn)生有效的特征組合,以便邏輯回歸進(jìn)行訓(xùn)練來(lái)提升最終的效果绽昏。

GBDT 生成了兩棵樹(shù)协屡,兩顆樹(shù)一共有五個(gè)葉子節(jié)點(diǎn)。我們將樣本 X 輸入到兩顆樹(shù)當(dāng)中去全谤,樣本X 落在了第一棵樹(shù)的第二個(gè)葉子節(jié)點(diǎn)肤晓,第二顆樹(shù)的第一個(gè)葉子節(jié)點(diǎn),于是我們便可以依次構(gòu)建一個(gè)五緯的特征向量[0,1,0,1,0]


5.GBDT如何用于分類

GBDT 無(wú)論用于分類還是回歸一直都是使用的CART 回歸樹(shù)

GBDT 每輪的訓(xùn)練是在上一輪的訓(xùn)練的殘差基礎(chǔ)之上進(jìn)行訓(xùn)練的认然。這里的殘差就是當(dāng)前模型的負(fù)梯度值 补憾。這個(gè)要求每輪迭代的時(shí)候,弱分類器的輸出的結(jié)果相減是有意義的卷员。殘差相減是有意義的盈匾。

弱分類器是分類樹(shù),類別相減是沒(méi)有意義的

  1. 在訓(xùn)練時(shí)毕骡,針對(duì)樣本x_i每個(gè)可能的類(總共K類)都訓(xùn)練一個(gè)分類回歸樹(shù)

    實(shí)質(zhì)上是在每輪訓(xùn)練的時(shí)候同時(shí)訓(xùn)練K顆樹(shù)削饵。第k顆樹(shù)針對(duì)樣本x_i的第k類,輸入為(x_i, y_k),y_{k=c}=1

    對(duì)應(yīng)的K個(gè)輸出為f_k(x_i)

    仿照Softmax未巫,則屬于類別c的概率為:p_{c}=\frac{exp(f_c(x_i)}{\sum_{k=1}^{K}exp(f_k(x_i))}

  2. 計(jì)算每個(gè)樹(shù)針對(duì)類別1的殘差

    殘差y_{ck}=k-p_c,k=1,…,K

    針對(duì)下一輪窿撬,將本輪的殘差作為輸入(x_i,y_{ck}(x_i))輸入k第顆樹(shù)(同樣K有棵樹(shù))


6. GBDT如何做正則化

為了防止過(guò)擬合,需要對(duì)GBDT做正則化叙凡,主要有三種方式:

  1. 與Adaboost類似的正則化項(xiàng):步長(zhǎng)(learning rate)劈伴,定義為v

    F_k(x)=F_{k-1}(x)+f_k(x)\rightarrow F_k(x)=F_{k-1}(x)+vf_k(x)

    0<v\leq1,較小的v意味著更多的弱學(xué)習(xí)期迭代次數(shù)

  2. 通過(guò)子采樣步長(zhǎng)(subsample)握爷,定義為s\in (0,1]跛璧。RF采用有放回抽樣苏遥,GBDT采用不放回抽樣

    當(dāng)s=1,則不采用子采樣赡模;當(dāng)s<1,則使用部分樣本做GBDT

    部分樣本可以減少方差(防止過(guò)擬合)师抄,但是會(huì)增加樣本擬合偏差漓柑,所以s不能太低

  3. 正則化剪枝


7. GBDT通過(guò)什么方式減少誤差

每棵樹(shù)都是在擬合當(dāng)前模型的預(yù)測(cè)值和真實(shí)值之間的誤差,GBDT是通過(guò)不斷迭代來(lái)使得誤差減小的過(guò)程叨吮。


8. GBDT相比于傳統(tǒng)的LR辆布,SVM效果為什么好一些?

GBDT基于樹(shù)模型茶鉴,繼承了樹(shù)模型的優(yōu)點(diǎn) [對(duì)異常點(diǎn)魯棒锋玲、不相關(guān)的特征干擾性低(LR需要加正則)、可以很好地處理缺失值涵叮、受噪音的干擾小]


9. GBDT如何求梯度

BGDT進(jìn)行梯度下降時(shí)是損失函數(shù)對(duì)目標(biāo)函數(shù)求導(dǎo):\frac{\part L}{\part f_{m-1}}惭蹂,而不是對(duì)特征值

決策樹(shù)的目標(biāo)函數(shù)沒(méi)法用一個(gè)表達(dá)式求解,每個(gè)節(jié)點(diǎn)都是用一個(gè)值來(lái)分離樣本割粮,無(wú)法直接通過(guò)表達(dá)式來(lái)求解

把函數(shù)f_{m-1}理解成在所有樣本上的函數(shù)值盾碗,即負(fù)梯度為-\frac{\part L}{\part f_{m-1}(x_i)}

對(duì)于樣本x_i,i=1,…,N,都有一個(gè)梯度值舀瓢,最終的函數(shù)梯度為所有樣本的梯度和


10. GBDT的訓(xùn)練問(wèn)題

  • 如何設(shè)置單顆樹(shù)的停止生長(zhǎng)條件廷雅?

    • 節(jié)點(diǎn)分裂時(shí)的最小樣本數(shù)
    • 最大深度
    • 最大葉子節(jié)點(diǎn)數(shù)
    • loss滿足的約束條件
  • 如何評(píng)估特征的權(quán)重大小京髓?

    • 通過(guò)計(jì)算每個(gè)特征在訓(xùn)練集下的信息增益航缀,最后計(jì)算每個(gè)特征信息增益與所有特征信息增益之和的比例
    • 用相同的GBDT參數(shù)對(duì)每個(gè)特征訓(xùn)練一個(gè)模型,然后計(jì)算每個(gè)特征正確分類的個(gè)數(shù)堰怨,最后計(jì)算每個(gè)特征正確分類的個(gè)數(shù)與所有正確分類個(gè)數(shù)之和的比例
  • 當(dāng)增加樣本數(shù)量時(shí)芥玉,訓(xùn)練時(shí)長(zhǎng)是線性增加的嗎?

    不是备图,生成單顆樹(shù)樹(shù)時(shí)飞傀,對(duì)于$$,損失函數(shù)極小值與樣本數(shù)量N$$不是線性相關(guān)

  • 當(dāng)增加樹(shù)的顆樹(shù)時(shí)诬烹,訓(xùn)練時(shí)長(zhǎng)是線性增加的嗎砸烦?

    不是,因?yàn)槊靠脴?shù)的生成時(shí)間復(fù)雜度不一樣

  • 每個(gè)節(jié)點(diǎn)上都保存什么信息绞吁?

    • 中間節(jié)點(diǎn)保存某個(gè)特征的分割值
    • 也幾點(diǎn)保存預(yù)測(cè)x_i是某個(gè)類別的概率
  • 如何防止過(guò)擬合幢痘?

    • 增加樣本(數(shù)據(jù)偏差或數(shù)據(jù)集小的緣故),移除噪聲
    • 減少特征家破,保留重要的特征
    • 對(duì)樣本進(jìn)行采樣
    • 對(duì)特征進(jìn)行采樣
  • GBDT在訓(xùn)練和預(yù)測(cè)是都用到了步長(zhǎng)颜说,這兩個(gè)步長(zhǎng)一樣嗎购岗?有什么用?如何設(shè)置门粪?

    • 訓(xùn)練步長(zhǎng)和預(yù)測(cè)步長(zhǎng)是一樣的喊积,可以從訓(xùn)練的過(guò)程中獲得(更新當(dāng)前迭代模型的時(shí)候)
    • 作用:使得每次更新模型的時(shí)候,Loss能夠平穩(wěn)地沿著負(fù)梯度的方向下降玄妈,不至于震蕩
    • 設(shè)置:一種是按照策略來(lái)決定步長(zhǎng)乾吻,另一種是在訓(xùn)練模型是學(xué)習(xí)步長(zhǎng)
      • 初始時(shí)步長(zhǎng)相同(較小的值),隨著迭代次數(shù)動(dòng)態(tài)改變(衰減)
      • 訓(xùn)練第k顆樹(shù)時(shí)拟蜻,利用前k-1顆樹(shù)求梯度绎签,所以可以把步長(zhǎng)當(dāng)作一個(gè)變量來(lái)學(xué)習(xí)
    • 如果步長(zhǎng)較大,訓(xùn)練時(shí)容易發(fā)生震蕩酝锅,模型學(xué)習(xí)不好诡必;步長(zhǎng)較小時(shí),訓(xùn)練時(shí)間過(guò)長(zhǎng)搔扁,迭代次數(shù)較大爸舒,生成較多的樹(shù),使得模型變復(fù)雜
  • GBDT哪些部分可以并行稿蹲?

    • 計(jì)算每個(gè)樣本的梯度
    • 挑選最佳分裂特征及分裂節(jié)點(diǎn)時(shí)碳抄,對(duì)特征計(jì)算相應(yīng)的誤差及均值時(shí)
    • 更新每個(gè)樣本的負(fù)梯度時(shí)
    • 預(yù)測(cè)時(shí),將之前所有樹(shù)的結(jié)果累加的時(shí)候
  • 樹(shù)生長(zhǎng)畸形會(huì)怎么樣场绿,如何預(yù)防剖效?

    在樹(shù)的生成過(guò)程中,加入不平衡約束條件焰盗。

    對(duì)樣本集中分裂到某個(gè)節(jié)點(diǎn)璧尸,對(duì)另一個(gè)節(jié)點(diǎn)的樣本很少的情況進(jìn)行懲罰


10. RF與GBDT的區(qū)別

  • 組成隨機(jī)森林的樹(shù)可以分類樹(shù)也可以是回歸樹(shù),而GBDT只由回歸樹(shù)組成
  • 組成隨機(jī)森林的樹(shù)可以并行生成熬拒,而GBDT是串行生成
  • 隨機(jī)森林的結(jié)果是多數(shù)表決爷光,而GBDT則是多棵樹(shù)累加之和
  • 隨機(jī)森林對(duì)異常值不敏感,而GBDT對(duì)異常值比較敏感
  • 隨機(jī)森林是通過(guò)減少模型的方差來(lái)提高性能澎粟,而GBDT是減少模型的偏差來(lái)提高性能的
  • 隨機(jī)森林不需要進(jìn)行數(shù)據(jù)預(yù)處理蛀序,即特征歸一化。而GBDT則需要進(jìn)行特征歸一化

GBDT的優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

可以靈活處理各種類型的數(shù)據(jù)活烙,包括連續(xù)值和離散值徐裸。
相對(duì)于SVM來(lái)說(shuō),在相對(duì)少的調(diào)參時(shí)間情況下啸盏,預(yù)測(cè)的準(zhǔn)備率也可以比較高重贺。
使用一些健壯的損失函數(shù),對(duì)異常值的魯棒性非常強(qiáng)。比如 Huber損失函數(shù)和Quantile損失函數(shù)气笙。

缺點(diǎn)

由于弱學(xué)習(xí)器之間存在依賴關(guān)系次企,難以并行訓(xùn)練數(shù)據(jù)。不過(guò)可以通過(guò)自采樣的SGBT來(lái)達(dá)到部分并行潜圃。



XGBoost


XGBoost是一個(gè)大規(guī)模缸棵、分布式的通用Gradient Boosting庫(kù),它在GB框架下實(shí)現(xiàn)了GBDT和一些廣義線性機(jī)器學(xué)習(xí)算法谭期。

XGBoost與GBDT的區(qū)別

  • 傳統(tǒng)的GBDT以CART作為基分類器堵第,XGBoost還支持線性分類器

    此時(shí)XGBoost相當(dāng)于帶L1和L2正則項(xiàng)的LR

  • GBDT使用Gini系數(shù)進(jìn)行分裂,XGBoost是經(jīng)過(guò)優(yōu)化推導(dǎo)后得到的

    Gain=\frac{G_L^2}{H_L+\lambda} + \frac{G_R^2}{H_R+\lambda} - \frac{(G_L+G_R)^2}{H_L+H_R + \lambda} - \gamma

  • XGBoost對(duì)損失函數(shù)進(jìn)行二階泰勒展開(kāi)(同時(shí)用到了一階和二階導(dǎo)數(shù))崇堵,傳統(tǒng)GBDT在優(yōu)化時(shí)只使用一階導(dǎo)數(shù)信息。XGBoost還支持自定義代價(jià)函數(shù)

    二階導(dǎo)數(shù)有利于梯度下降的更快更準(zhǔn)

    在不確定損失函數(shù)具體形式的情況下客燕,僅僅依靠輸入數(shù)據(jù)的值就可以進(jìn)行葉子分類優(yōu)化計(jì)算

  • XGBoost在代價(jià)函數(shù)里加入了正則項(xiàng)鸳劳,用于控制模型復(fù)雜度

    Obj=\sum_{i=1}^{N}l(y_i,y_i^,) + \sum_{k=1}^{K}\Omega(f_k),\quad\Omega(f_k)=\gamma T + \frac{1}{2}\sum_{j=1}^{T}w_j^2

  • XGBoost支持列抽樣。不僅能降低過(guò)擬合也搓,還能減少計(jì)算

  • XGBoost會(huì)進(jìn)行權(quán)重縮減赏廓。在每一次迭代完成后,會(huì)將葉子結(jié)點(diǎn)的權(quán)重乘上蓋系數(shù)傍妒,主要是為了削弱每棵樹(shù)的影響幔摸。

  • XGBoost對(duì)缺失處理。對(duì)于特征有缺失的樣本颤练,XGBoost可以自動(dòng)學(xué)習(xí)出它的分裂方向

  • XGBoost支持并行

    • XGBoost的并行并不是Tree粒度上的既忆,XGBoost也是一次迭代完才能進(jìn)行下一次迭代
    • XGBoost的并行是在特征粒度上(決策樹(shù)最耗時(shí)的步驟就是對(duì)特征值進(jìn)行排序,確定最佳分類節(jié)點(diǎn))
    • XGBoost在訓(xùn)練前嗦玖,預(yù)先對(duì)數(shù)據(jù)進(jìn)行排序患雇,保存為block結(jié)構(gòu),后邊的迭代中重復(fù)使用這個(gè)結(jié)構(gòu)大大減小計(jì)算量宇挫。各個(gè)特征的增益計(jì)算就可以多線程進(jìn)行苛吱。

Bagging、RF器瘪、Boosting翠储、Adaboost、GBDT

Bagging:可以看成投票選舉的方式橡疼。通過(guò)訓(xùn)練多個(gè)模型(每個(gè)模型從初始訓(xùn)練集中隨機(jī)選取出N個(gè)組成訓(xùn)練集訓(xùn)練模型)援所,將這些訓(xùn)練好的模型進(jìn)行加權(quán)組合來(lái)獲得最終的輸出結(jié)果(分類/回歸)。

在特征一定的情況下欣除,用Bagging思想去提升效果任斋。

RF:RF在Bagging的基礎(chǔ)上做了修改。在樣本集中采用Boostrap采樣N個(gè)樣本,建立CART樹(shù)废酷,在樹(shù)的每個(gè)節(jié)點(diǎn)上瘟檩,從所有屬性中隨機(jī)選擇K個(gè)屬性,選擇出一個(gè)最佳屬性特征作為節(jié)點(diǎn)澈蟆。

隨機(jī)森林既可以處理離散屬性墨辛,也可以處理連續(xù)值

Boosting:Boosting算法是一個(gè)迭代過(guò)程,每次新的訓(xùn)練都是為了改進(jìn)上一次的結(jié)果趴俘。Boosting在采樣時(shí)給樣本增加了一個(gè)權(quán)重睹簇,使得Loss Function盡量考慮哪些分錯(cuò)類的樣本。

Boosting采樣的不是樣本寥闪,而是樣本的分布太惠。對(duì)分類正確的樣本降低權(quán)重,分類錯(cuò)誤的樣本增加權(quán)重(通常是邊界附近的點(diǎn))疲憋,最有加權(quán)組合多個(gè)弱分類器

Adaboost:對(duì)數(shù)據(jù)集凿渊,建立個(gè)弱分類器。每次將分錯(cuò)的數(shù)據(jù)權(quán)重提高缚柳,將分對(duì)的數(shù)據(jù)權(quán)重降低埃脏,再進(jìn)行分類。

每次迭代的樣本是一樣的秋忙,即沒(méi)有采樣過(guò)程彩掐,只是不同樣本的權(quán)重不一樣

  1. 初始化訓(xùn)練集相等的權(quán)重,
  2. 在訓(xùn)練集上進(jìn)行輪灰追,每次訓(xùn)練后堵幽,對(duì)失敗的權(quán)重加大,讓學(xué)習(xí)器在后續(xù)學(xué)習(xí)中更加關(guān)注這些樣本弹澎,從而得到一個(gè)預(yù)測(cè)函數(shù)谐檀,預(yù)測(cè)函數(shù)也有一定的權(quán)重。

GBDT:每一次的計(jì)算是為了減少上一次的殘差裁奇,在殘差梯度減少的梯度方向上建立一個(gè)新的模型

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末桐猬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子刽肠,更是在濱河造成了極大的恐慌溃肪,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件音五,死亡現(xiàn)場(chǎng)離奇詭異惫撰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)躺涝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)厨钻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事夯膀∈洌” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵诱建,是天一觀的道長(zhǎng)蝴蜓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)俺猿,這世上最難降的妖魔是什么茎匠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮押袍,結(jié)果婚禮上诵冒,老公的妹妹穿的比我還像新娘。我一直安慰自己谊惭,他們只是感情好汽馋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著午笛,像睡著了一般惭蟋。 火紅的嫁衣襯著肌膚如雪苗桂。 梳的紋絲不亂的頭發(fā)上药磺,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音煤伟,去河邊找鬼癌佩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛便锨,可吹牛的內(nèi)容都是我干的围辙。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼放案,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼姚建!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起吱殉,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤掸冤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后友雳,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體稿湿,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年押赊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饺藤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涕俗,靈堂內(nèi)的尸體忽然破棺而出罗丰,到底是詐尸還是另有隱情,我是刑警寧澤咽袜,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布丸卷,位于F島的核電站,受9級(jí)特大地震影響询刹,放射性物質(zhì)發(fā)生泄漏谜嫉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一凹联、第九天 我趴在偏房一處隱蔽的房頂上張望沐兰。 院中可真熱鬧,春花似錦蔽挠、人聲如沸住闯。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)比原。三九已至,卻和暖如春杠巡,著一層夾襖步出監(jiān)牢的瞬間量窘,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工氢拥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蚌铜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓嫩海,卻偏偏與公主長(zhǎng)得像冬殃,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叁怪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

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