王萌鐸,續(xù)欣瑩,閻高偉,史麗娟,郭 磊
(太原理工大學電氣與動力工程學院,太原 030024)
在故障診斷、金融詐騙[1-3]等分類任務中,數據分布通常是不平衡的,類別分布極端時就會形成不平衡數據集。由于少數類別的數據數量相對較少,對準確率的影響也相對較?。?]。在處理不平衡數據集時,目標識別模型受數據自身分布制約學習到的多數類類別特征更多且忽視了少數類別。數據類別分布不平衡現象制約了模型對少數類別目標的識別性能[5-6]。
針對不平衡數據,ZHANG 等[7]提出一種使用新保角函數擴展最優(yōu)間隔分布機(Optimal-margin Distribution Machine,ODM)核矩陣以提高特征空間可分性的不平衡分類方法(Kernel Modified ODM,KMODM)。ZHU 等[8]提出一種類權重隨機森林(Class Weights Random Forest,CWsRF)算法,用于處理醫(yī)學數據的不平衡分類。SUN 等[9]提出一種加權過采樣的深度自編碼器(Weighted Minority Oversampling Deep Auto-encoder,WMODA),用于檢測實際旋轉機械過程中的故障。KHAN 等[10]提出一種代價敏感深度神經網絡(Cost-Sensitive Deep Neural Network,CS-DNN),用于自動學習多數和少數類的魯棒特征表示。
由于類別分布不平衡數據會制約模型分類性能,因此為提升模型的不平衡處理能力,采用組合模型的方式增強算法對少數類別數據的特征提取能力。AdaBoost 作為一種高效集成學習方法,是提升分類模型不平衡數據分類能力的重要手段之一[11-12],通過調整樣本權重和弱分類器權值,將弱分類器組集成為一個強分類器。
寬度學習系統(Broad Learning System,BLS)結構簡單且分類精度較高[13]。BLS 系統模型結構為數據提取稀疏特征后輸入隨機向量函數鏈接神經網絡(Random Vector Functional Link Neural Network,RVFLNN)的單層可橫向擴展網絡[14]。BLS 模型相比深度網絡模型[10]訓練時間短、易于訓練與再訓練[15]。大量實驗結果表明,標準的BLS 容易受數據集自身分布的影響,改進的BLS 模型相繼被提出。XU 等[16]提出一種用于預測多元時間序列的R-BLS(Recurrent BLS)模型。CHU 等[17]采用加權方式提升了BLS 模型對有噪聲和異常值工業(yè)非線性數據的預測能力。BLS-CCA 與CNN 的級聯模型[18]提升了系統對多模態(tài)數據的分類能力。徐鵬飛等[19-20]基于加權極限學習機(Weighted Extreme Learning Machine,WELM),提出一種有效的DDbCs-BLS 模型處理不平衡數據,該模型的本質是在訓練樣本上增加一個額外的權重,以得到更好的分類邊界線位置,以改善BLS 性能。
為進一步提升BLS 的不平衡數據處理能力,本文提出一種可實現權重動態(tài)更新的集成加權寬度學習系統(Weighted Broad Learning System,WBLS),在KKT 條件下,分析比較BLS 與WBLS 的優(yōu)化過程,在誤差項上添加對角矩陣權重,降低訓練誤差,提升分類性能。將WBLS 集成到AdaBoost 模型中,通過基分類器WBLS 數據權重的訓練實現WBLS 權重的動態(tài)更新,獲得更符合數據分布特征的權重,并將所有基分類器加權集成為一個具備不平衡數據識別能力的新模型AdaBoost-WBLS。
本節(jié)將簡要介紹標準BLS 結構。與深度學習模型不同,BLS 是特征橫向排布模型,本質是將數據提取稀疏特征后輸入隨機向量函數鏈接神經網絡。
當輸入數據為X∈Ru×ν的矩陣形式時,可表示為X=[x1,x2,…,xu]T。BLS 通過稀疏特征映射得到映射特征層Zm,可表示如下:
其中:Wk、βk是隨機生成的權重和偏差;φ是非線性激活函數;N1是特征層節(jié)點數;N2是特征層數。
映射提取到的特征可作為RVFLNN 層的輸入,再經特征選擇后得到N3維的增強特征層Zel,可表示如下:
映射特征層與增強特征層橫向擴展為平層寬度特征A,如式(3)所示。通過鏈接權重W分配不同大小的權值進行輸出,如式(4)所示。最終模型的目標輸出為Y=[y1,y2,…,yu]T。
BLS 的鏈接權重W是通過嶺回歸的優(yōu)化方式快速求得。嶺回歸是一種快速求解偽逆的方法,本文中其對應的目標函數和計算公式分別如式(5)和式(6)所示:
在處理實際數據集時,多數據集都存在不同程度的類別不平衡現象。文獻[3,14]提供了為淺層網絡添加敏感損失權重的方法來處理不平衡數據,以實現類間再平衡。與文獻[14]的權重形式不同,權值矩陣可采用對角矩陣形式,將權重添加到數據所對應特征上,采用這種權重形式使模型可以與AdaBoost 結合。
式(5)與極限學習機(Extreme Learning Machine,ELM)[14]等單層網絡最小化訓練誤差、最大化類間距離的過程相似。與LS-SVM 的優(yōu)化方式相似,本節(jié)基于KKT 條件[15],對BLS 與WBLS 約束條件下的凸函數進行優(yōu)化。通過比較推導結果,分析所添加對角權重Wp在BLS 模型中的作用。
BLS 在輸入數據X∈Ru×ν中提取到的寬度特征表示為A,寬度特征對輸出的鏈接權重矩陣表示為W。與WELM[10-11]等模型的優(yōu)化過程類似,BLS 的優(yōu)化過程可表示如下:
式(8)可簡化如下:
其中:Y=[y1,y2,…,yu]T是模型的目標輸出;λ是模型的正則化項參數,抑制模型的過擬合,也是影響模型性能的重要參數;ξ=[ξ1,ξ2,…,ξu]T是模型的預測誤差。
在KKT 條件下,BLS模型的優(yōu)化過程可表示如下:
其中:αi是xi的特征映射對應的Lagrange 乘子。
WBLS 的L2 范數凸優(yōu)化目標可表示如下:
式(14)可簡化如下:
根據KKT 理論,WBLS 優(yōu)化過程可等價表示如下:
對比BLS 與WBLS 在KKT 條件下的優(yōu)化結果的式(13)和式(19)可知,輸入數據添加的權重Wp是在模型的誤差項上,且所加權重與Lagrange 乘子αi成反比。對比式(11)與式(17)可知,在WBLS 中αi又與輸入數據所映射的特征層A共同決定了鏈接權重W。由此可得,權重Wp改變了不同數據特征的比重。
添加的權重有多種形式,文獻[5]采用將敏感損失權重添加到所對應的數據層面。本節(jié)直接采用對角矩陣權重,Wp計算公式如下:
其中,i=1,2,…,u;#(pi)表示第i個數據所屬類別的數據量;AVG(pi)表示平均類別的數據量。
為提升BLS 模型對不平衡數據的識別能力,上文從理論上分析了在BLS 的誤差項上添加權重的作用。為進一步提升模型對于少數類的識別能力,將WBLS 集成到AdaBoost.M1 框架中,以獲得更符合數據分布特征的權重形式。
AdaBoost 是一種高效集成學習方法[21],主要思想是在訓練空間上生成一個分布D,初始分配每個訓練樣本的權值為1/u,其中u為訓練樣本個數。利用迭代訓練基分類器,動態(tài)更新分類器的權重,并根據多數投票規(guī)則將基分類器集成為一個強分類器。本文的基分類器是WBLS,其將T個基分類器迭代訓練,從而集成為一個分類能力更強的分類器AdaBoost-WBLS。
在AdaBoost 原始框架中,訓練樣本的分布權值是通過動態(tài)迭代實現對基分類器的權重更新。在WBLS 處理不平衡數據時,添加權重Wp可抑制少數類樣本的誤差,提升分類器對少數類的識別能力。本文將WBLS 集成到AdaBoost,實現了對權重Wp的動態(tài)更新,可獲得更合理的權重形式。與文獻[5]的加權方式不同,本文權重采用對角矩陣形式Wp=diag(),僅在不同數據對應的特征上添加一維常數的權重。
與傳統Boosting 類模型集成過程不同,當模型輸出數據的類別數為j時,本文對AdaBoost-WBLS的集成過程進行如下改進:
1)在傳統的AdaBoost 模型中,第1 個基分類器的起始數據的權重通常選用1/u,而本文采用特殊起始權重1/(j×Wp)。這種將類別數據引入模型初始化過程的方式,可增加模型的類別信息,提升AdaBoost-WBLS 對少數類樣本的識別效率與識別能力。權重初始化公式如下:
其中:i=1,2,…,u。
2)在傳統Boosting 類模型中,集成學習過程是對所有訓練樣本之間進行歸一化迭代處理,而本文模型采用在類別內部歸一化的方法,以達到提升類間平衡度的目的,即分布權值Dt(xi),i=1,2,…,u對不同類別分別累加,依次更新。更新公式如下:
算法1AdaBoost-WBLS 算法
輸入訓練集P={(x1,y1),(x1,y1),…,(xu,yu)},迭代次數(即BLS 基分類器個數)T
為驗證AdaBoost-WBLS性能,將其分別與Boosting類、BLS 類模型進行消融實驗研究,之后與KMODM[7]、CWsRF[8]、WMODA[9]、CS-DNN[10]這4 種不平衡分類模型進行對比研究。實驗環(huán)境為Windows 10系統,8 GB內存,Intel Core i7 6500 CPU,編程環(huán)境為Matlab 2016b。采用輸出形式,共輸出j個類別,在輸出類別的位置上設置為1,其余位置均設置為-1。
映射特征層節(jié)點數、特征層數、增強節(jié)點層數、正則化參數取值范圍分別為N1=10、N2∈{1,3,…,21}、N3∈{1,10,20,…,500}、λ∈{2-40,2-39,…,20,…,220}。
引入不平衡率(Imbalance Ratio,IR),評價不同的不平衡數據集中數據的分布形式。在二分類中IR的計算公式如下:
其中:#(minority)、#(majority)分別表示數據集中多數類與少數類的樣本數。
在多分類中IR 的計算公式如下:
在對數據進行分類時,準確率是分類任務常用的評價指標,但是在不平衡分類任務中,使用準確率作為評價模型性能的唯一指標,不能準確表征模型對少數類的分類能力。以二分類為例,在一些極端的分布中,少數類與多數類的比例可能達到99∶1,模型即使不具備對少數樣本的分類能力,依然可以得到較高的準確率,但此時的全局準確率不能用于評價其對于少數類的識別能力。因此,本文還選用G-mean 評價指標來評價不平衡數據的分類結果。
在二分類中,將少數類作為正樣本(+1),多數類作為負樣本(-1),則二分類混淆矩陣如表1 所示。
表1 二分類混淆矩陣Table 1 Binary confusion matrix
在表1 中,TTP為正樣本被分類為正確類的統計量,FFP為負樣本被分類為正樣本的統計量,FFN為正樣本被分類為負樣本的統計量,TTN為負樣本被分類為正確類的統計量。
準確率(Accuracy)表示所有樣本的準確識別率,計算公式如下:
召回率(Recall)表示正樣本(少數類)的識別率,計算公式如下:
特異率(Specificity)表示負樣本(多數類)的識別率,計算公式如下:
G-mean 值表示各類別識別率的幾何平均值。在二分類任務中,G-mean 是召回率與特異率的幾何平均值,計算公式如下:
在多分類任務中,分類目標數大于2。此時,G-mean采用一對多(One-Against-All,OAA)的統計方式,分別計算各類別的識別準確率,再求整體G-mean。當有j個類別時,G-mean 計算公式如下:
選取UCI 數據庫中15 個不平衡數據集作為消融實驗與對比實驗對象。數據集具體情況如表2 所示,其中,12 個數據集是二分類數據集,3 個數據集是多分類數據集,不平衡率分布范圍為0.007 6~0.912 8。Abalone 數據集與Yeast 數據集為生物數據集,前者通過物理測量預測鮑魚的年齡,后者可對核蛋白和非核蛋白的核定位信號進行判別分析。New-thyroid 為甲狀腺疾病數據集,Glass、Vehicle 與Satimage 數據集為普通分類數據集。
表2 實驗數據集設置Table 2 Setting of experimental dataset
本文對寬度學習模型中的正則化參數λ進行實驗討論。在相關研究中,參數λ通常采用固定值λ=2-30。因此,通過實驗分析不平衡數據處理時,參數λ變化對實驗結果的影響。
實驗對象為不平衡數據集Glass4,N1、N2和N3分別選取10、20 和500,使參數λ成為唯一變量。實驗參考了大量研究對λ的取值方式,選取取值范圍為λ∈{2-40,2-39,…,20,…,220}。通過實驗對比了BLS、g=1時W1-BLS 和g=0.618 時W2-BLS 的G-mean 結果,如圖1 所示。
圖1 Glass4 數據集上隨λ 變化的G-meanFig.1 G-mean when λ varies on the Glass4 dataset
根據實驗結果可知,在λ從2-40變化到220的過程中,G-mean 值基本呈現先上升后下降的趨勢。當λ逐漸增大時,會達到最優(yōu)的G-mean。當繼續(xù)增大時,模型將會出現過擬合現象,導致G-mean 值迅速降低。根據對比可知,在BLS 內添加形如Wp=diag()的權重,不僅可以提升模型的G-mean 峰值,而且相對提高了模型的穩(wěn)定性。
3.4.1 Boosting 類模型實驗驗證
本文設計一種將WBLS 作為基分類器并在AdaBoost 框架中嵌入WBLS 以提升不平衡數據分類性能的優(yōu)化方法。設置N1、N2、N3、λ分別為10、20、500、220。AdaBoost-WBLS 與DDbCs-BLS 等加權寬度學習模型的最大不同點在于:基于AdaBoost 模型可以實現自動更新訓練樣本所添加的權值。在AdaBoost 中,分布權重是訓練樣本的重要性表征。在訓練過程中,被錯誤分類的樣本通過獲得相比較被正確分類樣本更大的分布權重以提升其重要性。因此,本文采用訓練樣本所添加的分布權值Wp作為AdaBoost-WBLS 中的訓練樣本對應的權值。
在Yeast1vs7 數據集上,對AdaBoost-WBLS 與傳統Boosting 框架的BLS 迭代過程中G-mean 的變化情況進行比較,結果如圖2 所示。由圖2 可知,AdaBoost-WBLS 模型的G-mean 曲線上升更快,獲取最優(yōu)基分類的迭代次數更少,穩(wěn)定性更強,并且峰值更高,表明了學習到的特征更豐富。
圖2 Yeast1vs7 數據 集上AdaBoost-WBLS 與Boosting-BLS 模型的G-meanFig.2 G-mean of AdaBoost-WBLS and Boosting-BLS model on Yeast1vs7 dataset
在5個數據集上對Boosting-WELM、AdaBoost-WELM、Boosting-WBLS、AdaBoost-WBLS這4種Boosting模型進行性能對比,G-mean結果如表3所示,Accuracy結果如表4所示,其中Boosting-WELM 和AdaBoost-WELM 模型的結果引自文獻[3]。BLS參數通過網格搜索設置為最優(yōu)參數,其中,λ為正則化參數,L為網絡節(jié)點數。
比較表3、表4中AdaBoost-WBLS與Boosting-WBLS模型結果可以看出:前者在多數數據集上的G-mean 都相對更高,且具有相對較高的Accuracy;在Yeast3 數據集上G-mean 高0.90 個百分點,Accuracy 基本相等;在Yeast6 數據集上G-mean 高5.17 個百分 點,Accuracy 下降了0.98 個百分點;在Abalone19 數據集上G-mean高1.75 個百分點,Accuracy 卻下降了3.25 個百分點,這說明AdaBoost-WBLS 模型更關注少數類,而Boosting-WBLS 模型更關注多數類的總體準確率。比較表3、表4 中AdaBoost-WBLS、Boosting-WELM與AdaBoost-WELM 模型結果可以得出,在經過網格搜索得出最佳參數后,BLS 模型具有更高的Gmean 與Accuracy。
表3 Boosting 類相關模型消融實驗的G-meanTable 3 G-mean of Boosting-related model ablation experiments
表4 Boosting 類相關模型消融實驗的AccuracyTable 4 Accuracy of Boosting-related model ablation experiments
3.4.2 BLS 類模型實驗驗證
在6 個二分類數據集上比較了AdaBoost-WBLS、BLS、DDbCs-BLS 模型的G-mean 與Accuracy,結果如表5、表6 所示。由表5、表6 可以看出:與BLS 模型相比,AdaBoost-WBLS模型的G-mean結果均得到了改善,在Yeast3數據集上AdaBoost-WBLS 模型提升了9.31個百分點,在Vehicle1 數據集上提升了2.38 個百分點;與DDbCs-BLS[19]模型相比,AdaBoost-WBLS 模型的G-mean 在Yeast1 數據集上高出3.67 個百分點,在Vehicle2 數據集上提高了0.8 個百分點。由此可見,本文提出的不平衡數據分類方法在結合Boosting模型后,提升了集成模型的局部泛化能力。
表5 BLS 類相關模型消融實驗的G-meanTable 5 G-mean of Boosting-related model ablation experiments %
表6 BLS 類相關模型消融實驗的AccuracyTable 6 Accuracy of Boosting-related model ablation experiments %
在Vehicle0、Vehicle3、Yeast3 等3 個二分類與New-thyriod、Vehicle、Satimage等3個多分類數據集上對 比AdaBoost-WBLS 與KMODM[7]、CWsRF[8]、WMODA[9]、CS-DNN[10]模型的不平衡數據分類性能。G-mean結果如表7所示。由表7可以看出,AdaBoost-WBLS 的G-mean 明顯高于其他4 種模型,在Vehicle0數據集上比KMODM 模型高出3.74 個百分點,在New-thyriod 數據集上比CWsRF 模型高出3.09 個百分點,在Satimage 數據集上比WMODA 模型高出4.36 個百分點,在Vehicle 數據集上比CS-DNN 模型高出1.15 個百分點。實驗結果驗證了AdaBoost-WBLS 模型通過多個加權BLS 組合成的新分類器可有效處理不平衡數據。
表7 對比實驗的G-meanTable 7 G-mean of contrast experiments %
Accuracy 結果如表8 所示,可以看出相比其他4 種模型,AdaBoost-WBLS 模型的Accuracy 相對較高。在New-thyriod 數據集上比WMODA 模型高出4.65 個百分點,達到100%。可見,AdaBoost-WBLS 模型在提升對少數類識別能力的同時,具有較高的識別精度。
表8 對比實驗的AccuracyTable 8 Accuracy of contrast experiments %
本文研究旨在通過集成AdaBoost 與WBLS 提升BLS 的不平衡數據集處理能力。基于KKT 條件推導驗證了WBLS 的有效性。將加權寬度學習的數據特征與AdaBoost 中分類器的權重結合,在算法層面進行AdaBoost 與BLS 的融合。在AdaBoost-WBLS 集成初始化時,WBLS 采用基于類別信息的權重,使基分類器具有先驗類別信息并且模型更快收斂。在迭代訓練過程中,對WBLS 基分類器數據權重的更新方式進行調整。對不同類別數據對應的權重采用不同的正則化準則,使權值具有更高的類間區(qū)分度,同時顯著提升模型的訓練效率。實驗結果表明,AdaBoost-WBLS 模型相比同類模型在二分類與多分類數據集上G-mean 均有顯著提升,準確率較高,且具有較好的不平衡數據的處理能力。下一步將使用集成BLS 的AdaBoost 模型,解決多模態(tài)數據分類等問題。