陳雨桐
摘要:大數(shù)據(jù)時(shí)代,對(duì)海量數(shù)據(jù)的高效處理極為重要。集成學(xué)習(xí)算法中的隨機(jī)森林和梯度提升決策樹是近些年來常被用于處理數(shù)據(jù)分類與回歸的方法,決策樹則是隨機(jī)森林和梯度提升決策樹算法組成的基礎(chǔ)。本文首先對(duì)決策樹進(jìn)行了介紹,然后分別對(duì)隨機(jī)森林和梯度提升決策樹進(jìn)行了分析,敘述了兩種算法的優(yōu)缺點(diǎn)以及近幾年來在生活生產(chǎn)中的應(yīng)用,并對(duì)兩種算法進(jìn)行了比較。
關(guān)鍵詞:決策樹;隨機(jī)森林;梯度提升決策樹;集成學(xué)習(xí)
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)15-0032-03
隨著科技的不斷進(jìn)步與發(fā)展,海量的數(shù)據(jù)涌入人們的生活,人們便希望可以有方式能夠高效地處理這些數(shù)據(jù)。于是,產(chǎn)生了數(shù)據(jù)挖掘技術(shù)。決策樹便是數(shù)據(jù)挖掘技術(shù)中典型的算法,決策樹可以處理分類問題和回歸問題,但它屬于單個(gè)的分類器,具有容易發(fā)生過擬合現(xiàn)象的缺陷。因此,集成學(xué)習(xí)算法應(yīng)運(yùn)而生。其中,隨機(jī)森林和梯度提升決策樹是兩種由多棵決策樹集合而成的算法,且它們?cè)诩蓪W(xué)習(xí)算法中很具有代表性。本文將對(duì)隨機(jī)森林算法和梯度提升決策樹算法進(jìn)行綜述。
1決策樹
1.1決策樹簡(jiǎn)介
決策樹是機(jī)器學(xué)習(xí)中一類用于分類和回歸的算法,目前常用的決策樹算法主要有在1986年由Quinlan提出的ID3算法、由ID3算法改進(jìn)形成的C4.5算法、進(jìn)一步改進(jìn)形成的C5.0算法和在1984年由Breiman提出的CART算法。決策樹的理論結(jié)構(gòu)是一個(gè)樹狀圖,圖中每個(gè)非葉子節(jié)點(diǎn)代表一種決策,每一個(gè)分支代表一種決策結(jié)果,每一個(gè)葉子節(jié)點(diǎn)代表一個(gè)類別。決策樹分類的方法就是從根結(jié)點(diǎn)開始,對(duì)某個(gè)輸入實(shí)例進(jìn)行決策,每次決策都根據(jù)測(cè)試結(jié)果,通過分支將實(shí)例流向下一個(gè)節(jié)點(diǎn),直至此實(shí)例被劃分到一個(gè)葉結(jié)點(diǎn),其便被分到了此葉結(jié)點(diǎn)所代表的類中。
決策樹的構(gòu)造過程依據(jù)訓(xùn)練集特征的決定性,將決定性最重要的特征作為根節(jié)點(diǎn),之后依次按照特征決定性的重要程度分出子節(jié)點(diǎn),直至最后生成葉結(jié)點(diǎn)所代表的類。因此,在決策樹的構(gòu)建過程中,關(guān)鍵是找出每次在當(dāng)前分支節(jié)點(diǎn)起決定性作用最大的特征,使最后分出的類盡可能“純”,不同的決策樹算法評(píng)估純度差和選擇特征的方式不同[1],ID3算法使用信息增益選擇特征,C4.5和C5.0算法使用信息增益率進(jìn)行選擇,而CART算法使用Gini指數(shù)判斷和選擇特征。
1.2優(yōu)勢(shì)和缺陷
決策樹的優(yōu)勢(shì)是樹狀圖便于理解,能很好地展現(xiàn)出樣本的分類過程和分類過程中屬性的重要程度,且決策樹既能夠處理連續(xù)型數(shù)據(jù),又能夠處理離散型數(shù)據(jù)。但同時(shí),決策樹也存在著一些缺陷,一個(gè)最典型的缺陷是通過決策樹算法進(jìn)行分類操作,很容易出現(xiàn)對(duì)訓(xùn)練數(shù)據(jù)集分類效果很好,但對(duì)測(cè)試數(shù)據(jù)集分類效果較差,即出現(xiàn)過擬合[1],無法有效地對(duì)所有新樣本進(jìn)行分類,泛化能力弱。于是,便出現(xiàn)了對(duì)決策樹進(jìn)行剪枝[1]的方法,減去不必過度細(xì)化的分支,以此來避免發(fā)生過擬合現(xiàn)象。但剪枝的方式只能在一定程度上優(yōu)化決策樹,當(dāng)數(shù)據(jù)龐大復(fù)雜時(shí),應(yīng)用決策樹依舊有一定限制。因此,便出現(xiàn)了基于決策樹的集成學(xué)習(xí)算法,對(duì)數(shù)據(jù)分類問題有更好的可行性。
2隨機(jī)森林
2.1隨機(jī)森林簡(jiǎn)介
隨機(jī)森林(Random Forest)是一種基于決策樹的集成學(xué)習(xí)算法,它由多棵決策樹組成,每棵決策樹具有一個(gè)投票權(quán),隨機(jī)森林最后的分類結(jié)果就取決于這些決策樹的投票結(jié)果。隨機(jī)森林中每棵決策樹的生成方式如下:
(1)從訓(xùn)練集中用有放回抽樣法隨機(jī)抽取一定數(shù)量的樣本組成新訓(xùn)練集;
(2)在特征集中隨機(jī)選擇一定數(shù)量的特征;
(3)利用建立決策樹的方法,依次計(jì)算最優(yōu)的特征作為當(dāng)前節(jié)點(diǎn)進(jìn)行建樹。
上述過程重復(fù)執(zhí)行n次,每次抽取的樣本數(shù)量、特征數(shù)量都固定不變,建立的n棵樹就組成了隨機(jī)森林。由于每次對(duì)樣本和特征都是隨機(jī)抽取,就會(huì)構(gòu)造出許多不同的決策樹。因此,隨機(jī)森林中的所有決策樹對(duì)同一個(gè)樣本進(jìn)行分類,會(huì)得到許多分類結(jié)果,每棵決策樹對(duì)其分類結(jié)果進(jìn)行一次投票,通常取被投次數(shù)最多的類作為該樣本所屬的類。用一個(gè)簡(jiǎn)單的流程圖表示隨機(jī)森林應(yīng)用的過程,如下所示:
由于隨機(jī)森林選取訓(xùn)練樣本和特征的隨機(jī)性,以及多次對(duì)測(cè)試樣本進(jìn)行分類的特性,應(yīng)用此算法進(jìn)行分類可以較好地解決單棵決策樹泛化能力弱的問題,一定程度上彌補(bǔ)了決策樹容易出現(xiàn)過擬合的缺陷。
2.2優(yōu)缺點(diǎn)
隨機(jī)森林主要有以下優(yōu)點(diǎn):
(1)實(shí)現(xiàn)較為簡(jiǎn)單,且訓(xùn)練速度快。
(2)可以處理多特征的數(shù)據(jù),適應(yīng)能力強(qiáng)。
(3)采用了集成算法后分類精度比單個(gè)算法要高。
(4)不容易發(fā)生過擬合,泛化能力強(qiáng)。
(5)對(duì)不平衡的數(shù)據(jù)集,隨機(jī)森林可以平衡誤差[2]。
但隨機(jī)森林算法也存在著一定的缺點(diǎn),在一些噪聲比較大,即錯(cuò)誤數(shù)據(jù)較多的分類問題或回歸問題中,隨機(jī)森林也會(huì)出現(xiàn)過擬合;對(duì)于有不同特征的數(shù)據(jù),可能會(huì)出現(xiàn)建立了多棵相似決策樹的情形,對(duì)分類的真實(shí)結(jié)果產(chǎn)生一定偏差。
2.3應(yīng)用
由于隨機(jī)森林算法性能較好,目前在許多領(lǐng)域都有所應(yīng)用。例如,彭遠(yuǎn)新等人[3]利用隨機(jī)森林算法在濰北平原進(jìn)行土壤全氮高光譜估算,因?yàn)楂@取土壤的氮素信息對(duì)植物生長(zhǎng)極為重要;李銳光等人[4]改進(jìn)了隨機(jī)森林算法,將其用于物聯(lián)網(wǎng)設(shè)備流量分類,對(duì)網(wǎng)絡(luò)空間的流量管理有重要意義;蕭伊等人[5]將隨機(jī)森林應(yīng)用于分析膝關(guān)節(jié)炎患者結(jié)構(gòu)特征和癥狀定量,為在膝關(guān)節(jié)的相關(guān)癥狀評(píng)估以及治療指導(dǎo)貢獻(xiàn)了幫助??梢姡S機(jī)森林作為近些年來熱門的應(yīng)用算法,在各行各業(yè)中充分發(fā)揮了其可用之處。
3梯度提升決策樹
3.1梯度提升決策樹簡(jiǎn)介
GBDT(Gradient Boosting Decision Tress),稱作梯度提升決策樹,是決策樹集成學(xué)習(xí)算法中的一種迭代算法,由多棵依據(jù)原訓(xùn)練集構(gòu)造的決策樹組成,進(jìn)行多次迭代,每次迭代在一棵決策樹中產(chǎn)生一個(gè)結(jié)果,下一棵決策樹在上一次的殘差(真實(shí)值-預(yù)測(cè)值)基礎(chǔ)上進(jìn)行訓(xùn)練,經(jīng)過所有決策樹后,生成最終的結(jié)果。梯度提升決策樹算法的過程如下圖所示:
樣本每經(jīng)過一棵決策樹,它所預(yù)測(cè)的結(jié)果會(huì)與真實(shí)結(jié)果有一定的差異。每棵新的決策樹建立的目的是使殘差在梯度[6]方向上減少,以此最終預(yù)測(cè)出最接近真實(shí)結(jié)果的數(shù)據(jù)。
為了更好地方便理解梯度提升決策樹的擬合數(shù)據(jù)的過程,下面以一個(gè)簡(jiǎn)單的例子進(jìn)行演示:
假設(shè)有個(gè)人身高170cm,我們最初用160cm去擬合,發(fā)現(xiàn)殘差為10cm,接下來我們用7cm去擬合上一輪的殘差,此時(shí)的殘差為3cm,第三次我們用2cm去擬合,此時(shí)還有1cm的差距,可以繼續(xù)不斷地迭代直至GBDT中的迭代次數(shù)使用完畢,我們會(huì)發(fā)現(xiàn)每次迭代擬合的差值都會(huì)減小,且每次迭代后預(yù)測(cè)值都會(huì)更加逼近真實(shí)值,這就是梯度提升決策樹的簡(jiǎn)單應(yīng)用。
3.2優(yōu)缺點(diǎn)
梯度提升決策樹主要有以下優(yōu)點(diǎn):
(1)幾乎可以適用于所有的回歸問題,無論是線性回歸還是非線性回歸。
(2)預(yù)測(cè)精度高,泛化能力強(qiáng)。
(3)可以靈活處理連續(xù)型數(shù)據(jù)和離散型數(shù)據(jù)。
同時(shí),梯度提升決策樹也存在著一定的缺點(diǎn),由于其決策樹是依次迭代對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練的,即決策樹間存在依賴關(guān)系,導(dǎo)致梯度提升決策樹難以并行訓(xùn)練數(shù)據(jù)。
3.3應(yīng)用
梯度提升決策樹是人們現(xiàn)在解決許多數(shù)據(jù)問題能夠用到的算法。例如,路志英等人[7]將改進(jìn)的GBDT模型用于對(duì)天津強(qiáng)對(duì)流災(zāi)害的預(yù)報(bào),陳濤等人[8]將GBDT模型用于滑坡易發(fā)性的評(píng)價(jià)中,并證實(shí)了GBDT模型在此問題中具有比較高的預(yù)測(cè)能力,近些年來還有許多關(guān)于GBDT的應(yīng)用,可見其應(yīng)用效果良好。
4 隨機(jī)森林與梯度提升決策樹的比較
隨機(jī)森林和梯度提升決策樹都屬于集成學(xué)習(xí)算法,它們都由多棵決策樹所組成,最終的結(jié)果也需要經(jīng)過所有決策樹共同決定。但隨機(jī)森林與梯度提升決策樹在思想和算法上有所區(qū)別,隨機(jī)森林采用的是機(jī)器學(xué)習(xí)中的Bagging[9]思想,而梯度提升決策樹則采用的是Boosting[10]思想。Bagging和Boosting都是集成學(xué)習(xí)方法,且都是通過結(jié)合多個(gè)弱學(xué)習(xí)器并提升為強(qiáng)學(xué)習(xí)器來完成訓(xùn)練任務(wù)。Bagging通過有放回均勻抽樣法從訓(xùn)練集中抽取樣本訓(xùn)練弱分類器,每個(gè)分類器的訓(xùn)練集是相互獨(dú)立的,而Boosting的每個(gè)分類器的訓(xùn)練集不是相互獨(dú)立的,每個(gè)弱分類器的訓(xùn)練集都是在上一個(gè)弱分類器的結(jié)果上進(jìn)行取樣。由于隨機(jī)森林采用了Bagging思想,那么決策樹訓(xùn)練集相互獨(dú)立,組成隨機(jī)森林的樹相互之間可以并行生成,而梯度提升決策樹采用的Boosting思想,組成的樹需要按順序串行生成。并且隨機(jī)森林中的決策樹對(duì)訓(xùn)練集進(jìn)行訓(xùn)練時(shí),對(duì)所有的訓(xùn)練集一視同仁,而梯度提升決策樹對(duì)不同的決策樹依據(jù)重要性賦有不同的權(quán)值[6]。在應(yīng)用上,隨機(jī)森林與梯度提升決策樹都可以解決分類與回歸問題,但隨機(jī)森林更多地用于解決分類問題,梯度提升決策樹則更多用于處理回歸問題。
5結(jié)束語(yǔ)
隨機(jī)森林和梯度提升決策樹都是集成算法中的經(jīng)典算法,目前在許多領(lǐng)域都有所應(yīng)用,也有一些科研者將隨機(jī)森林或梯度提升決策樹與其他方法相結(jié)合,形成復(fù)合算法去研究、處理相應(yīng)問題。雖然目前這兩種算法應(yīng)用廣泛,但仍有缺陷存在,如何更好地對(duì)其更新與拓展是非常值得我們思考和研究的事情,這樣才能更靈活、更有效地讓其應(yīng)用于人們的生活和生產(chǎn)中。
參考文獻(xiàn):
[1] 周志華.機(jī)器學(xué)習(xí)[M].北京:清華大學(xué)出版社,2016.
[2] 曹正鳳.隨機(jī)森林算法優(yōu)化研究[D].北京:首都經(jīng)濟(jì)貿(mào)易大學(xué),2014.
[3] 彭遠(yuǎn)新,蒙永輝,徐夕博,等.基于隨機(jī)森林算法的濰北平原土壤全氮高光譜估算[J].安全與環(huán)境學(xué)報(bào),2020,20(5):1975-1983.
[4]李銳光,段鵬宇,沈蒙,等.基于隨機(jī)森林的物聯(lián)網(wǎng)設(shè)備流量分類算法[EB/OL].(2020-10-20).北京航空航天大學(xué)學(xué)報(bào):1-9.
[5] 蕭伊,肖峰,徐海波.隨機(jī)森林模型在膝關(guān)節(jié)炎患者結(jié)構(gòu)特征與癥狀定量分析中的應(yīng)用[J].磁共振成像,2020,11(10):877-884.
[6]Jerome H. Friedman. Greedy function approximation: A gradient boosting machine[J]. The Annals of Statistics,2001,29(5).
[7] 路志英,汪永清,孫曉磊,等.基于Focal Loss改進(jìn)的GBDT模型對(duì)天津強(qiáng)對(duì)流災(zāi)害的預(yù)報(bào)[J].災(zāi)害學(xué),2020,35(3):34-37,50.
[8] 陳濤,朱麗,牛瑞卿.基于GBDT模型的滑坡易發(fā)性評(píng)價(jià)[C]//第五屆高分辨率對(duì)地觀測(cè)學(xué)術(shù)年會(huì)論文集.西安,2018:511-520.
[9] Breiman L.Bagging predictors[J].Machine Learning,1996,24(2):123-140.
[10] Freund Y,Schapire R E.A decision-theoretic generalization of on-line learning and an application to boosting[J].Journal of Computer and System Sciences,1997,55(1):119-139.
【通聯(lián)編輯:唐一東】