夏麗莎,劉 兵
(1.上海理工大學 管理學院,上海200093;2.武漢科技大學 信息工程學院,湖北 武漢430081)
隨著互聯網等新一代信息技術在各領域的融合創新,大數據成為行業智能化的關鍵內容,對相應技術及應用具有重要推動作用。在故障診斷領域,這些實時產生的大數據能提供有力依據,但同時往往伴隨維數災難,導致計算復雜度高、存儲量大和算法性能衰減等問題產生,成為影響效果的絆腳石,需要借助一系列特征提取方法進行數據降維預處理,將高維空間數據投影至低維子空間,從而降低數據冗余度,提升故障診斷效率。
早期的特征提取方法基于線性假設,即假設數據來源于全局線性空間且變量間相互獨立,以主成分分析、獨立元分析、多維尺度方法、線性判別分析為典型代表。其中主成分分析方法以最小化特征信息丟失為目標,適用于呈高斯分布的原始數據;獨立元分析方法以最大化屬性獨立性為目標,可以處理非高斯分布的原始數據;多維尺度方法基于樣本相似度低維可視化,與主成分分析和線性判別分析同屬于無監督特征提取方法;線性判別分析方法以提高分類準確率為目標,適用于處理高斯分布數據,隸屬有監督特征提取方法。
針對現實世界更為普遍存在的呈非線性分布的高維數據,通過線性特征提取算法難以尋找到完整的非線性特征信息,因此一系列非線性特征提取算法涌現,主要可分為基于核方法和基于流形學習方法。核方法的主要思想是將原始空間線性不可分數據通過核函數投影到更高維的核空間,在足夠高的維度中找到線性可分的超平面,由此使得數據線性可分,在此基礎上進行進一步線性特征提取[1]。核主成分分析[2]與核判別分析[3]是典型基于核方法的非線性特征提取算法。核函數的普適性以及高維計算是其主要局限所在。隨著對高維非線性結構的研究深入,發現高維數據普遍具有低維內在幾何嵌入結構,若找到嵌入在高維空間中的低維流形,可實現維數約簡或數據可視化。此類特征提取方法統稱流形學習(Manifold Learning)[4],能夠充分保留原始數據間近鄰關系等幾何結構,計算效率高,并可獲得全局最優解。自Science于2000年首次提出等距映射(Isometric Feature Mapping,ISOMAP)[5]與局部線性嵌入(Locally Linear Embedding,LLE)[6]方法起,流形學習已成為近年來的研究熱點,以拉普拉斯特征映射(Laplacian Eigenmap,LE)[7]、局部保持映射(Locality Preserving Projections,LPP)[8]、判別局部保持映射(Discriminant Locality Preserving Projections,DLPP)[9]和t分布隨機鄰域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)[10]為代表的一系列基于流形學習的非線性特征提取技術及其改進方法相繼產生,并在圖像處理、人體行為識別、人臉識別、故障檢測等數據非線性特性顯著的多個領域得到廣泛應用[11-16]。
表1 對上述主要特征提取方法進行分類總結。不難發現,除LDA方法、由LDA擴展至核方法的KDA方法以及由LPP擴展的DLPP方法外,其他特征提取方法均基于無監督學習。盡管無監督降維過程無需花費昂貴的代價獲取類別標注,數據來源豐富,易獲得性強,但由于缺少樣本標簽的指導,其所缺失的投影方向向量可能恰是區分不同類別數據對象的重要投影方向向量,當作為分類的預處理過程時,此類無監督方法的樣本區分度有限,使得后續分類性能總體上弱于基于有監督方法進行數據預處理[17]。反之,若能有效利用數據類別標記信息約束指導降維過程,同時保持并增強數據對象之間的鄰近關系,使得類間分散而類內緊湊,將提升降維效果,增強分類有效性。

表1 特征提取方法分類
綜合大數據維數高、非線性強、噪聲敏感、故障特征信息冗余多、歷史數據的類別標記信息可獲取等特點,本文對適用于非線性數據的t-SNE流形學習方法進行改進。針對t-SNE為無監督學習算法,沒有充分利用數據樣本中的類別信息,且學習過程中使用等權重歐氏距離,本文提出一種基于加權判別隨機鄰域嵌入(Weighted Discriminative Stochastic Neighbor Embedding,WDSNE)的故障特征提取算法,通過在原始高維空間和相應的低維子空間定義包含類別信息的數據相似度,使用受空間維數影響較小的Manhattan距離作為度量方式,生成比歐氏距離更大的相對距離差,基于距離遠近關系進行加權處理,由此既能夠充分利用類別標記約束指導降維,又能夠保持并增強數據對象之間的鄰近關系,擴大異類數據對象之間的區分度,從而提升故障特征提取效果,增強故障診斷有效性。
SNE方法的核心思想是盡可能保持由概率形式表達的樣本相似度進行降維,使得降維前后數據的內部結構得以保持,其歸屬于流形學習方法。采用X(x1,x2,…,xN)∈Rn描述原始高維數據樣本,Y(y1,y2,…,yN)∈Rd(d<<n)描 述 其 在 對應 的 低 維子空間所構建的樣本,SNE算法通過定義上述兩個空間概率分布的Kullback-Leibler目標散度并使其最小化,從而實現降維效果。其方法步驟主要如下:
(1)定義條件概率pj/i,即xj有可能成為xi近鄰的幾率,用于描述xi與xj的鄰近關系:

其中λi為以數據點xi為中心的高斯方差,||xi-xj||為xi與xj的歐式距離。
(2)在低維子空間中采用類似概率表達,得到對應低維子空間數據點yi與yj之間的相似度qj/i:

(3)通過梯度下降法求解SNE的匹配代價函數,即計算原始高維空間和對應低維子空間概率分布的Kullback-Leibler散度最小值,使得條件概率pj/i與qj/i之間的差異最小化:

從而獲得低維子空間對應樣本Y(y1,y2,…,yN)。
t-SNE方法是對SNE方法的擴展,其改進的核心思想在于:
(1)對條件概率pj/i求和并進行歸一化,構造具有對稱性的聯合概率pij,取代條件概率pj/i表示高維空間數據相似度:

(2)在低維子空間中引入t分布,構造具有對稱性的聯合概率qij,取代條件概率qj/i描述對應樣本yi和yj之間的相似度:

由于t分布為典型的重尾分布,因此引入t分布能夠擴大降維后的數據點間距,從一定程度上緩解SNE方法的“擁擠問題”[15]。
與t-SNE舍棄數據樣本中的類別信息、學習過程中使用等權重歐氏距離不同,WDSNE算法定義了包含類別信息的數據相似度,且以加權Manhattan距離作為度量方式,從而在實現數據降維的同時增大異類數據對象間區分度,提升故障診斷的有效性。
WDSNE算法具體步驟如下:
(1)給定帶有類別標簽的原始高維數據樣本矩陣X(x1,x2,…,xN)∈Rn,樣本總類別數為C,將其進行歸一化處理:

(2)定義高維空間數據樣本點xi與xj的Manhattan距離dij作為度量方式,從而生成比SNE與t-SNE方法所使用的歐氏距離更大的相對距離差:

(3)基于dij數據分布離散形式進行加權處理。使用k均值聚類算法對dij進行層次聚類,其中k=3,按照dij距離數值大小,依次將所有高維空間數據樣本點距離分別命名為近距離、中等距離和遠距離,然后對三類距離分別賦予不同權重系數,并進行加權:

其 中L1和L2為 三 類 距 離 臨 界 閾 值,w1、w2與w3為三類距離的權重系數,且有w1<1,w2=1,w1>1。
(4)引入類別標簽,定義原始高維空間中具有對稱性的聯合概率pij,表示xj有可能成為xi近鄰的幾率,用于描述原始高維空間樣本xi和xj之間的相似度:

其中λi為以數據點xi為中心的高斯方差,ci為數據點xi的類別標簽。
(5)引入類別標簽與t分布,定義低維子空間中具有對稱性的聯合概率qij,用于描述相對應的低維子空間樣本yi和yj之間的相似度:

(6)計算上述原始高維空間概率分布pij及其對應低維子空間概率分布qij之間的Kullback-Leibler散度,作為WDSNE算法的匹配代價函數:


其中對角矩陣Din中的對角元素由 矩 陣Uin的 每列之和組成,對角矩陣Dout中的對角元素由矩陣Uout的每列之和組成,即
(8)使用共軛梯度法迭代求解WDSNE算法的目標代價函數C(Y),得到Y的更新迭代公式:

其中Yt為第t次迭代的最優解,αt-1和St-1分別為共軛梯度中的第t-1次迭代步長和第t-1次迭代方向,相應計算公式為:

(9)輸出低維子空間對應樣本,獲得最終降維結果。
上述WDSNE算法流程總結如圖1所示。

圖1 WDSNE算法流程圖
為驗證上述WDSNE算法的有效性,將其應用于UCI仿真數據集與KDD99網絡故障診斷數據集。基于本文提出的WDSNE算法,對比DSNE算法、t-SNE算法、Mwt-SNE算法和PCA算法分別進行特征提取與降維,然后使用KNN算法構建分類器,從而獲得不同維數下的分類準確率。
采用UCI數據庫中的iris、glass和wine數據集進行實驗,設定訓練集與測試集數據樣本比例為2:1,得到訓練集與測試集樣本數、維數、類別數情況如表2所示。

表2 實驗1數據集
基于上述特征提取與降維算法并結合KNN分類器,得到iris數據集降至二維和三維時的分類準確率(如表3所示)和glass數據集、wine數據集分別降至不同維數時的分類準確率(如圖2、圖3所示)。
由表3、圖2與圖3可以看出,基于本文提出的WDSNE算法進行特征提取和降維后得到的KNN分類器準確率,在不同維度上均優于改進前的Mwt-SNE算 法、DSNE算 法、t-SNE算 法 和 常 用 的PCA算法。其中iris數據集基于WDSNE算法降至二維與三維時分類準確率最高,達到94%,也具備可視化效果;glass數據集基于WDSNE算法降至五維時分類準 確 率為74.64%, 達到最高;wine數據集基于WDSNE算法降至四維時分類準確率為88.14%,達到最高。上述實驗結果均說明本文提出的WDSNE算法具有有效性。

表3 iris數據集分類準確率

圖2 glass數據集分類準確率

圖3 wine數據集分類準確率
本實驗數據源于美國MIT林肯實驗室入侵檢測評估項目,經過特征分析和數據預處理整理成UCI網絡故障診斷與安全領域經典數據集KDD99。該數據集包含正常網絡狀態(NOR)和四大類異常(attack)狀態的網絡故障:拒絕服務攻擊(DoS)、來自遠程主機的未授權訪問(R2L)、未授權的本地超級用戶特權訪問(U2R)、端口監視與掃描(PROBE)。從KDD99數據集中抽取4 500條記錄形成數據子集,并設定訓練集與測試集數據樣本比例為2:1。將符號型特征數值化,加入50 dB隨機噪聲,然后進行歸一化處理,得到訓練集與測試集樣本數、維數、類別數總體情況如表4所示,各類別訓練集樣本數、測試集樣本數和整體占比率如表5所示。

表4 KDD99網絡故障數據子集

表5 各類別訓練集樣本數、測試集樣本數、整體占比率
對訓練集樣本數據進行歸一化處理,求得樣本間Manhattan距離,使用k均值聚類算法對距離進行聚類,得到三類距離類別臨界閾值。設定WDSNE算法三類距離的初始權重系數為w=[w1,w2,w3]=[0.5,1,5],在w1=[0.1:0.1:1],w2=[0.9:0.05:1.1],w3=[1:1:10]范圍內對三類距離的權重進行網格尋優,得到最優權重系數為w*=[0.9,1,7]。基于WDSNE算法進行特征提取與降維,使用KNN分類器進行網絡故障診斷,得到正常網絡狀態和四大類異常狀態的網絡故障診斷的分類結果混淆矩陣,如表6所示。對比Mwt-SNE算 法、DSNE算 法、t-SNE算 法 和PCA算法,得到不同方法下的診斷誤差對比如表7所示。
由表6的網絡故障診斷實驗結果混淆矩陣可見,WDSNE算法實現了故障診斷實驗漏報率為0、誤報率為0、故障檢測錯誤率為0、故障類別辨識錯誤率為2.631 6%、診斷錯誤率為2.066 7%的有效診斷效果。其中31個錯分樣本的實際故障類別均為R2L(來自遠程主機的未授權訪問,樣本數為133),預測類別均為故障PROBE(端口監視與掃描),說明R2L類型網絡故障為其中主要故障類別辨識錯誤來源。分析原因,由于故障類別樣本分布不均衡,占少數類的R2L和PROBE故障類別易缺乏樣本代表性,從而造成辨識錯誤。因此需特別重視并與PROBE類別網絡故障進行進一步區分,從而降低故障類別辨識錯誤率,降低故障診斷錯誤率。

表6 基于WDSNE算法的網絡故障診斷實驗混淆矩陣
對比其他算法,根據表7結果可見SNE系列方法優于PCA方法,結合類別信息的有監督DSNE系列方法優于無監督t-SNE方法,而基于空間距離加權后的WDSNE算法表現最優。從故障檢測角度分析,PCA方法故障漏報數為11,誤報數為8,因此在漏報率和誤報率兩個指標上PCA方法顯然弱于SNE系列方法,特別是WDSNE算法,其漏報數和誤報數均為0,說明若僅以故障檢測為目的,則WDSNE算法的檢測精度能夠達到100%的效果,優勢最為顯著。此外,故障類別辨識錯誤是上述算法在本實驗中主要錯誤來源。從故障類型辨識角度比較可見,PCA方法的辨識錯誤率最高,DSNE和t-SNE方法的辨識錯誤率接近,均略高于Mwt-SNE方法,WDSNE方法的辨識錯誤率最低,說明WDSNE方法的改進效果明顯。

表7 不同特征提取算法的診斷誤差對比
本文提出一種改進的有監督加權判別隨機鄰域嵌入方法,通過定義包含類別信息的數據相似度及距離相似度加權,有效擴大異類數據對象之間的區分度,從而提升降維效果并增強特征提取有效性,具備一定的數據可視化效果。在網絡故障診斷系統中,由于不同類別故障樣本分布不均衡等原因,故障類別辨識錯誤成為故障診斷誤差的主要來源。因此如何在故障類別樣本分布不均衡前提下進行有效的故障診斷,有待進一步的深入研究。