韓敏 李宇 韓冰
數據降維方法在眾多領域應用廣泛,其劃分依據也不盡相同,按照數據結構特征保持與否的準則進行劃分,則可根據數據的全局結構保持和局部結構保持分成兩類[1],前者反映了數據的外部形狀,后者反映了數據的內在屬性,可以尋找出高維觀測數據中所隱藏的低維流形結構.其中,主成分分析(Principal component analysis,PCA)[2]、獨立元分析[3]和人工神經網絡[4]等方法均為數據全局特征結構保持的代表方法,核主成分分析(Kernel principal component analysis,KPCA)[5]通過非線性映射函數將線性不可分的原始樣本數據輸入空間通過投影變換到線性可分的高維特征空間,然后在新的特征空間中利用線性方法完成主成分分析,從而實現數據整體方差最大化,但KPCA方法只能夠提取數據的全局結構信息,若數據中低維局部結構中包含較多特征信息的話,則效果較差.另外,流形學習能夠從高維歷史信息中獲取數據間有效的內部聯系,從而得以保持局部結構特征,具有良好的非線性數據內部屬性的處理能力[6?7],代表性的流行學習[8]方法主要包括等距特征映射算法(Isometric feature mapping,ISOMAP)[9],拉普拉斯特征映射算法(Laplacian eigenmaps,LE)[10],局部線性嵌入算法(Locally linear embedding,LLE)[11],局部保持投影算法(Locality preserving projections,LPP)[12]等,其中,有學者在LPP算法中引入核方法,提出核局部保持投影(Kernel locality preserving projection,KLPP)[13],其在保持局部結構特征的同時實現線性計算,反映出數據的局部結構特征,但本質上KLPP是一種基于局部結構保持的降維方法,它并不能有效提取出數據的全局特征信息[14].
針對以上問題,本研究擬對KPCA與KLPP相結合的降維方法進行探討,提出了本文的解決辦法,并把新提出的算法命名為改進全局與局部結構保持算法(Global and local structure preserving,GLSP),在進行原始數據的投影變換時,既考慮全局結構得以保持,也兼顧保持局部近鄰結構.首先使用局部與全部特征提取方法,解決數據有效降維的問題,使用聚類分析中類內距離與類間距離等作為衡量指標,并使用K近鄰(K-nearest neighbor,KNN)方法進行故障的檢測[15].本文數據使用柴油機仿真故障數據[16]和TE過程公共數據集,用于驗證方法的有效性.
作為非線性特征提取的經典方法,KPCA通過非線性映射將線性不可分的原始數據從低維空間變換到一個線性可分的高維特征空間,運用線性方法進行數據降維與特征提取,其目標是使得數據方差最大化,但數據方差指標主要用來描述數據集的全局結構信息.此外,KLPP是通過建立樣本點之間的近鄰關系來保持數據集的局部結構,本質是保持原始數據局部結構和內部屬性.綜合考慮KPCA 與KLPP兩種投影保持方法的思想,本文提出GLSP,其目標函數可以理解為由全局目標函數和局部目標函數共同組成.
KLPP通過非線性投影映射,在投影空間建立近鄰圖,最大限度地保持了數據集的近鄰結構,其局部結構保持目標函數定義如下[17]:假設數據集X=[x1,x2,···,xn]T∈Rn×m,n為樣本個數,m為數據維數,通過非線性映射Φ將原始數據映射到高維空間中,記為Φ(xi),Jlocal(w)的目標是在特征空間中找到投影向量w,使得投影yi=ΦT(xi)w在高維特征空間保持數據點之間的近鄰關系,可以認為,如果Φ(xi)和Φ(xj)是近鄰,那么yi=ΦT(xi)w和yyj=ΦT(xj)w也是近鄰的.其局部結構保持的目標函數定義為:
式中,sij為權重參數,表示數據點之間的近鄰關系,SS為權重矩陣,D為對角矩陣,Dii=n j=1sij,sij取值一般為:
引入核函數KKKij=KKK(xi,xj)=ΦT(xi)Φ(xj),并存在系數α=[α1,α2,···,αn]對特征空間中的樣本線性表示為w=局部結構保持的目標函數轉化為:
式中,L=D?S為Laplacian 矩陣,L=KLK.
KLPP算法的目的是使數據在高維映射空間中,仍能保持數據之間的近鄰結構,但是算法本身忽略了對數據集的整體結構特征描述.其本質是因為局部目標函數表達式中沒有顯式地考慮樣本點的全局特征,只是利用局部結構來代替全局信息,導致了數據在低維映射中全局特征的扭曲顯示.
PCA算法常用于數據主要成分的分析與維度約簡,其本質是將線性數據變換為各個維度線性無關表示的幾組數據,便于對數據中主要特征分量的提取.KPCA 算法由核映射將數據映射到高維核空間,然后使用PCA方法,與KLPP算法類似,通過非線性映射Φ將原始數據X=[x1,x2,···,xn]T∈Rn×m映射到高維空間,記為Φ(xi),經過投影向量w投影后的映射yi=ΦT(xi)w,在投影方向上保證數據方差最大化,這樣可以充分利用高階統(tǒng)計信息和全局特征結構保持.其全局結構目標函數定義為:
式中,wTw=1.
引入核函數Kij=K(xi,xj)=ΦT(xi)Φ(xj),可看出即使不確定核函數的具體表達形式,但是其轉化為映射后的數據的內積運算,存在系數α=[α1,α2,···,αn]對特征空間中的樣本線性表示為全局結構保持的目標函數轉化為:
式中,αTKKKα=1,C=KK.
因為KPCA是一種面向全局的變換方法,由于其保持了原始數據的大部分方差信息,所以實現了全局結構的特征提取.然而,保持全局結構的目標函數中沒有考慮各類數據點之間的內部聯系,在低維空間里,數據點之間的局部幾何關系與內在屬性可能被忽視,甚至導致重要信息的丟失.
全局結構目標保持函數的思想是在最大程度保持全局信息方差不變的情況下,提取出樣本數據的非線性特征;而局部結構保持目標函數的思想是在投影中保持樣本對之間的遠近親疏關系,在低維空間中最小化近鄰樣本間的距離加權平方和,即盡量避免樣本集的發(fā)散.
結合全局結構保持目標函數和局部結構保持目標函數的意義,構造一種新的結構保持目標函數,使得映射后的特征空間能夠保留全局結構的同時,又可以保持數據間的局部近鄰結構[18?19],構造出如式(6)的最大值選擇問題,由于局部結構保持的目標函數為求取最小值,所以式(6)中引入其相反數:
由于式(6)只從兩個目標函數中選擇其一,是一個典型的多目標求取最值問題,由于未考慮兩個目標函數的綜合效果,通常很難求解到全局最優(yōu)解,因此,將式(6)中兩個目標函數進行求和操作,求和后的目標函數如式(7)所示:
同理,這兩個目標函數很難同時達到最佳效果.考慮到兩個目標函數之間的差異,所以,引入一個權重參數β來平衡上述兩個目標函數,β是一個介于0和1之間的值,其值的大小對于新的目標函數JJJ(α)有很大影響,因為它決定著兩個原始目標函數的重要性問題[20].實際上β可以看作是平衡兩個目標函數的能量變化.β越小越側重于全局特征的提取,β越大越側重于局部特征的提取,β值的選取按照如下準則:
其中,Sglobal和Slocal分別表示Jglobal(w)和JJJlocal(www)的規(guī)模大小,受到參考文獻[18,21]啟發(fā),定義為:
式中,ρ(·)是相關矩陣譜半徑.結果表明,該平衡參數的引入策略能夠很好地平衡全局和局部的行為,GLSP的降維性能也可以得到保證.事實上,權重參數也可以根據不同背景下原始數據的特性,賦予不同定義,而不僅限于本文所提方法,這使得改進的結構保持算法更加靈活.結合式(8)~(10),可得到權重參數β的計算公式如下:
因此,改進的整體目標函數表示為:
式中MMM=βCC?βLL,0≤βC ≤1,0≤βL≤1.
最后將上述目標函數的優(yōu)化問題轉化為求解特征向量問題.確定權重參數β的值之后,結合式(5)中的條件,引入拉格朗日乘子法,求解特征向量:
非線性問題的求解過程中,引入正則化方法,我們用KKK+ηIIIn來代替式(14)中的KKK,其中,η是一個很小的正整數,In是一個n×n的單位向量.
與PCA類似,本文使用累積方差貢獻率準則選取滿足貢獻率達到要求的主成分個數,依據式(15)選取前p個特征值確定主成分個數,本研究中貢獻率選定為85%.
原始數據在降維時,將面臨難以全面提取有用信息的困難,為解決這一問題,本文提供一種結合全局與局部結構保持的數據降維思想,實現方法為:采集原始數據,建立能夠從多角度反映數據信息的高維數據集,并加以驗證;再將數據集輸入所提全局與局部結構保持算法中進行降維處理:將低維特征子集輸入KNN最近鄰分類器,計算KNN的識別率,并將聚類分析中類間距與類內距的比值SSSB/SSSW作為衡量降維效果指標[22].
Fisher 判別分析是模式識別方法中的一種數據降維與分類方法.其通過投影將測試數據映射到不同方向,使得不同類別的測試樣本的投影的類間離散度最大,類內離散度最小[23].類內距SW描述同一類樣本內部分布的緊密程度,而類間距SB用反映不同類別之間的分離程度,定義如下[15,24]:
其中,mi表示特征空間中第i類采樣均值,m表示所有樣本點在特征空間中的均值.顯然,SSSB/SSSW越大說明該方法的分類與聚類效果越好,因此將該指標作為降維效果的綜合衡量指標之一.
KNN是對不同類別的數據信息根據訓練樣本特征進行分類的方法,具有操作直觀、效果穩(wěn)定、時效性強等優(yōu)點,廣泛應用到各類數據分類領域,尤其是故障數據的診斷與分類中.原始數據進行降維操作,其最終目的是實現不同故障類別的準確分類,故KNN方法的識別率越高,其反映出對數據的初始降維方法越好[25?26].
總結局部與全局結構保持算法的流程圖如圖1所示.
圖1 數據降維方法流程Fig.1 The dimension reduction process of data
算法主要流程如下.
步驟1.對于數據集X=[x1,x2,···,xn]T∈Rn×m,構造局部結構保持函數Jlocal(α).
步驟2.構造全局方差最大目標函數JJglobal(α).
步驟3.構造整體目標函數J(α).
步驟4.根據式(14)求解特征值λ1,λ2,···,λn與對應的特征向量A=[α1,α2,···,αn].
步驟5.根據式(15)求解前p個特征值λ1,λ2,···,λp與對應的特征向量A=[α1,α2,···,αp].
步驟6.根據公式T=KTA,獲得樣本集在低維正交特征子空間的投影.
步驟7.通過映射矩陣對訓練及測試樣本進行維數約簡,再將得到的低維特征子集輸入到KNN,并計算低維特征子集的SB,SW及SB/SW指標.
船舶柴油機廣泛應用于實際航運工程中,其安全穩(wěn)定的運行狀態(tài)對整個系統(tǒng)起著至關重要的影響.因此,在船舶柴油機發(fā)生故障時,如果能夠準確將故障信號的有效特征提取并分析,則可提供足夠多有效信息,便于故障的分類和診斷[27?28].
1)模型設計
本文以MAN公司S35ME-B9型柴油機為主要研究對象,利用專業(yè)模擬軟件AVL Boost完成柴油機故障模型仿真模擬系統(tǒng),圖2為柴油機仿真模型.
圖2中,SB1、SB2、SB3為系統(tǒng)邊界,外界氣體通過SB1進入系統(tǒng),系統(tǒng)工質通過SB3排出系統(tǒng),MP1~MP8為測點,MP1和MP2測量中冷器前后的氣體壓力、溫度,MP3和MP4 測量氣體進入和流出進氣管PL1的氣體壓力、溫度,MP5和MP6測量進入和流出1號缸的氣體壓力、溫度,MP7 和MP8測量廢氣進入和流出渦輪增壓的氣體壓力、溫度,C1~C6為氣缸,1~29為管道連接,PL1為進氣管,CO1為中冷器,TC1為渦輪增壓器.
本文對正常工況以及三種常見的船舶柴油機故障進行仿真模擬,包括空冷器冷卻不足,排氣口堵塞以及渦輪增壓器效率降低,如表1所示,由于本文采用的數值仿真模型,因此采用設置關鍵參數的方式對故障進行模擬.在每種工況下,記錄模型中8個測量點的15個狀態(tài)參數作為原始數據,分別為功率(kW),最大爆發(fā)壓力(100 kPa),壓力機流量(kg/c),壓力機出口溫度(?C),壓力機出口壓力(100 kPa),中冷器后溫度(?C),中冷器溫差(?C),中冷器后壓力(100 kPa),中冷器壓差(100 kPa),掃氣溫度(?C),掃氣壓力(100 kPa),排氣管溫度(?C),排氣管壓力(100 kPa),廢氣進渦輪機溫度(?C),渦輪增壓出口溫度(?C).
表1 正常工況與故障工況模擬Table 1 The simulation of normal and fault conditions
將故障數據集經本文所提降維方法進行處理,選取KPCA、KLPP、核Fisher判別分析(Kernel fsher discriminant analysis,KFDA)[29]、局部和全局主成分分析(Local and global principal component analysis,LGPCA)[30]、全局–局部結構張量分析(Tensor global-local structure analysis,TGLSA)[20]和本文共6種算法進行對比,在本研究中選取的目標維數為3維,研究中采用了交叉驗證方法選取最優(yōu)高斯核參數,實驗從降維效果可視化、降維效果綜合衡量指標和特征提取速度分析三方面驗證方法的有效性.
2)模型驗證
使用AVL Boost進行柴油機工作狀態(tài)仿真模型的建立,選擇臺架實驗的關鍵狀態(tài)參數數據和AVL Boost對應狀態(tài)參數進行對比驗證.以柴油機功率、排氣溫度對柴油機模型正確性進行驗證,以排氣閥堵塞和空冷器冷卻不足等故障對柴油機模型進行故障模擬驗證.
表2是使用三種不同的工作狀態(tài)的特定工作參數平均值與臺架實驗中對應參數的比較,可以發(fā)現臺架實驗數據與AVL Boost相差較小,可以認為使用AVL Boost建立的柴油機模型與臺架實驗使用柴油機具有相同的工作參數.
圖2 柴油機模型仿真Fig.2 The diesel engine simulation
表2 AVL Boost數據與臺架實驗數據多工況對比Table 2 The data contrast between AVL Boost and bench test under multiple working conditions
排氣口堵塞是采用逐漸減小單個氣缸的排氣口直徑的方法進行仿真驗證,排氣口堵塞會造成排氣效率不佳,氣缸內廢氣無法及時排出,會造成氣缸內氣體逐漸增加,缸內壓力逐漸增大,引起掃氣壓力增大,進氣逐漸減少,也就是壓力機流量減小.排氣口堵塞還會造成氣缸內高速積碳,引起后燃現象,使得排氣溫度上升,燃燒效率下降,但由于上述故障因素只是增加在一個氣缸中,其余五個氣缸的燃燒過程影響不大,因此對柴油機的功率影響不大.使用AVL Boost仿真這種故障,上述提到的理論上的參數變化均獲得了較好的驗證.
空冷器冷卻不足是使用逐漸增加冷卻液溫度,逐漸降低空冷器冷卻效率的方法仿真驗證.這種故障最直觀的反映就是空冷器前后溫差降低,另外由于空冷器冷卻效率下降,增壓之后的氣體無法較好地得到冷卻,掃氣溫度上升,進入氣缸內的氣體質量會下降,隨之掃氣壓力上升,流經壓力機的空氣流量會相應減小,由于進入氣缸的新鮮空氣減少,功率和最大爆發(fā)壓力都會出現下降趨勢,同時由于進入氣缸的空氣溫度上升,排氣溫度也會上升.
3)降維效果可視化
為驗證本文降維方法的有效性,將故障數據集經KPCA、KLPP、KFDA、LGPCA、TGLSA和本文所提降維方法進行處理,選取前480個樣本作為訓練樣本,后480個樣本作為測試樣本.根據本文所提算法選取降維后的前三個主成分即可較為直觀有效的表現降維效果,圖3為根據貢獻率原則,選擇不同降維維數與對應的主元貢獻率,由圖中可知,本文中選擇主成分為前三維,其貢獻率之和即可達到總貢獻率的85%,因此仿真實驗中的貢獻率選擇為85%即可.得到降維后的測試樣本三維特征量分布見圖4~9.
從圖4可以看出,KPCA可以分辨正常工況與故障1,但對于故障2和故障3有較嚴重的數據重疊現象.從圖5可以看出,KLPP對于4 種工況均不能較為有效地進行區(qū)分.
圖6~8分別為KFDA、LGPCA、TGLSA三種不同降維方法的對比實驗效果圖,KFDA效果較差,樣本數據大部分呈現混疊狀態(tài),LGPCA和TGLSA算法也綜合保持了全局結構和局部結構,因此其效果略好于KFDA、LGPCA和TGLSA三種算法,但由于其主要應用于維數較低的數據,因此對于船舶柴油機的高維復雜數據,效果一般.
圖3 不同維度貢獻率統(tǒng)計圖Fig.3 The contribution rate of dif ferent dimensions
圖4 KPCA降維結果Fig.4 The dimension reduction based on KPCA
圖5 KLPP降維結果Fig.5 The dimension reduction based on KLPP
圖6 KFDA降維結果Fig.6 The dimension reduction based on KFDA
圖7 LGPCA降維結果Fig.7 The dimension reduction based on LGPCA
圖8 TGLSA降維結果Fig.8 The dimension reduction based on TGLSA
圖9 GLSP降維結果Fig.9 The dimension reduction based on GLSP
本文所提降維方法效果圖如圖9所示,其中,權重參數根據計算得到βC=0.79,βL=0.21,可見對于柴油機故障數據,KPCA方法所側重的全局特征占主導地位.由于全局和局部結構特征提取過程的綜合考慮,在完成數據約簡和可視化的同時,有效地分離了四種狀態(tài),同時具有良好的聚類能力.因此,本文提出的方法能夠提取故障特征,解決了數據降維可視化問題.
4)降維效果綜合衡量指標
為直觀有效地可視化各類方法的降維效果,將類間距SSSB,類內距SSSW及二者的比值SSSB/SSSW作為衡量指標,類間距SSSB及二者的比值SSSB/SSSW越大,表明分類效果明顯,得到的評價結果見圖10,從圖中可以看出,六種方法中,本文所提GLSP方法對應的類間距及二者的比值具有最大值.分析如下:
圖10 六類算法降維效果衡量指標Fig.10 The dimension reduction performance of 6 methods
a)KPCA降維效果及識別率一般,雖然可以去除特征空間中的數據冗余信息,但并未達到能夠有效表達最佳情況的條件;KLPP局部結構保持的方法的類間距明顯提高,該方法能有效提取出數據集中局部結構,但對于綜合全局與結構方法所得到的類間距與類內距的比值,還有一定差距;KFDA方法具有較高類內距,但是對于類內距沒有很好的聚合效果;LGPCA和TGLSA兩種方法均具有較好類內聚合作用,但是由于不同類別的類間距離較小,導致綜合類間距與類內距比值較小.
b)本文所提方法的降維效果及識別率要高于其他對比方法,該方法能夠避免子空間重構,更利于故障類別的劃分,且具有較強的全局與局部判別信息的挖掘能力.
故障診斷的實質是模式識別,考慮船舶柴油機故障診斷的實船應用性,選擇極限學習機(Extreme learning machine,ELM)、支持向量機(Support vector machine,SVM)、相關向量機(Relevance vector machine,RVM)、KNN四種基礎有效的分類方法進行檢驗,將低維樣本分別應用于上述四種方法進行分類效果比較,表3~5給出了測試樣本的故障診斷結果,可知相較傳統(tǒng)的分類方法,對于仿真所得故障數據的診斷率均不高,但是所提出的GLSP降維方法所獲得的低維有效數據在大部分情況下獲得最高的故障識別精度,未獲得最高識別精度情況下,其精度與最高精度相差不大.
表3 故障1識別準確率(%)Table 3 The accuracy of fault1 diagnosis(%)
表4 故障2識別準確率(%)Table 4 The accuracy of fault2 diagnosis(%)
表5 故障3識別準確率(%)Table 5 The accuracy of fault3 diagnosis(%)
5)降維效果綜合衡量指標
時間性能比較是在實驗室中臺式機電腦上進行,其配置為Intel Core i3 CPU 3.3 GHz,RAM 4 GB,Win7 操作系統(tǒng),仿真軟件為MATLAB 2010a,計算結果如表6所示.由表6可知,本文所提方法降維所需時間相對于其他方法有所增加,但是都是在一個數量級,且運行速度均在5 s以內,滿足實際情況中對于實時的要求.
表6 特征提取所需時間(s)Table 6 Feature extraction time(s)
TE過程是一個公認的對比各種控制和監(jiān)控方案的平臺,為驗證本文所提方法的通用性,將本文算法應用于故障檢測與診斷領域被廣泛使用的TE化工數據集上.TE過程是基于真實工業(yè)過程的仿真平臺,包含了一組正常狀態(tài)和21組不同故障狀態(tài),分別涵蓋了12個操縱變量和41個測量變量,每組狀態(tài)包含480組訓練數據和960組測試數據,每一組故障從第160個數據點引入,過程的詳細描述、工藝流程圖以及其故障形式的具體介紹見文獻[31].
從TE數據集中選取1組正常工況數據和3組故障數據(故障4、故障8和故障14),使用本文所提GLSP算法得到降維后的前兩維特征矢量,對于TE數據,前兩維即可較好體現降維效果,本文權重參數根據計算得到βC=0.64,βL=0.36,并將本文算法與KPCA、KLPP、KFDA、LGPCA和TGLSA五種降維方法進行比較,如圖11至圖16.
圖11 TE數據下KPCA算法降維效果Fig.11 The dimension reduction performance of KPCA on TE data
從圖11和圖12前兩維降維效果可以看出,KPCA和KLPP對于4類數據分離效果較差,特別是正常工況與故障4和故障14存在大量重合現象;圖13和圖14中KFDA和LGPCA方法對于正常工況和故障14難以有效區(qū)分;圖15和圖16的特征提取效果略好于前幾種方法,但TGLSA方法雖然能夠較好地區(qū)分故障4和故障14,但是正常工況和故障8仍有較大重疊,而本文所提算法提取了更為豐富的全局與局部結構信息,在完成數據降維可視化的同時能夠將四類數據有效分離.
圖12 TE數據下KLPP算法降維效果Fig.12 The dimension reduction performance of KLPP on TE data
圖13 TE數據下KFDA算法降維效果Fig.13 The dimension reduction performance of KLPP on TE data
圖14 TE數據下LGPCA算法降維效果Fig.14 The dimension reduction performance of LGPCA on TE data
圖15 TE數據下TGLSA算法降維效果Fig.15 The dimension reduction performance of TGLSA on TE data
圖16 TE數據下GLSP算法降維效果Fig.16 The dimension reduction performance of GLSP on TE data
本文通過融合全局特征提取KPCA與局部特征提取KLPP兩種降維方法,提出一種結合兩種降維方法的數據維數約簡方法GLSP,增強了數據低維可視化效果,同時提高了識別精度,并將其應用于故障診斷中.所提方法將流形學習保持局部結構的思想融入核主成分分析的目標函數中,使得到的特征空間不僅具有原始樣本空間的整體結構,還保持樣本空間相似的局部近鄰結構,可以包含更豐富的特征信息.使用AVL Boost軟件對船舶柴油機工作過程進行故障仿真,提取正常工況與故障工況下的仿真數據,并將AVL Boost軟件仿真數據和TE化工公共故障數據應用到所提方法中,實驗結果證明,本文所提GLSP算法具有較好的維度約簡效果,并具有較高分類精度的優(yōu)勢.