隨機(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ī)森林的生成方法
- 對(duì)于:
- 對(duì)訓(xùn)練集進(jìn)行第次隨機(jī)采樣肪获,共采集次,得到包含個(gè)樣本的采樣集柒傻;
- 用采樣集訓(xùn)練第個(gè)決策樹(shù)模型孝赫,在訓(xùn)練決策樹(shù)模型的節(jié)點(diǎn)的時(shí)候, 在節(jié)點(diǎn)上所有的樣本特征中選擇一部分樣本特征红符, 在這些隨機(jī)選擇的部分樣本特征中選擇一個(gè)最優(yōu)的特征來(lái)做決策樹(shù)的左右子樹(shù)劃分青柄;
- 如果是分類算法預(yù)測(cè)伐债,則個(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è)含有個(gè)樣本的訓(xùn)練集中進(jìn)行隨機(jī)采樣千诬,樣本被采到的概率是,不被采到的概率是膏斤,則:
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的生成方法
-
GBDT通過(guò)迭代M輪脑题,每輪產(chǎn)生一個(gè)弱分類器
弱分類器的損失函數(shù)為
樣本的損失函數(shù)的負(fù)梯度為件缸,利用擬合一顆CART樹(shù)
每個(gè)弱分類器在當(dāng)前模型 的基礎(chǔ)上進(jìn)行訓(xùn)練
弱分類器的要求:足夠簡(jiǎn)單,低方差高偏差(訓(xùn)練過(guò)程是通過(guò)降低偏差來(lái)提高分類精度的)
-
最終的總分類器是將每輪訓(xùn)練的弱分類器加權(quán)得到的(加法模型)
GBDT通過(guò)經(jīng)驗(yàn)風(fēng)險(xiǎn)及消化來(lái)確定下一個(gè)分類器的參數(shù)叔遂。如果選擇平方損失函數(shù)他炊,那么這個(gè)差值就是殘差:
- 希望損失函數(shù)能夠不斷減小争剿,并且快速的減小
- 讓損失函數(shù)沿著梯度下降的方向
3. GBDT如何選擇特征
GBDT默認(rèn)的弱分類器是CART樹(shù)
- 假設(shè)總共有M個(gè)特征,首先選取一個(gè)特征作為二叉樹(shù)的第一個(gè)切分特征痊末,然后對(duì)特征選擇一個(gè)切分點(diǎn)
- 特征的值小于蚕苇,則分為一類,如果大于凿叠,則分為另一類
- 遍歷每個(gè)特征涩笤,然后對(duì)每個(gè)特征遍歷它所有可能的切分點(diǎn),找到最優(yōu)特征的最優(yōu)切分點(diǎn)
- 衡量我們找到的特征和切分點(diǎn)
- 回歸:平房誤差盒件,
- 分類:蹬碧,對(duì)于給定的集合D,基尼系數(shù)為
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)有意義的
-
在訓(xùn)練時(shí)毕骡,針對(duì)樣本每個(gè)可能的類(總共類)都訓(xùn)練一個(gè)分類回歸樹(shù)
實(shí)質(zhì)上是在每輪訓(xùn)練的時(shí)候同時(shí)訓(xùn)練顆樹(shù)削饵。第顆樹(shù)針對(duì)樣本的第類,輸入為
對(duì)應(yīng)的個(gè)輸出為
仿照Softmax未巫,則屬于類別的概率為:
-
計(jì)算每個(gè)樹(shù)針對(duì)類別1的殘差
殘差
針對(duì)下一輪窿撬,將本輪的殘差作為輸入輸入第顆樹(shù)(同樣有棵樹(shù))
6. GBDT如何做正則化
為了防止過(guò)擬合,需要對(duì)GBDT做正則化叙凡,主要有三種方式:
-
與Adaboost類似的正則化項(xiàng):步長(zhǎng)(learning rate)劈伴,定義為
,較小的意味著更多的弱學(xué)習(xí)期迭代次數(shù)
-
通過(guò)子采樣步長(zhǎng)(subsample)握爷,定義為跛璧。RF采用有放回抽樣苏遥,GBDT采用不放回抽樣
當(dāng),則不采用子采樣赡模;當(dāng),則使用部分樣本做GBDT
部分樣本可以減少方差(防止過(guò)擬合)师抄,但是會(huì)增加樣本擬合偏差漓柑,所以不能太低
正則化剪枝
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):惭蹂,而不是對(duì)特征值
決策樹(shù)的目標(biāo)函數(shù)沒(méi)法用一個(gè)表達(dá)式求解,每個(gè)節(jié)點(diǎn)都是用一個(gè)值來(lái)分離樣本割粮,無(wú)法直接通過(guò)表達(dá)式來(lái)求解
把函數(shù)理解成在所有樣本上的函數(shù)值盾碗,即負(fù)梯度為
對(duì)于樣本,都有一個(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ì)于$$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è)是某個(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)練第顆樹(shù)時(shí)拟蜻,利用前顆樹(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)后得到的
-
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ù)雜度
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ī)選取出個(gè)組成訓(xùn)練集訓(xùn)練模型)援所,將這些訓(xùn)練好的模型進(jìn)行加權(quán)組合來(lái)獲得最終的輸出結(jié)果(分類/回歸)。
在特征一定的情況下欣除,用Bagging思想去提升效果任斋。
RF:RF在Bagging的基礎(chǔ)上做了修改。在樣本集中采用Boostrap采樣個(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)重不一樣
- 初始化訓(xùn)練集相等的權(quán)重,
- 在訓(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è)新的模型