葉星辰 范登科
摘 要:本文以GBDT為主要算法在信貸數(shù)據(jù)集進(jìn)行分類,與傳統(tǒng)的隨機(jī)森林不同,此算法縱向生成樹群并將每一棵樹的預(yù)測(cè)值累加,并且每個(gè)決策樹僅選定一個(gè)指標(biāo)進(jìn)行劃分。此算法通過計(jì)算最佳分割點(diǎn)的方式降序排列取值的方式進(jìn)行數(shù)據(jù)降維,將數(shù)據(jù)預(yù)處理工作融合進(jìn)了算法中。構(gòu)建決策樹的每一部分或指標(biāo)都根據(jù)現(xiàn)有研究成果或?qū)嵺`對(duì)比選擇最佳的方式放入算法當(dāng)中。實(shí)踐證明此改進(jìn)后的算法能夠達(dá)到一個(gè)較高的準(zhǔn)確度,也證明了此算法的優(yōu)越性。
關(guān)鍵詞:GBDT;決策樹;分類;信貸;算法
分類是數(shù)據(jù)挖掘中應(yīng)用領(lǐng)域極其廣泛的重要技術(shù)之一, 其是根據(jù)數(shù)據(jù)集的特點(diǎn)構(gòu)造一個(gè)分類器, 利用分類器對(duì)未知類別的樣本賦予類別的一種技術(shù)[1]。
決策樹算法是數(shù)據(jù)挖掘領(lǐng)域中一個(gè)活躍的研究方向[2]。作為決策樹算法的延申,隨機(jī)森林(RF)通過投票具有很高的預(yù)測(cè)準(zhǔn)確率,對(duì)異常值和噪聲具有很好的容忍度,并且不容易出現(xiàn)過擬合,在醫(yī)學(xué),生物信息,管理學(xué)等領(lǐng)域具有廣泛的應(yīng)用[3]。
GBDT采用梯度提升的方式構(gòu)造樹,每棵樹都試圖糾正前一棵樹的錯(cuò)誤。將樣本數(shù)據(jù)集輸入GBDT模型中,通過計(jì)算均方誤差并使其最小作為分裂指標(biāo),根節(jié)點(diǎn)分裂之后,子節(jié)點(diǎn)重復(fù)同樣的分裂方式,直到最底層子節(jié)點(diǎn)符合預(yù)先設(shè)定的條件后停止分裂,最終形成一顆二叉樹。
本文采用GBDT模型。并應(yīng)用不同的激活函數(shù)和損失函數(shù)進(jìn)行分析和對(duì)比。并使用實(shí)驗(yàn)真實(shí)的心臟病數(shù)據(jù)集進(jìn)行驗(yàn)證,與傳統(tǒng)算法做對(duì)比,此算法都能夠在一定程度上很好地提升準(zhǔn)確度。
1? GBDT算法
1.1? 算法設(shè)計(jì)思路
GBDT以回歸樹為基礎(chǔ),將神經(jīng)網(wǎng)絡(luò)誤差反向傳播的思路嵌套進(jìn)了回歸樹中。再以激活函數(shù)為“橋梁”,將回歸問題轉(zhuǎn)化為了分類問題,并在一定程度上可以更好地實(shí)現(xiàn)非線性分類。為了在一定程度上避免過擬合,類似神經(jīng)網(wǎng)絡(luò)加入了學(xué)習(xí)率的概念。
與神經(jīng)網(wǎng)絡(luò)以及很多算法對(duì)于數(shù)據(jù)集的要求很高,需要做預(yù)處理[4]。與此相比,此模型能夠較好的應(yīng)用于龐大的數(shù)據(jù)集中,因?yàn)樗軌蛲ㄟ^遍歷數(shù)據(jù)選擇最佳劃分點(diǎn)以及特征,選擇的特征數(shù)量可以規(guī)定,這種模型可以按照特征的有效性進(jìn)行排序并選擇前幾位較為有效的規(guī)則進(jìn)行劃分。換句話說,在計(jì)算特征值并逆序排序的過程就是數(shù)據(jù)降維的過程。
總的來(lái)說,GBDT的思想是依據(jù)神經(jīng)網(wǎng)絡(luò)誤差反向傳播建立起來(lái)的。與其需要進(jìn)行復(fù)雜的求導(dǎo)以及很大的運(yùn)算量不同,通過決策樹架構(gòu),分析殘差迭代生成森林,將預(yù)測(cè)結(jié)果累加從而得到分類結(jié)果既不需要太大的運(yùn)算量,又能夠較好的實(shí)現(xiàn)分類的目的。
1.2 GBDT算法流程
(1)假定GBDT的訓(xùn)練集是(X,Y),其中X是輸入變量,Y是對(duì)應(yīng)的因變量。
(2)計(jì)算初始預(yù)測(cè)值
(3)依照最佳特征構(gòu)建一個(gè)決策樹,每個(gè)葉子結(jié)點(diǎn)的預(yù)測(cè)值為該葉子結(jié)點(diǎn)的均值。
(4)計(jì)算損失函數(shù)L(f)
(5)將此算法前三步迭代,特征值的選取為遍歷數(shù)據(jù)集得到的最小均方誤差的特征逆序排列依次取值。假設(shè)迭代m次,構(gòu)建了m棵樹。此時(shí)樣本的估計(jì)值是m次迭代的累加和。在第m+1次迭代中,損失函數(shù)的最大化下降方向是它的梯度方向
(6)將fm+1(x)通過激活函數(shù)映射進(jìn)行分類
1.3預(yù)測(cè)值計(jì)算方式的理論解釋
回歸樹的初始值一般用的是選用某一特征的值、均值或者隨機(jī)生成,在本文中初始值的選定是根據(jù)數(shù)據(jù)值的一個(gè)計(jì)算公式得出。因?yàn)樗x取的數(shù)據(jù)集是二分類問題,所以預(yù)測(cè)的函數(shù)值需要在(0,1),借用神經(jīng)網(wǎng)絡(luò)的激活函數(shù)函數(shù),可將最終的預(yù)測(cè)值控制在(0,1)之間?;诖耍疚倪x擇公式對(duì)數(shù)歸一化來(lái)計(jì)算初始預(yù)測(cè)值。
1.4學(xué)習(xí)率的計(jì)算方式
1.5評(píng)價(jià)指標(biāo)的計(jì)算方式
為了評(píng)估GBDT的預(yù)測(cè)性能,需要選擇損失函數(shù)來(lái)衡量模型的精度。本文選取了均方誤差(MSE),平均決對(duì)誤差(MAE)以及平均絕對(duì)百分誤差(MAPE)以及負(fù)二項(xiàng)對(duì)數(shù)似然函數(shù)來(lái)衡量模型的預(yù)測(cè)精度。經(jīng)過替換不同的損失函數(shù)計(jì)算,發(fā)現(xiàn)MSE的預(yù)測(cè)精度最高,預(yù)測(cè)效果明顯優(yōu)于其他兩種損失函數(shù),故本文選擇MSE作為損失函數(shù)。
當(dāng)選擇MSE作為損失函數(shù)時(shí),其導(dǎo)數(shù)即為預(yù)測(cè)值與實(shí)際值之差的倍數(shù)。
2真實(shí)數(shù)據(jù)集上算法的實(shí)踐檢驗(yàn)
2.1? 數(shù)據(jù)獲取及預(yù)處理
此數(shù)據(jù)選取Lending Club的信貸數(shù)據(jù),并通過特征提取評(píng)估屬性的重要性選取較為重要的特征,再將數(shù)據(jù)集標(biāo)準(zhǔn)化。然后從此數(shù)據(jù)集中隨即劃分占總數(shù)量70%的樣本為訓(xùn)練集,其余的樣本作為測(cè)試集。然后使用GBDT進(jìn)行數(shù)據(jù)的訓(xùn)練和測(cè)試。實(shí)踐表明,當(dāng)損失函數(shù)選擇MSE,并且激活函數(shù)為softsign時(shí),準(zhǔn)確率最高,甚至能夠達(dá)到90.6%左右,已經(jīng)完全能夠勝任基于此數(shù)據(jù)集的分類工作。
3? 算法再優(yōu)化方向
(1)可以嘗試將學(xué)習(xí)率替換為動(dòng)量更新算法,總而能夠切合實(shí)際情況計(jì)算出合適的學(xué)習(xí)率。
(2)嘗試優(yōu)化算法使得算法能夠自動(dòng)計(jì)算劃分特征的數(shù)量(構(gòu)造樹的數(shù)量),從而達(dá)到更有效的分類
參考文獻(xiàn)
[1]劉紅巖,陳劍,陳國(guó)青.數(shù)據(jù)挖掘中的數(shù)據(jù)分類算法綜述[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2002(06):727-730.
[2]唐華松,姚耀文.數(shù)據(jù)挖掘中決策樹算法的探討[J].計(jì)算機(jī)應(yīng)用研究,2001(08):18-19+22.
[3]方匡南,吳見彬,朱建平,謝邦昌.隨機(jī)森林方法研究綜述[J].統(tǒng)計(jì)與信息論壇,2011,26(03):32-38
[4]陳雯柏. 人工神經(jīng)網(wǎng)絡(luò)原理與實(shí)踐[M]. 西安:西安電子科技大學(xué)出版社,2016.