王濤,李艾華,王旭平,蔡艷平,姚良
(第二炮兵工程大學機電工程系,陜西西安710025)
主元分析 (Principal Component Analysis,PCA)方法是一種常用的特征提取方法,但PCA 方法只能解決線性問題,并不適合分析非線性問題。為了提高PCA 方法的適用性,B SCH?LKOPF 等提出了核主元分析(Kernel PCA,KPCA)方法[1]。由于KPCA 在解決非線性問題方面展現出的優(yōu)勢,使其在人臉識別、高光譜圖像降維、過程監(jiān)控、機械故障診斷等領域得到了成功應用[2-5]。雖然,KPCA 是最優(yōu)秀的非線性PCA 算法之一,但由于它是基于最小化方均根誤差準則實現的,因此和傳統PCA 方法一樣,當輸入樣本中存在野點(或噪聲)時,KPCA 算法一樣會變得很不穩(wěn)定。為了增強經典KPCA 算法的魯棒性,已經有學者提出了一些改進算法。文獻[6] 提出在特征空間計算映射樣本φ(x)的重構誤差,當誤差大于某一給定閾值ε 時,將其識別為野點并加以剔除,從而消除噪聲對KPCA 的影響;文獻[7] 基于加權協方差的特征值分解提出一種魯棒KPCA 算法,通過給異常樣本賦予較小權值來抵抗數據污染和模型偏差,從而增強經典KPCA 的魯棒性。針對大訓練集問題,文獻[8 -9] 提出了迭代式魯棒KPCA 算法,有效降低了計算負擔和內存開銷。相對于樣本數目動輒成千上萬、特征維數好幾百的語音識別和圖像識別等問題而言,不論機械設備故障還是液壓系統故障,其故障樣本數量不但相對較少,而且樣本維數也較小。因此作者僅探討如何增強KPCA 的魯棒性,并不涉及KPCA 算法的迭代計算問題。文獻[6] 所提算法是最早見諸文獻的魯棒KPCA 算法之一,它建立了特征空間中識別野點的準則,并在仿真數據上驗證了該算法對消除野點影響具有較好的效果。但該算法存在重構誤差表達式不便于使用、給定閾值難以確定和計算步驟過于復雜等問題。為了提高該算法的實用性,作者針對上述問題進行改進,并將其應用于齒輪泵故障診斷中。
按照文獻[6] 所述,信號重構最小誤差準則的基本原理是:設y = WTx 作為從輸入n 維隨機向量x 獲取的主分量,u=Wy 是輸入向量x 的重構信號,則e=x-u 是重構誤差。定義誤差函數J(W)如下:
對于訓練樣本集,誤差函數的估計為:
其中:W 的列向量是單位向量,且它們之間線性不相關,因此誤差函數的優(yōu)化目標就是最大限度地減小由于降維而造成的信號損失。在輸入空間中,設W由輸入隨機向量x 的前m 個主元構成,且ε >0 是一個給定的閾值,則將輸入變量xi識別為野點的準則為:
KPCA 通過非線性映射函數φ 將原始輸入數據X變換到一個高維特征空間F,原始數據xi在特征空間F 中的像為φ (xi)。將式(3)表示的準則推廣到特征空間,則特征空間中的信號重構誤差可表示為:
借助核方法的思想,用核函數K(xi,xj)=φ(xi)·φ(xj)改寫式(4),得到如下表達式:
通過式(5)就可以計算得到特征空間中信號的重構誤差。
文獻[6]基于信號重構最小誤差準則提出了一種魯棒KPCA 算法,其基本思想是:首先根據算法給出的準則對W 進行估計;然后利用W 的估計識別和消除野點,得到更精確W 的估計,重復上述過程直至計算得到相對精確的W;最后計算整個訓練集的重構誤差,并將具有相對較大重構誤差的樣本設置為野點。該算法不僅保留了KPCA 的非線性屬性,而且魯棒性更好,有效增強了KPCA 的精度。但在實際應用中,該算法還存在以下3 個問題:
(1)根據式 (5)的表達形式,計算得到的e(φ(xi))是一個矢量矩陣,而不是一個標量數值,不便于野點識別;
(2)利用一個給定閾值ε 識別野點在理論上可行,但在實際應用中確定ε 非常困難;
(3)在特征空間中對樣本集進行聚類,雖有助于提高精度,但增加了算法的復雜性和計算代價。
針對上述問題,作者對該算法進行了以下改進:
(1)將式(5)修改為
這樣計算得到的e(φ(xi))為一個標量數值,便于野點識別;
(2)通過預先定義訓練樣本集中的野點數目來確定算法的迭代和終止條件,而非給定閾值ε;
(3)直接對樣本集進行KPCA 分析,取消在特征空間中聚類樣本集的環(huán)節(jié),簡化算法計算步驟。
綜上所述,對于一個給定的訓練集X = {x1,x2,…,xM},改進魯棒KPCA 算法的步驟如下:
步驟1,初始化迭代步數k=0,將待處理的樣本集設為Y=X,即野點樣本的數目O(k)= 0 ;
步驟2,采用KPCA 分析樣本集,得到估計矩陣W(k);
步驟3,在特征空間中歸一化估計矩陣W(k);
步驟4,根據W(k),利用式(6)計算訓練樣本的重構誤差;
步驟5,設置迭代步數k =k +1,在最后一步中從樣本集X 中消除具有最大重構誤差的樣本,并設野點樣本的數目為O(k +1)= O(k)+1 。用保留的樣本重組待處理的新樣本集Y;
步驟6,如果W(k+1)滿足收斂條件,則中止迭代計算,否則跳到步驟4。
以某液壓實驗臺上的CB-KP63 型高壓齒輪泵為對象,研究改進魯棒KPCA 算法對齒輪泵不同狀態(tài)的識別。實驗中,設置了側板磨損、齒輪磨損、軸承磨損3 類故障。對于包括正常在內的齒輪泵4 種常見工作狀態(tài),分別測取了從空載直到出口壓力為20 MPa時的泵殼振動加速度信號,壓力上升間隔為1 MPa,每種情況各測取了40 組數據。針對齒輪泵的4 種工作狀態(tài)(正常狀態(tài)、側板磨損、齒輪磨損、軸承磨損分別對應狀態(tài)1、狀態(tài)2、狀態(tài)3、狀態(tài)4),各取原始采樣數據20 組,共80 組數據構成訓練樣本集Λ。向樣本集Λ 中隨機插入3%的野點,形成新的訓練樣本集Ξ。各取原始采樣數據40 組,共160 組數據構成測試樣本集Π。
對上述3 個數據集Λ、Ξ和Π,首先用3 層小波包分解原始采樣數據,小波基為db5,每個采樣數據被分解為8 個頻帶,計算各頻帶能量特征并進行歸一化處理,然后以8 個頻帶的歸一化能量構造8 維特征向量。齒輪泵四種運行狀態(tài)典型的歸一化頻帶能量特征如表1 所示。
表1 齒輪泵4 種運行狀態(tài)的特征組成
將小波包分解得到的特征向量集分別進行KPCA和魯棒KPCA 分析,核函數選用徑向基核函數,核參數σ = 0.25 。
首先,應用KPCA 對樣本集Λ 和樣本集Ξ 進行分析,結果如圖1、2 所示。為了更直觀地觀察齒輪泵各種狀態(tài)特征樣本集的可分性,將其投影到二維平面顯示。按照特征值由大到小,從左至右、從上至下分別顯示第1 到第8 主元之間的投影圖。圖中,圓圈表示正常狀態(tài)樣本,加號表示側板磨損樣本,實心點表示齒輪磨損樣本,星號表示軸承磨損樣本。
圖1 是KPCA 對不帶野點樣本集Λ 的分析結果??芍?KPCA 在不帶野點的樣本集上具有較高的精度,第一個主元就基本實現了齒輪泵4 種狀態(tài)的分離,接下來的7 個主元更細致地實現了4 種狀態(tài)的區(qū)分。雖然軸承磨損樣本和正常狀態(tài)樣本有少許交疊,但仍能有效將這兩種狀態(tài)區(qū)分開,從整體上看并未影響分類效果。
圖2 是KPCA 對帶野點樣本集Ξ的分析結果??芍?野點對KPCA 的主元產生了很大影響,加入的3%野點樣本導致各個主元無法區(qū)分開齒輪泵的4 種狀態(tài)。除了側板磨損狀態(tài)能夠較好區(qū)分外,其他狀態(tài)特征樣本交疊嚴重,已不具備可分性。由此可見,對于帶野點的數據,KPCA 很不穩(wěn)定。
圖1 KPCA 算法對不帶野點樣本集的分析結果
圖2 KPCA 算法對帶野點樣本集的分析結果
接著,應用改進魯棒KPCA 對樣本集Λ 和樣本集Ξ進行分析,結果如圖3、4 所示。圖3 是改進魯棒KPCA 對不帶野點樣本集Λ 的分析結果??芍?對于不帶野點的樣本集,改進魯棒KPCA 算法也能夠獲得非常精確的主元,實現齒輪泵4 種狀態(tài)的有效區(qū)分。
圖3 改進魯棒KPCA 算法對不帶野點樣本集的分析結果
圖4 改進魯棒KPCA 算法對帶野點樣本集的分析結果
對于帶野點的樣本集Ξ,采用改進魯棒KPCA 算法進行分析,結果如圖4 所示??芍?第一個主元就已經消除了噪聲的影響。因此,改進魯棒KPCA 算法能夠獲得近似精確的主元。在接下來的7 個主元上,噪聲的影響也很輕微,幾乎得到了和在不帶野點樣本集上一樣的分類效果。可見,改進魯棒KPCA 算法相比KPCA 具有更好的抗噪性。
在簡要介紹現有魯棒KPCA 算法的基礎上,針對故障診斷問題樣本數量少且樣本維數低的特點,對文獻[6]所提算法進行了改進。改進魯棒KPCA 算法在保持原算法抗噪性強優(yōu)點的同時,步驟更簡單、更易編程實現,有效提高了算法的工程實用性。將改進魯棒KPCA 算法應用于齒輪泵故障特征提取中,與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】蔣靜,李志農,易小兵.基于Volterra 級數和KPCA 的旋轉機械故障診斷方法研究[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.