梁勝杰 張志華 崔立林
海軍工程大學(xué),武漢,430033
主成分分析法與核主成分分析法在機械噪聲數(shù)據(jù)降維中的應(yīng)用比較
梁勝杰 張志華 崔立林
海軍工程大學(xué),武漢,430033
依據(jù)線性降維與非線性降維的分類原則,分別選擇主成分分析法和核主成分分析法對某雙層圓柱殼體在不同工況下的機械噪聲數(shù)據(jù)進(jìn)行降維;然后使用神經(jīng)網(wǎng)絡(luò)和支持向量機兩種方法分別計算噪聲數(shù)據(jù)在降維前后的正確識別率,以比較不同降維方法的降維效果,從而確定適合于某雙層圓柱殼體機械噪聲數(shù)據(jù)的降維方法。
主成分分析法;核主成分分析法;核函數(shù);神經(jīng)網(wǎng)絡(luò);支持向量機;機械噪聲;降維
雙層圓柱殼體的水下噪聲主要來源于自身的機械設(shè)備[1],此類噪聲屬于機械噪聲。為了全面分析此類噪聲的特點及規(guī)律,需要采用盡可能多的特征量進(jìn)行表征。由于特征量很多,且特征量之間往往存在相關(guān)關(guān)系,因此很難直接抓住它們之間的主要關(guān)系,這就需要一種簡化數(shù)據(jù)的方法使高維數(shù)據(jù)降維,以便獲得噪聲數(shù)據(jù)的主要信息。通過降維可以有效去除機械噪聲數(shù)據(jù)中的冗余信息,從而降低數(shù)據(jù)分析處理的難度。
目前,數(shù)據(jù)降維方法主要分為兩大類[2]:線性降維和非線性降維。主成分分析法(PCA)因為其概念簡單、計算方便、線性重構(gòu)誤差最優(yōu)等優(yōu)良的特性,成為數(shù)據(jù)處理中應(yīng)用最廣泛的線性降維方法之一。核主成分分析法(KPCA)作為PCA方法在處理非線性問題時的擴展,近年來得到了快速發(fā)展。
本文將PCA方法和KPCA方法,應(yīng)用于某雙層圓柱殼體機械噪聲數(shù)據(jù)的降維之中,然后使用神經(jīng)網(wǎng)絡(luò)(NN)和支持向量機(SVM)兩種方法分別計算噪聲數(shù)據(jù)降維前后的正確識別率,通過正確識別率比較PCA方法和KPCA方法的降維效果,從而選擇更適合于這種雙層圓柱殼體機械噪聲數(shù)據(jù)的降維方法,并由此初步分析出噪聲數(shù)據(jù)的線性或非線性特點。
PCA方法是一種基于二階統(tǒng)計的數(shù)據(jù)分析方法,該方法在各個變量之間相關(guān)關(guān)系研究的基礎(chǔ)上,用一組較少的、互不相關(guān)的新變量(即主元)代替原來較多的變量,而且使這些新變量盡可能多地保留原來復(fù)雜變量所反映的信息,具體計算步驟見文獻(xiàn)[3]。
KPCA方法是一種非線性主元分析方法[4]。其主要思想是通過某種事先選擇的非線性映射Φ將輸入矢量X映射到一個高維線性特征空間F之中,然后在空間F中使用PCA方法計算主元成分。在高維線性特征空間中得到的線性主元實質(zhì)上就是原始輸入空間的非線性主元。
設(shè)xi∈Rd(i=1,2,…,n)為輸入空間的d維樣本點。通過非線性映射Φ將Rd映射到特征空間F,即
F中的樣本點記作φ(xi)。
非線性映射Φ往往不容易求得,KPCA方法通過使用核函數(shù)來完成從輸入空間到特征空間的非線性映射。定義核函數(shù)k(xi,xj)= 〈φ(xi),φ(xj)〉,這樣特征空間中兩向量的內(nèi)積可以用輸入空間中的兩變量的核函數(shù)來表示。
核函數(shù)是滿足Mercer條件的任意對稱函數(shù)(實正定函數(shù)),常用核函數(shù)的特性如下:
其中,a、b、c、d、e、f 為選定的參數(shù),通常取s(xi,xj)=xTixj。
KPCA方法只需要在原空間中計算用作內(nèi)積的核函數(shù),無需知道非線性映射函數(shù)φ(x)的形式,也無需計算非線性變換,具體計算步驟見文獻(xiàn)[5]。
PCA方法與KPCA方法已廣泛應(yīng)用于特征提取、數(shù)據(jù)壓縮、圖像降噪、分類識別、綜合評價以及過程監(jiān)視等諸多領(lǐng)域。
在獲取某雙層圓柱殼體的機械噪聲數(shù)據(jù)時,設(shè)定8個不同工況,如表1所示。
表1 工況設(shè)置
在殼體的不同位置布置19個加速度傳感器(每個傳感器稱為一通道),測定不同工況下的噪聲數(shù)據(jù)。采樣時間為8s,采樣頻率為2048Hz。
由于在同一個通道下的采樣點較多,且特征單一,不易分析其規(guī)律特點,因此對樣本點進(jìn)行預(yù)處理:
(1)選定信號處理中常用的10個特征量,即波形因數(shù)、峰值因數(shù)、脈沖因數(shù)、振動加速度總級、期望、方差、標(biāo)準(zhǔn)差、三階累量、四階累量和有效值。
(2)以2048個相鄰樣本點為一個樣本段,并以70個樣本點為步長,將樣本段逐步向后平移,即可在16 384個樣本點內(nèi)得到約205個樣本段。
(3)取前200個樣本段,在每個樣本段內(nèi)計算選定的10個特征量。
本文重點是比較PCA方法與KPCA方法的降維效果,故只選取10個常用的特征量作為例子,實際上可以選擇更多的特征量以更全面地表征噪聲數(shù)據(jù)。
預(yù)處理后,在每一工況下的每一通道上可得到一個10×200(10是維數(shù),200是樣本量)的噪聲數(shù)據(jù),則在8種工況下,每一條通道上可得到8個10×200的噪聲數(shù)據(jù)。
對上述噪聲數(shù)據(jù)首先選擇PCA方法降維,并依據(jù)累積貢獻(xiàn)率大于0.85的門限值選擇主元個數(shù)[3]。8種工況下,每一通道上噪聲數(shù)據(jù)的PCA主元計算結(jié)果如表2所示。
表2 PCA方法降維后的主元個數(shù)
由表2可知,8種工況下,在19條通道上的噪聲數(shù)據(jù)經(jīng)PCA方法降維后的主元個數(shù)為3的情況占67.1%,主元個數(shù)為2個的情況占30.9%,兩種情況合計占98%。因此,為保證降維后的數(shù)據(jù)能夠保留原始噪聲數(shù)據(jù)足夠多的信息,使用PCA方法降維時統(tǒng)一取3個主元。
本文主要比較PCA方法與KPCA方法對機械噪聲的降維效果,因此使用KPCA方法時也取3個主元。
神經(jīng)網(wǎng)絡(luò)與支持向量機是模式識別領(lǐng)域最常用的兩種方法。神經(jīng)網(wǎng)絡(luò)是一種基于經(jīng)驗風(fēng)險最小原理的方法,它以分布式方式存儲信息,具有高度的并行性、較強的自學(xué)習(xí)自適應(yīng)性、良好的容錯性和聯(lián)想記憶功能,主要用于解決復(fù)雜的分類問題[6]。支持向量機是在 Vapnik[7]建立的統(tǒng)計學(xué)習(xí)理論基礎(chǔ)上發(fā)展起來的機器學(xué)習(xí)算法,它主要基于VC維理論和結(jié)構(gòu)風(fēng)險最小化原理,能夠很好地解決訓(xùn)練樣本較少時的分類問題[8]。目前這兩類方法已廣泛應(yīng)用于分類識別、故障診斷和入侵檢測等領(lǐng)域之中[9-12]。
本文主要使用神經(jīng)網(wǎng)絡(luò)和支持向量機對不同工況下的噪聲數(shù)據(jù)進(jìn)行分類識別,通過對噪聲數(shù)據(jù)的正確識別率,比較PCA和KPCA兩種方法降維效果的好壞。
某雙層圓柱殼體機械噪聲數(shù)據(jù)經(jīng)過降維后,若保留原始信息越多,則來自不同工況下的組合數(shù)據(jù)經(jīng)過NN或SVM分類后的正確識別率就會越高;反之,正確識別率就會越低。在每一通道下,使用NN和SVM計算噪聲數(shù)據(jù)降維前和分別經(jīng)PCA方法、KPCA方法降維后的正確識別率。依據(jù)正確識別率比較兩種降維方法的降維效果,同時也比較KPCA方法在選擇不同核函數(shù)時的降維效果。降維后,X′i和X″i分別為3×k的數(shù)據(jù)和3×l的數(shù)據(jù)。
本文使用的神經(jīng)網(wǎng)絡(luò)為BP神經(jīng)網(wǎng)絡(luò),支持向量機工具箱為stprtool,訓(xùn)練樣本個數(shù)和測試樣本個數(shù)取k=l=5,運行平臺均為MATLAB7.1。
KPCA方法是基于核函數(shù)的學(xué)習(xí)方法。核函數(shù)反映了樣本在高維特征空間中彼此的相似程度,而樣本之間的相似程度一旦給定,樣本間的分類其實也就基本上確定了。一個好的核函數(shù),會使同類的樣本相互靠近,使異類的樣本相互遠(yuǎn)離。正確選擇核函數(shù)和核參數(shù)將會提高KPCA方法的整體性能。
計算可知,對于文中的噪聲數(shù)據(jù)使用KPCA方法降維時,選擇Sigmoid核函數(shù)得到的s(xi,xj)較大,此時k(xi,xj)總趨向于1。因此,本文只選取高斯徑向核函數(shù)和多項式核函數(shù)進(jìn)行計算,且b=c=1,a與d根據(jù)經(jīng)驗在一定范圍內(nèi)取值。
根據(jù)經(jīng)驗,使用高斯徑向核函數(shù)(稱為KP-1方法)和多項式核函數(shù)(稱為KP-2方法)時,選擇核參數(shù)a、d的取值范圍為0.1~1,步長為0.1。經(jīng)MATLAB編程計算,其結(jié)果如表3所示。
表3 KP-1方法與KP-2方法降維后的正確識別率
表3中,第3、5、7、9列分別是KP-1方法與KP-2方法在各自核參數(shù)取值范圍內(nèi)得到的正確識別率最大值,此時a與d分別為對應(yīng)的核參數(shù)值??梢钥闯觯菏褂蒙窠?jīng)網(wǎng)絡(luò)進(jìn)行分類識別時,KP-1方法正確識別率高于KP-2方法正確識別率的有8條通道,小于KP-2方法正確識別率的有6條通道,兩者相當(dāng)?shù)挠?條通道,即KP-1方法的降維效果稍好;使用支持向量機進(jìn)行分類識別時,KP-1方法正確識別率高于KP-2方法正確識別率的有11條通道,小于KP-2方法正確識別率的有7條通道,兩者相當(dāng)?shù)挠?條通道,即KP-1方法的降維效果明顯較好。
兩種識別方法在19條通道上的運行總時間和單通道上運行的平均時間如表4所示。
表4 NN與SVM進(jìn)行分類識別的運行時間 s
由表3中的正確識別率和表4中的運行時間可知,同等條件下神經(jīng)網(wǎng)絡(luò)方法和支持向量機方法在識別能力方面差別不大,但是支持向量機方法的運算速度要快得多。因此對于某雙層圓柱殼體的機械噪聲數(shù)據(jù),在使用KPCA方法進(jìn)行降維處理時,最好選擇高斯徑向核函數(shù),并通過支持向量機方法進(jìn)行分類識別分析。
對8個不同工況下的機械噪聲數(shù)據(jù)組成的混合數(shù)據(jù)分別使用NN和SVM計算降維前后的正確識別率,其結(jié)果如表5所示。
表5 機械噪聲數(shù)據(jù)降維前后的正確識別率
比較表5中計算結(jié)果可知,不論使用哪種識別方法,降維前的正確識別率都比降維后的正確識別率高(至少相等),而由KPCA方法降維后得到的正確識別率在絕大部分通道上要比PCA方法降維后的正確識別率高。也就是說,數(shù)據(jù)降維后會損失掉一部分原始信息,造成正確識別率下降,但是對于某雙層圓柱殼體的機械噪聲數(shù)據(jù)來說,在主元數(shù)目相同的條件下,只要選擇合適的核函數(shù)及核參數(shù),就能保證使用KPCA方法降維后保留的信息要比使用PCA方法降維后保留的信息要多,即KPCA方法的降維效果要好。
事實上,可將本文中的10個特征量擴展到幾百個甚至上千個,此時的噪聲數(shù)據(jù)屬于典型的高維數(shù)據(jù),分析其結(jié)構(gòu)前先進(jìn)行降維就顯得十分必要。通過本文對PCA方法和KPCA方法實際應(yīng)用的比較可知:在主元數(shù)目相同(即數(shù)據(jù)結(jié)構(gòu)的復(fù)雜度相同)的條件下,由于將數(shù)據(jù)特點的研究范圍從線性擴大到非線性上,從而使得使用KPCA方法降維比使用PCA方法降維保留的原始數(shù)據(jù)信息更多,效果更好,因此,對某雙層圓柱殼體機械噪聲數(shù)據(jù)降維時,應(yīng)優(yōu)先考慮使用非線性降維方法——KPCA方法,且選擇高斯徑向核函數(shù)效果更好。
[1] 施引,朱石堅,何琳.艦船動力機械噪聲及其控制[M].北京:國防工業(yè)出版社,1990.
[2] 吳玲達(dá),賀玲,蔡益朝.高維索引機制中的降維方法綜述[J].計算機應(yīng)用研究,2006,23(12):4-7.
[3] Jolliffe I T.Principal Component Analysis[M].2nd ed.New York:Springer,2002.
[4] Scholkopf B,Smola A,Muller K R.Nonlinear Component Analysis as a Kernel Eigenvalue Problem[J].Neural Computation,1998,10(5):1299-1319.
[5] Rosipal R,Girolami M,Trejo L J,et al.Kernel PCA for Feature Extraction and De-noising in Non-linear Regression[J].Neural Computing and Applications,2001,10(3):231-243.
[6] 王洪遠(yuǎn),史國棟.人工神經(jīng)網(wǎng)絡(luò)技術(shù)及其應(yīng)用[M].北京:中國石化出版社,2002.
[7] Vapnik V N.The Nature of Statistical Learning Theory[M].New York:Springer-Verlag,1995.
[8] Vapnik V N.Statistical Learning Theory[M].New York:Wiley,1998.
[9] Suykens J A K,Vandewalle J.Least Squares Support Vector Machine Classifiers[J].Neural Processing Letters,1999,9(3):293-300.
[10] Wu J N,Wang J,Liu L.Feature Extraction via KPCA for Classification of Gait Patterns[J].Human Movement Science,2007,26(3):393-411.
[11] 高海華,楊輝華,王行愚.基于PCA和KPCA特征抽取的SVM網(wǎng)絡(luò)入侵檢測方法[J].華東理工大學(xué)學(xué)報(自然科學(xué)版),2006,32(3):321-326.
[12] 魯書賢,劉正熙,劉顯賓,等.基于SVM和NN的空管手寫符號的識別研究[J].四川大學(xué)學(xué)報(自然科學(xué)版),2008,45(4):790-794.
Comparison between PCA and KPCA Method in Dimensional Reduction of Mechanical Noise Data
Liang Shengjie Zhang Zhihua Cui Lilin
Naval University of Engineering,Wuhan,430033
According to the classification principle of linear and non-linear dimensional reduction,this paper dealt with mechanical noise data under different working-modes through PCA and KPCA.Lastly,the paper computed the right recognition percentage of noise data,including had been reduced and not,by NN method and SVM method,and compared the excellence for PCA and KPCA in dimensional reduction.Consequently,a better method of dimensional reduction is selected for ribbed cylindrical double-shells according to the results.
PCA(principal components analysis);KPCA(kernel PCA);kernel function;NN(neural network);SVM(support vector machine);mechanical noise;dimensional reduction
TB53;O212.4
1004—132X(2011)01—0080—04
2010—01—15
國家自然科學(xué)基金資助項目(50775218)
(編輯 郭 偉)
梁勝杰,男,1981年生。海軍工程大學(xué)兵器工程系博士研究生。主要研究方向為武器系統(tǒng)總體技術(shù)、高維數(shù)據(jù)處理。張志華,男,1965年生。海軍工程大學(xué)應(yīng)用數(shù)學(xué)系教授、博士研究生導(dǎo)師。崔立林,男,1981年生。海軍工程大學(xué)振動與噪聲研究所博士研究生。