王濤,李艾華,王旭平,蔡艷平,姚良
(第二炮兵工程大學機電工程系,陜西西安710025)
主元分析 (Principal Component Analysis,PCA)方法是一種常用的特征提取方法,但PCA 方法只能解決線性問題,并不適合分析非線性問題。為了提高PCA 方法的適用性,B SCH?LKOPF 等提出了核主元分析(Kernel PCA,KPCA)方法[1]。由于KPCA 在解決非線性問題方面展現(xiàn)出的優(yōu)勢,使其在人臉識別、高光譜圖像降維、過程監(jiān)控、機械故障診斷等領(lǐng)域得到了成功應(yīng)用[2-5]。雖然,KPCA 是最優(yōu)秀的非線性PCA 算法之一,但由于它是基于最小化方均根誤差準則實現(xiàn)的,因此和傳統(tǒng)PCA 方法一樣,當輸入樣本中存在野點(或噪聲)時,KPCA 算法一樣會變得很不穩(wěn)定。為了增強經(jīng)典KPCA 算法的魯棒性,已經(jīng)有學者提出了一些改進算法。文獻[6] 提出在特征空間計算映射樣本φ(x)的重構(gòu)誤差,當誤差大于某一給定閾值ε 時,將其識別為野點并加以剔除,從而消除噪聲對KPCA 的影響;文獻[7] 基于加權(quán)協(xié)方差的特征值分解提出一種魯棒KPCA 算法,通過給異常樣本賦予較小權(quán)值來抵抗數(shù)據(jù)污染和模型偏差,從而增強經(jīng)典KPCA 的魯棒性。針對大訓練集問題,文獻[8 -9] 提出了迭代式魯棒KPCA 算法,有效降低了計算負擔和內(nèi)存開銷。相對于樣本數(shù)目動輒成千上萬、特征維數(shù)好幾百的語音識別和圖像識別等問題而言,不論機械設(shè)備故障還是液壓系統(tǒng)故障,其故障樣本數(shù)量不但相對較少,而且樣本維數(shù)也較小。因此作者僅探討如何增強KPCA 的魯棒性,并不涉及KPCA 算法的迭代計算問題。文獻[6] 所提算法是最早見諸文獻的魯棒KPCA 算法之一,它建立了特征空間中識別野點的準則,并在仿真數(shù)據(jù)上驗證了該算法對消除野點影響具有較好的效果。但該算法存在重構(gòu)誤差表達式不便于使用、給定閾值難以確定和計算步驟過于復雜等問題。為了提高該算法的實用性,作者針對上述問題進行改進,并將其應(yīng)用于齒輪泵故障診斷中。
按照文獻[6] 所述,信號重構(gòu)最小誤差準則的基本原理是:設(shè)y = WTx 作為從輸入n 維隨機向量x 獲取的主分量,u=Wy 是輸入向量x 的重構(gòu)信號,則e=x-u 是重構(gòu)誤差。定義誤差函數(shù)J(W)如下:
對于訓練樣本集,誤差函數(shù)的估計為:
其中:W 的列向量是單位向量,且它們之間線性不相關(guān),因此誤差函數(shù)的優(yōu)化目標就是最大限度地減小由于降維而造成的信號損失。在輸入空間中,設(shè)W由輸入隨機向量x 的前m 個主元構(gòu)成,且ε >0 是一個給定的閾值,則將輸入變量xi識別為野點的準則為:
KPCA 通過非線性映射函數(shù)φ 將原始輸入數(shù)據(jù)X變換到一個高維特征空間F,原始數(shù)據(jù)xi在特征空間F 中的像為φ (xi)。將式(3)表示的準則推廣到特征空間,則特征空間中的信號重構(gòu)誤差可表示為:
借助核方法的思想,用核函數(shù)K(xi,xj)=φ(xi)·φ(xj)改寫式(4),得到如下表達式:
通過式(5)就可以計算得到特征空間中信號的重構(gòu)誤差。
文獻[6]基于信號重構(gòu)最小誤差準則提出了一種魯棒KPCA 算法,其基本思想是:首先根據(jù)算法給出的準則對W 進行估計;然后利用W 的估計識別和消除野點,得到更精確W 的估計,重復上述過程直至計算得到相對精確的W;最后計算整個訓練集的重構(gòu)誤差,并將具有相對較大重構(gòu)誤差的樣本設(shè)置為野點。該算法不僅保留了KPCA 的非線性屬性,而且魯棒性更好,有效增強了KPCA 的精度。但在實際應(yīng)用中,該算法還存在以下3 個問題:
(1)根據(jù)式 (5)的表達形式,計算得到的e(φ(xi))是一個矢量矩陣,而不是一個標量數(shù)值,不便于野點識別;
(2)利用一個給定閾值ε 識別野點在理論上可行,但在實際應(yīng)用中確定ε 非常困難;
(3)在特征空間中對樣本集進行聚類,雖有助于提高精度,但增加了算法的復雜性和計算代價。
針對上述問題,作者對該算法進行了以下改進:
(1)將式(5)修改為
這樣計算得到的e(φ(xi))為一個標量數(shù)值,便于野點識別;
(2)通過預先定義訓練樣本集中的野點數(shù)目來確定算法的迭代和終止條件,而非給定閾值ε;
(3)直接對樣本集進行KPCA 分析,取消在特征空間中聚類樣本集的環(huán)節(jié),簡化算法計算步驟。
綜上所述,對于一個給定的訓練集X = {x1,x2,…,xM},改進魯棒KPCA 算法的步驟如下:
步驟1,初始化迭代步數(shù)k=0,將待處理的樣本集設(shè)為Y=X,即野點樣本的數(shù)目O(k)= 0 ;
步驟2,采用KPCA 分析樣本集,得到估計矩陣W(k);
步驟3,在特征空間中歸一化估計矩陣W(k);
步驟4,根據(jù)W(k),利用式(6)計算訓練樣本的重構(gòu)誤差;
步驟5,設(shè)置迭代步數(shù)k =k +1,在最后一步中從樣本集X 中消除具有最大重構(gòu)誤差的樣本,并設(shè)野點樣本的數(shù)目為O(k +1)= O(k)+1 。用保留的樣本重組待處理的新樣本集Y;
步驟6,如果W(k+1)滿足收斂條件,則中止迭代計算,否則跳到步驟4。
以某液壓實驗臺上的CB-KP63 型高壓齒輪泵為對象,研究改進魯棒KPCA 算法對齒輪泵不同狀態(tài)的識別。實驗中,設(shè)置了側(cè)板磨損、齒輪磨損、軸承磨損3 類故障。對于包括正常在內(nèi)的齒輪泵4 種常見工作狀態(tài),分別測取了從空載直到出口壓力為20 MPa時的泵殼振動加速度信號,壓力上升間隔為1 MPa,每種情況各測取了40 組數(shù)據(jù)。針對齒輪泵的4 種工作狀態(tài)(正常狀態(tài)、側(cè)板磨損、齒輪磨損、軸承磨損分別對應(yīng)狀態(tài)1、狀態(tài)2、狀態(tài)3、狀態(tài)4),各取原始采樣數(shù)據(jù)20 組,共80 組數(shù)據(jù)構(gòu)成訓練樣本集Λ。向樣本集Λ 中隨機插入3%的野點,形成新的訓練樣本集Ξ。各取原始采樣數(shù)據(jù)40 組,共160 組數(shù)據(jù)構(gòu)成測試樣本集Π。
對上述3 個數(shù)據(jù)集Λ、Ξ和Π,首先用3 層小波包分解原始采樣數(shù)據(jù),小波基為db5,每個采樣數(shù)據(jù)被分解為8 個頻帶,計算各頻帶能量特征并進行歸一化處理,然后以8 個頻帶的歸一化能量構(gòu)造8 維特征向量。齒輪泵四種運行狀態(tài)典型的歸一化頻帶能量特征如表1 所示。
表1 齒輪泵4 種運行狀態(tài)的特征組成
將小波包分解得到的特征向量集分別進行KPCA和魯棒KPCA 分析,核函數(shù)選用徑向基核函數(shù),核參數(shù)σ = 0.25 。
首先,應(yīng)用KPCA 對樣本集Λ 和樣本集Ξ 進行分析,結(jié)果如圖1、2 所示。為了更直觀地觀察齒輪泵各種狀態(tài)特征樣本集的可分性,將其投影到二維平面顯示。按照特征值由大到小,從左至右、從上至下分別顯示第1 到第8 主元之間的投影圖。圖中,圓圈表示正常狀態(tài)樣本,加號表示側(cè)板磨損樣本,實心點表示齒輪磨損樣本,星號表示軸承磨損樣本。
圖1 是KPCA 對不帶野點樣本集Λ 的分析結(jié)果。可知:KPCA 在不帶野點的樣本集上具有較高的精度,第一個主元就基本實現(xiàn)了齒輪泵4 種狀態(tài)的分離,接下來的7 個主元更細致地實現(xiàn)了4 種狀態(tài)的區(qū)分。雖然軸承磨損樣本和正常狀態(tài)樣本有少許交疊,但仍能有效將這兩種狀態(tài)區(qū)分開,從整體上看并未影響分類效果。
圖2 是KPCA 對帶野點樣本集Ξ的分析結(jié)果??芍?野點對KPCA 的主元產(chǎn)生了很大影響,加入的3%野點樣本導致各個主元無法區(qū)分開齒輪泵的4 種狀態(tài)。除了側(cè)板磨損狀態(tài)能夠較好區(qū)分外,其他狀態(tài)特征樣本交疊嚴重,已不具備可分性。由此可見,對于帶野點的數(shù)據(jù),KPCA 很不穩(wěn)定。
圖1 KPCA 算法對不帶野點樣本集的分析結(jié)果
圖2 KPCA 算法對帶野點樣本集的分析結(jié)果
接著,應(yīng)用改進魯棒KPCA 對樣本集Λ 和樣本集Ξ進行分析,結(jié)果如圖3、4 所示。圖3 是改進魯棒KPCA 對不帶野點樣本集Λ 的分析結(jié)果。可知:對于不帶野點的樣本集,改進魯棒KPCA 算法也能夠獲得非常精確的主元,實現(xiàn)齒輪泵4 種狀態(tài)的有效區(qū)分。
圖3 改進魯棒KPCA 算法對不帶野點樣本集的分析結(jié)果
圖4 改進魯棒KPCA 算法對帶野點樣本集的分析結(jié)果
對于帶野點的樣本集Ξ,采用改進魯棒KPCA 算法進行分析,結(jié)果如圖4 所示??芍?第一個主元就已經(jīng)消除了噪聲的影響。因此,改進魯棒KPCA 算法能夠獲得近似精確的主元。在接下來的7 個主元上,噪聲的影響也很輕微,幾乎得到了和在不帶野點樣本集上一樣的分類效果??梢?,改進魯棒KPCA 算法相比KPCA 具有更好的抗噪性。
在簡要介紹現(xiàn)有魯棒KPCA 算法的基礎(chǔ)上,針對故障診斷問題樣本數(shù)量少且樣本維數(shù)低的特點,對文獻[6]所提算法進行了改進。改進魯棒KPCA 算法在保持原算法抗噪性強優(yōu)點的同時,步驟更簡單、更易編程實現(xiàn),有效提高了算法的工程實用性。將改進魯棒KPCA 算法應(yīng)用于齒輪泵故障特征提取中,與KPCA 算法相比,改進魯棒KPCA 算法的抗噪性能明顯增強,能有效區(qū)分齒輪泵的不同故障模式。
【1】SCH?LKOPF B,SMOLA A,MüLLER K R.Nonlinear Component Analysis as a Kernel Eigenvalue Problem[J].Neural Computation,1998,10(5):1299 -1319.
【2】WEN Ying,HE Lianghua,SHI Pengfei. Face Recognition Using Difference Vector Plus KPCA[J].Digital Signal Processing,2012 (22):140 -146.
【3】王瀛,郭雷,梁楠.基于優(yōu)選樣本的KPCA 高光譜圖像降維方法[J].光子學報,2011,40(6):847 -851.
【4】?VOKELJ Matej,ZUPAN Samo,PREBIL Ivan. Non-linear Multivariate and Multiscale Monitoring and Signal Denoising Strategy Using Kernel Principal Component Analysis Combined with Ensemble Empirical Mode Decomposition Method[J]. Mechanical Systems and Signal Processing,2011(25):2631 -2653.
【5】蔣靜,李志農(nóng),易小兵.基于Volterra 級數(shù)和KPCA 的旋轉(zhuǎn)機械故障診斷方法研究[J]. 噪聲與振動控制,2010(2):119 -122.
【6】LU Congde,ZHANG Taiyi,ZHANG Ruonan,et al.Adaptive Robust Kernel PCA Algorithm[C]// ICASSP,2003:621 -624.
【7】HUANG Su-Yun,YEH Yi-Ren,EGUCHI Shinto. Robust Kernel Principal Component Analysis[J]. Neural Computation,2009,21(11):3179 -3213.
【8】WANG Lei,PANG Yan-Wei,SHEN Dao-Yi,et al.An Iterative Algorithm for Robust Kernel Principal Component Analysis[C]//Proceedings of the Sixth International Conference on Machine Learning and Cybernetics,Hongkong,2007:3484 -3489.
【9】HUANG Hsin-Hsiung,YEH Yi-Ren.An Iterative Algorithm for Robust Kernel Principal Component Analysis[J]. Neurocomputing,2011(74):3921 -3930.