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

圖1 灰狼優化隨機森林中的迭代優化

圖2 訓練集預測結果

圖3 測試集預測結果
本文采用狼群優化算法對模型進行優化,并在5組數據集上進行測試。將其訓練結果傳統隨機森林(RF)、支持向量機(SVM)進行對比,結果如表1所示。表1中記錄了所有算法對5個數據集的平均分類正確率。

表1 不同算法分類性能比較
本文提出了一種基于灰狼優化算法的隨機森林模型。在5個驗數據集上該模型都取得了良好的表現。通過對比不同算法對分類性能的影響,選擇出最優的算法。經過與傳統隨機森林算法和SVM的分類結果的對照,本文提出的基于灰狼優化的隨機森林模型分類正確率均比傳統隨機森林算法和SVM高。