任志偉,王玉德,陳 婷
(曲阜師范大學,山東 曲阜 273165)
機器學習作為一個重要的分支在很多領域,如醫療、環境、地理等領域,得到了快速的發展[1-3]。為了利用諸如支持向量機(Support Vector Machine,SVM)的單分類器實現樣本的分類,孔德峰通過訓練多種常規單分類器模型對乳腺癌腫瘤進行分類研究,得出的K 最鄰近分類算法(K-NearestNeighbor,KNN)模型具有較好的分類效果[4]。劉蕾通過采用一種logistic 方程歸一化后的線性回歸分類方法,得出的基于兩個特征的邏輯回歸模型具有較好的性能[5]。為了利用多個單分類器組合的方式進一步提升分類性能,張曉等人利用SVM、反向傳遞(Back Propagation,BP)神經網絡和AdaBoost 算法的加權投票的方式來彌補單分類器性能不足的問題,實現了更高的目標識別準確度[6]。李曉麗等人通過融合SVM、徑向基函數(Radial Basis Function,RBF)神經網絡和貝葉斯網絡,實現更好的科普知識文本分類效果[7]。但是目前大多數單分類器融合方法不能很好地解決不同數據集下單個分類器最優性能的問題,使得算法的魯棒性較差。
鑒于上述問題,本文提出了基于深度隨機森林的新型組合分類算法,訓練建立不同深度隨機森林組合的模型,以實現在不同數據集下均有較好性能的分類算法。
決策樹是基于樹結構進行決策的,可以將其認為是if-then 規則的集合。一顆決策樹包含一個根節點、若干內部節點和若干葉節點。內部節點作為劃分節點,葉節點對應決策結果。用決策樹進行分類,是從根節點開始,利用劃分準則將實例分配到其子節點,若該節點仍為劃分節點,則繼續進行判斷與分配,直至將全部樣本分到葉節點的類中,這一訓練過程中只涉及少量的參數調整[8]。常用的決策樹劃分準則有第三代迭代二叉樹(Iterative Dichotomiser 3,ID3)、ID3的改進算法(C4.5)和分類回歸樹(Classification and Regression Tree,CART)等算法[9]?;贑ART 算法的決策樹生成的二叉樹是以基尼指數(Gini's diversity index)作為劃分準則?;嶂笖荡砹颂卣鲾祿募兌惹闆r與信息增益(ID3)或信息增益比(C4.5)相反,基尼指數越小代表特征數據的純度越高,把基尼指數最小的一個特征作為當前節點的劃分特征[10-12]。基尼指數的計算公式為:

式中:D為樣本總數;K為類別數;Ck為樣本中屬于K類的個數。
基于特征A劃分后的基尼指數計算公式為:

式中:D1,D2為樣本D根據特征A所劃分的兩個部分。
隨機森林是Breiman 在2001 年提出的一種組合分割算法,其本質是包含了若干個隨機決策樹,將每一個隨機決策樹的結果組合起來決定待分類樣本的歸屬類別[13]。當輸入待測樣本之后,隨機森林會根據每個隨機決策樹的輸出結果進行統計,將最多劃分的類別作為該輸入樣本最終確定的劃分類別。隨機森林較其它分類器具有很好的泛化能力并且不需要復雜的參數,在小樣本背景下具有很好的性能[14]。同時隨機森林在較高準確度的前提下具有很好的可解釋性,能更好地避免過擬合且具有很強的魯棒性[15-16]。
隨機森林具有樣本隨機和特征隨機的特點。假設有N個樣本,隨機有放回的從這N個樣本中選取n個樣本作為訓練集(這種方法稱為bootstrap sample),即樣本隨機,同時從樣本特征(假設有M個特征)中隨機選取k個屬性(k<M),從這k個特征中選取最佳分割屬性作為節點建立隨機決策樹,即特征隨機[17-19]。重復以上兩個隨機步驟m次就可以得到m顆獨立的隨機決策樹,這樣就建立了深度為m的隨機森林,然后依據每棵樹的投票情況來確定樣本所屬類別。
分類器性能評價指標主要有:混淆矩陣(confusion matrix),準確度(accuracy),靈敏度(sensitivity),特異性(specificity)。
混淆矩陣(confusion matrix)用來記錄一個分類器所有的分類情況,這里以二分類說明,如表1所示。

表1 二分類混淆矩陣
實驗二分類的混淆矩陣,TP(True Positive)代表真陽性,NTP即實際為正樣本預測為正樣本的個數;FP(False Positive)代表假陽性,NFP即實際為負樣本預測為正樣本的個數;FN(False Negative)代表假陰性,NFN即實際為正樣本預測為負樣本的個數;TN(True Negative)代表真陰性,NTN即實際為負樣本預測為負樣本的個數。
準確度(Accuracy)是對分類器的整體分類預測能力的評價,計算方式為:

準確度越高代表分類器的分類預測能力越好,正確分類的數量占整個樣本數量的比例也就越高。
靈敏度(sensitivity)代表了模型對正樣本預測的準確度,指標均越高越好。特異性(specificity)代表了模型對負樣本的預測精度,指標均越高越好,如式(4)、式(5)所示。

式中:Se代表靈敏度;Sp代表特異性。
組合分類算法的實現主要有以下幾個步驟:
(1)樣本數據的預處理,數據歸一化;
(2)設定隨機森林模型的深度范圍從50 到400,間隔為5,重復訓練5 次并綜合每個深度模型的結果;
(3)根據步驟(2)的訓練和綜合結果,組合前5 個平均準確度最高(最優)的隨機森林模型的綜合結果,通過投票確定最終的分類器結果;
(4)對模型進行十折交叉檢驗,評價最優組合模型的分類效果;
(5)與常規的分類算法進行實驗對比,檢驗論文提出算法的有效性。
算法流程如圖1 所示。

圖1 算法實現過程
實驗使用的平臺為Matlab2016b,實驗數據為威斯康辛州(診斷)乳腺癌數據集、無線定位數據集和汽車評估數據集。該乳腺癌數據集共有683 個樣本,本文抽取其中100 個數據用于最終的模型驗證),如表2 所示。每個樣本具有9 個特征?!?1”代表良性,實驗中將“-1”類定義為正類;“1”代表惡性,實驗中將“1”類定義為負類。該樣本中良性與惡性所占比例如圖2 所示。

表2 乳腺癌數據集特征與取值范圍

圖2 乳腺癌數據集訓練樣本的占比
無線定位數據集中包含了2 000 個樣本,本文抽取其中400 個樣本用于最終的模型驗證,每個樣本包含7 個特征,表示用戶端分別與7 個不同WiFi發射端之間的信號強度大小,分類結果為用戶端所在樓層的ID,如表3 所示。該樣本中類別所占比例如圖3 所示。

圖3 無線定位數據集訓練樣本的占比

表3 無線定位數據集特征與取值范圍
汽車評估數據集包含1 728 個樣本,本文抽取其中500 個用于最終的模型驗證,每個樣本具有6個特征。分類結果為“unacc”和“acc”如表4 所示。該樣本中類別所占比例如圖4 所示。

表4 汽車評估數據集特征與取值范圍

圖4 汽車評估數據集訓練樣本的占比
對數據集進行標準化處理,將每個樣本的特征值映射到[0,1]之間,從而去除單位限制,將原數據轉為無量綱的純數值,計算方式為:

式中:Xmin為序列的最小值;Xmax為序列的最大值。
在乳腺癌數據集上進行實驗。實驗中,模型深度范圍50~400,間隔為5,訓練得到不同隨機森林模型71 個。通過十折交叉檢驗獲取這71 個模型在訓練樣本上的準確度,然后重復5 次并計算每個模型的平均準確度,同時將這5 次的結果進行投票生成這71 個單隨機森林模型的綜合結果。由于當平均準確度接近時,組合更多的模型并不能提高最終組合算法的準確度,同時考慮到參與投票的單模型的個數應為奇數,因此本實驗選取平均準確度最高的前5 個單模型參與組合。根據平均準確度最高的前5 個單隨機森林模型的綜合結果,再次進行投票確定最終的分類結果。如圖5 所示,平均準確度最高的前5 個隨機森林模型的深度分別為295、325、360、365 和380。

圖5 不同深度的隨機森林模型準確度
將這5 個不同深度的隨機森林模型單獨進行全部樣本的預測,然后統計這5 個隨機森林模型對每一個樣本的預測情況,預測結果達到半數以上則為組合模型對樣本的最終預測結果,即組合模型對樣本x的預測結果運用投票規則C(x)可以表示為:

式中:y-1為正類;y1為負類;i為對正類的投票數。
實驗中KNN 表示最近鄰算法模型;以SVM 表示支持向量機模型;以TREE 表示決策樹模型;以FOREST 表示最高性能的單隨機森林模型;以C-FOREST 表示本文提出的算法模型。
分析圖6、圖7、圖8、圖9、圖10,得出各分類器的靈敏度(sensitivity)、特異性(specificity)和準確度(accuracy),如表5 所示。

圖6 KNN 混淆矩陣

圖7 SVM 混淆矩陣

圖8 TREE 混淆矩陣

圖9 FOREST 混淆矩陣

圖10 C-FOREST 算法混淆矩陣

表5 各模型交叉檢驗的靈敏度、特異性和準確度 %
從表5 可以得出組合隨機森林模型較其他分類器模型的靈敏度最大提高了3.8%,特異性最大提高了2.9%,準確度最大提高了3.4%。論文提出的深度組合隨機森林算法的分類識別效果好。
為進一步驗證本文提出算法的可靠性,將訓練好的全部分類器對100 個驗證病例樣本進行預測。該病例樣本的組成如圖11 所示,各分類器對新樣本預測結果的評價指標如表6 所示。

表6 各模型測試的靈敏度、特異性和準確度 %

圖11 新病例樣本的占比
從表6 可以得出組合隨機森林模型對新病例樣本的預測準確度較其他分類器模型更高,同時具有最優的靈敏度和特異性。
為了進一步驗證本文算法的魯棒性,將該算法應用于無線定位數據集(Wireless Localization Data Set)和汽車評估數據集(Car Evaluation Data Set)中,實驗過程同乳腺癌數據集一致。將模型在訓練數據集中進行訓練后在驗證樣本中進行驗證,得出的結果如表7、表8 所示。由于無線定位數據集涉及4個類別,而靈敏度和特異性表示的正類和負類的分類情況,同時準確度依然作為分類器最重要的性能指標,因此在表7 中只展示了準確度。

表7 在無線定位數據集上的驗證結果 %

表8 在汽車評估數據集上的驗證結果 %
從表7 中可以看出組合模型較其他分類器模型的準確度最大提高了3.7%。從表8 中可以看出組合模型較其他分類器模型的靈敏度最大提高了6.6%,特異性最大提高了14.6%,準確度最大提高了9.0%。論文提出的深度組合隨機森林算法的分類識別效果最好,分類準確度達到97.6%。
本文針對當前基于單分類器的組合方式不靈活且魯棒性差的問題,提出了基于深度隨機森林的新型組合分類算法。該組合算法結合了隨機森林的深度靈活性優點,能夠基于不同的數據集找到最優的組合方式,并通過投票方式完成樣本類別的預測。在威斯康辛州(診斷)乳腺癌數據集、無線定位數據集和汽車評估數據集上進行驗證,實驗結果在靈敏度、特異性和準確度這三個方面表明了本文算法不僅有較好的分類效果,還具有較強的魯棒性。