范昊東
(黑龍江科技大學(xué),黑龍江哈爾濱,150022)
隨機森林是一種組合分類器技術(shù)。既可以用于處理分類、回歸問題,也適用于降維問題。隨機森林對噪音有很好的容忍度且不易出現(xiàn)過擬合,穩(wěn)健性強。隨機森林算法中采用的bootstrap重采樣技術(shù)是有放回的隨機采樣,即從原始的訓(xùn)練樣本集中隨機有放回地抽取與其等數(shù)量的樣本組成1個采樣集,重復(fù)n輪得到n個相互獨立的采樣集;然后利用每個采樣集分別生成決策樹,n個決策樹共同構(gòu)成森林。即把多個決策樹的預(yù)測組合成一個模型。
由于隨機森林算法中存在的一些問題,為了改進隨機森林算法國內(nèi)外學(xué)者們提出了很多方案,孫光民[1]通過優(yōu)化群投票原理,使用分類與回歸樹進行預(yù)測,將預(yù)測結(jié)果從小到大排序,只取中間較好的CART用于最終的預(yù)測,縮短運算時間,減少預(yù)測誤差。Mashayekhi等[2]基于爬山策略的貪婪方法,增刪決策樹來保證隨機森林的多樣性。Ishwaran等[3]通過引入生存樹的概念,提出隨機生存森林算法,構(gòu)建生存函數(shù),生成分析樹的內(nèi)容和預(yù)測結(jié)果進行綜合,提高其分類的性能。薛銘龍等[4]通過設(shè)置不同的懲罰項因子可以在訓(xùn)練隨機森林中生成結(jié)構(gòu)不同的決策樹。
上述改進算法均能有效提升分類精度,但改變決策樹的結(jié)構(gòu),會增加算法的復(fù)雜性。增刪決策樹,雖然計算簡單,但會導(dǎo)致隨機森林陷入局部最優(yōu)。所以需要一種簡單高效的方法來計算出決策樹間的相關(guān)性,豐富隨機森林的多樣性,進而提升隨機森林的分類精度。為解決上述隨即森林的問題,本文提出了一種基于狼群優(yōu)化算法優(yōu)化的隨機森林模型,通過迭代優(yōu)化決策樹棵數(shù)、剪枝閾值等參數(shù)來實現(xiàn)對隨機森林模型的優(yōu)化。
隨機森林算法中采用的bootstrap重采樣技術(shù)是一種有放回的隨機采樣,從原始的訓(xùn)練樣本集中隨機有放回地抽取與其等數(shù)量的樣本組成1個采樣集,重復(fù)n輪得到n個相互獨立的采樣集;然后利用每個采樣集分別生成決策樹,這n個決策樹連接形成“森林”。即由多個決策樹的預(yù)測組合成的模型。
本文選用隨機森林作為分類器,隨機森林的學(xué)習(xí)過程可以用以下步驟描述:
(1)首先重采樣采用Bootstrap方法,隨機產(chǎn)生m個訓(xùn)練子集。
(2)然后基于劃分好的訓(xùn)練子集生成對應(yīng)的決策樹。從特征變量中隨機選擇部分特征組成特征子集,在其中選取最優(yōu)特征作為決策樹節(jié)點的分裂屬性。
(3)最后采用投票的方法集成各決策樹對訓(xùn)練子集的預(yù)測結(jié)果,將m個決策樹中輸出最多的類別作為測試集樣本所屬的類別。
隨機森林是讓每一棵決策樹進行分類,然后取所有決策樹中分類結(jié)果最多的那類作為最終的結(jié)果。因此是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數(shù)而定。該模型的優(yōu)點包括對高維數(shù)據(jù)無需提前進行特征選擇、有效克服單一預(yù)測器易陷入過擬合。隨機森林模型的實質(zhì)是一個有許多棵互不相關(guān)決策樹的分類器。所有決策樹都采用Bootstrap方法進行采樣,從所有的決策屬性中隨機挑選出幾個屬性進行分類。訓(xùn)練完成后,當(dāng)測試樣本輸入時,每棵決策樹均對測試樣本進行分類,通過投票的方法來決定測試樣本的最終分類結(jié)果。
隨機森林與傳統(tǒng)決策樹算法不同,其具有不剪枝也能避免數(shù)據(jù)過擬合的特點,同時具有較快的訓(xùn)練速度,且參數(shù)調(diào)整簡單,在默認參數(shù)下即具有較好的回歸預(yù)測效果[5-6]。以上算法中,剪枝閾值、決策樹棵數(shù)、預(yù)測試樣本數(shù)等參數(shù)對隨機森林模型的輸出都有一定的影響。常用的群體智能算法有粒子群算法、人工魚群算法、蟻群算法等。狼群優(yōu)化算法也屬于群體智能算法,狼群優(yōu)化算法通過模擬灰狼群體捕食,快速選取最優(yōu)解.本文通過將狼群優(yōu)化算法引入隨機森林模型,迭代優(yōu)化隨機森林算法中的參數(shù),達到了較好的分類效果。
狼群優(yōu)化隨機森林算法的步驟如下∶
(1)確定隨機森林算法的參數(shù),隨機設(shè)定出剪枝閾值、決策樹棵數(shù)、預(yù)測試樣本數(shù)、隨機屬性個數(shù)的初值;
(2)采用Bootstrap算法采樣,隨機生產(chǎn)訓(xùn)練集,并在每個訓(xùn)練集中選出預(yù)測試樣本;
(3)利用每個訓(xùn)練集剩下的樣本分別生成決策樹;
(4)當(dāng)結(jié)點內(nèi)包含的樣本數(shù)少于閾值時,將該結(jié)點作為葉結(jié)點,返回其目標屬性的眾數(shù)作為該決策樹的分類結(jié)果;
(5)計算出模型的分類結(jié)果作為適應(yīng)度值,采用狼群優(yōu)化算法對其中的參數(shù)進行迭代優(yōu)化,從而確定最終模型的參數(shù)。
本文利用加利福尼亞大學(xué)的UCI數(shù)據(jù)庫的實驗數(shù)據(jù)來驗證隨機森林模型中的參數(shù)對分類準確率的影響,選取Abalone數(shù)據(jù)集作為驗證數(shù)據(jù)集,分別對剪枝閾值和決策樹棵數(shù)進行驗證.在實驗部分上述UCI數(shù)據(jù)集上選取abalone數(shù)據(jù),共包含8個屬性。將數(shù)據(jù)集進行拆分,其中75%的數(shù)據(jù)作為訓(xùn)練集,25%的數(shù)據(jù)作為測試集?;依莾?yōu)化隨機森林中的迭代優(yōu)化的結(jié)果如圖1所示。訓(xùn)練集預(yù)測結(jié)果如圖2示.測試集預(yù)測結(jié)果如圖3所示。
圖1 灰狼優(yōu)化隨機森林中的迭代優(yōu)化
圖2 訓(xùn)練集預(yù)測結(jié)果
圖3 測試集預(yù)測結(jié)果
本文采用狼群優(yōu)化算法對模型進行優(yōu)化,并在5組數(shù)據(jù)集上進行測試。將其訓(xùn)練結(jié)果傳統(tǒng)隨機森林(RF)、支持向量機(SVM)進行對比,結(jié)果如表1所示。表1中記錄了所有算法對5個數(shù)據(jù)集的平均分類正確率。
表1 不同算法分類性能比較
本文提出了一種基于灰狼優(yōu)化算法的隨機森林模型。在5個驗數(shù)據(jù)集上該模型都取得了良好的表現(xiàn)。通過對比不同算法對分類性能的影響,選擇出最優(yōu)的算法。經(jīng)過與傳統(tǒng)隨機森林算法和SVM的分類結(jié)果的對照,本文提出的基于灰狼優(yōu)化的隨機森林模型分類正確率均比傳統(tǒng)隨機森林算法和SVM高。