金 劍,潘宏俠,劉述文
(中北大學(xué) 機械工程與自動化學(xué)院,太原 030051)
柴油機缸蓋的振動信號是由不同零部件或不同振源激發(fā)的信號相互疊加形成的,在不同工況下,它在不同頻段內(nèi)所蘊含的狀態(tài)信息不同[1]。小波包分解可以將小波分解中未分解的高頻段系數(shù)繼續(xù)分解,因而它比小波分解有更加精細(xì)的局部分析能力,能夠得到原始信號在各頻段上的能量分布信息。支持向量機是以統(tǒng)計學(xué)習(xí)理論和結(jié)構(gòu)風(fēng)險最小化原則的一種機器學(xué)習(xí)方法,它針對小樣本、泛化能力強,推廣能力和學(xué)習(xí)性能優(yōu)良,并且它克服了神經(jīng)網(wǎng)絡(luò)的諸多缺點,如:過擬合、容易陷入局部極值、收斂速度慢等。它在回歸分析、信號處理和模式識別等領(lǐng)域中應(yīng)用廣泛,已成為機器學(xué)習(xí)界研究的熱點問題。然而,SVM 模型參數(shù)的選取比較困難,這給它的實用性帶來了影響。粒子群優(yōu)化[2](PSO)算法是一種基于群體智能搜索方法,它通過粒子間的相互協(xié)作來尋找最優(yōu)解。該方法有較強的全局搜索能力,容易實現(xiàn)對SVM 模型參數(shù)的優(yōu)化。本文先對不同工況下的柴油機振動信號進(jìn)行預(yù)處理,提取小波包能量特征矩陣,然后輸入到粒子群優(yōu)化后的支持向量機模型進(jìn)行模式識別,從而實現(xiàn)柴油機的故障診斷。
小波包分解是在小波分解基礎(chǔ)上的改進(jìn),它是一種更加精細(xì)的正交分解方法,能實現(xiàn)在全頻率域上對信號的多層次頻帶劃分,提高了頻率分辨率。分解后各頻帶的信號相互獨立,它們既無冗余,也無遺漏。小波包分解后,各分解層上的每一頻帶的信號都具有一定的能量值,其能量值組成的特征向量可用來表征設(shè)備的運行狀態(tài)。本文對振動信號進(jìn)行小波包分解,小波基選擇db2,分解層數(shù)4 層,其能量特征提取步驟如下[3]:
(1)小波包分解
利用小波包對原始信號4 層分解,提取第4 層從低到高16 個頻率段的信號X4j,j(j= 0,1,2,…,15)為節(jié)點數(shù)。
(2)小波包分解系數(shù)重構(gòu)
用S4j代表X4j重構(gòu)后的信號,對第4 層的所有節(jié)點進(jìn)行小波包重構(gòu)。則有,重構(gòu)后總信號表示為S=S40+S41+…+S415。
(3)求各頻帶信號的能量
設(shè)S4j(j= 1,2,…,15)的能量為E4j,則第4 層各節(jié)點的能量可表示為:
其中,Xjk為S4j中各點的幅值。
(4)構(gòu)造特征向量
以第4 節(jié)點各頻段的能量值為特征向量T:
(5)歸一化處理
由于E4j值比較大,給后續(xù)數(shù)據(jù)處理帶來了不便,對T 進(jìn)行歸一化處理:
支持向量機[4]的核心是構(gòu)建一個分類間隔最大的最優(yōu)超平面,讓兩類樣本順利分開。令分類函數(shù)為:
為了使間距最大(超平面和最近點之間的距離)要解決最優(yōu)化問題。使最小化:
且滿足約束條件:
上述式子中,ω 為分類超平面的權(quán)系數(shù)向量;φ 是將xi映射到高維特征空間的映射函數(shù);ξi為松弛變量;C為懲罰因子。利用拉格朗日乘子法,并引入核函數(shù),問題等價于在約束條件式(6)下式(5)的最大化:
則有,最優(yōu)分類判別函數(shù)為:
αi為拉格朗日乘子;K(xi,x)為核函數(shù),常用核函數(shù)有多項式核、徑向基核、Sigmoid 核。SVM 通過核函數(shù)K將輸入到空間中線性不可分的特征向量非線性映射到輸出特征空間中,使其變得線性可分。通過控制懲罰因子C求得拉格朗日乘子αi,進(jìn)而求得b,從而可以確定分類超平面。錯分樣本懲罰的程度可以通過懲罰因子C來控制,從而SVM 模型能夠在最近的訓(xùn)練點到超平面之間的距離最大和分類誤差最小之間尋求一種最佳的分類效果。
本文選擇徑向基核函數(shù),但是SVM 模型的懲罰因子C和核參數(shù)σ 選取較困難。常用方法有經(jīng)驗確定方法和網(wǎng)格搜索方法。經(jīng)驗確定方法需要較強的理論和專業(yè)知識,其通用性不強。網(wǎng)格搜索方法對于大范圍的訓(xùn)練樣本時,計算量較大、耗時。因此,這里引入粒子群優(yōu)化算法。
粒子群優(yōu)化(PSO)算法是一種基于群體智能的方法,用于求全局最優(yōu)解[5]。在PSO 中,不同粒子都有一個被目標(biāo)函數(shù)決定的適應(yīng)值,每個粒子都是解空間中具有一定速度的一個點。粒子們跟蹤當(dāng)前的最優(yōu)粒子在解空間中進(jìn)行搜索,通過迭代尋找最優(yōu)解。設(shè)目標(biāo)搜索空間是D維,粒子總數(shù)為m,粒子i位置為Xi=(xi1,xi2,…,x iD),粒子i的速度為Vi=(vi1,vi2,…,viD)。迄今為止,粒子i搜索到的最好位置為Pi=(pi1,pi2,…,piD),記作Pbest,整個粒子群搜索到的最好位置為Pg=(pg1,pg2,…,pgD),記作Gbest。每一次迭代中,粒子i通過跟蹤個體極值Pbest和全局極值Gbest來更新自己,在跟蹤過程中,粒子通過式(8)來更新自己的速度和位置:
式子中,c1和c2為加速常數(shù);r和R為兩個在[0,1]之間均勻分布的隨機數(shù);vkid為第k次迭代粒子i的速度,vid∈[-vimax,vimax];ω 為慣性權(quán)重函數(shù),它使粒子保持運動慣性,公式如下:
ωmin,ωmax分別是ω 的最小值和最大值;t,tmax分別是當(dāng)前迭代步數(shù)和最大迭代步數(shù)。
SVM 模型對分類性能的影響取決于兩個參數(shù),首選選取合適的徑向基核參數(shù)σ,將數(shù)據(jù)映射到高維的特征空間,然后在該特征空間中尋找合適的懲罰因子C,使學(xué)習(xí)機的置信范圍和經(jīng)驗風(fēng)險達(dá)到最佳[6]。本文利用粒子群算法的全局搜索能力和局部搜索能力對SVM 建模過程中的參數(shù)(C,σ)進(jìn)行優(yōu)化,得到模型參數(shù)的最優(yōu)解,其一般步驟如下[7]:
(1)種群初始化 初始化種群大小、最大迭代次數(shù)、粒子的初始位置及速度;初始化支持向量機的懲罰因子和徑向基核參數(shù)。
(2)適應(yīng)度評估 利用初始化的條件建立SVM 模型,利用該模型對訓(xùn)練樣本進(jìn)行分類,根據(jù)適應(yīng)度函數(shù)計算每一個粒子的適應(yīng)度值。
(3)對于每一個粒子,將它的初始適應(yīng)度值作為其個體最優(yōu)解,并與全局最優(yōu)目標(biāo)函數(shù)值進(jìn)行比較,如果粒子的初始適應(yīng)值更優(yōu),則繼續(xù)尋找全局最優(yōu)解。
(4)根據(jù)適應(yīng)度值,更新粒子的個體極值Pbest和全局極值Gbest,更新粒子的速度和位置。
(5)判斷停止條件,如果滿足,迭代停止;否則轉(zhuǎn)至(2),繼續(xù)。停止條件是迭代達(dá)到最大迭代次數(shù)或評價值小于給定誤差精度。
基于PSO 的SVM 參數(shù)優(yōu)化流程圖,如圖1 。
圖1 基于PSO 的SVM 參數(shù)優(yōu)化流程圖
本文對某V12 缸柴油機缸蓋的振動信號進(jìn)行分析。實驗采樣頻率為40kHz,柴油機轉(zhuǎn)速為1500 r/min,提取缸蓋振動加速度信號。對于四沖程柴油機,曲軸每轉(zhuǎn)2 圈為一個工作循環(huán),其周期為T=2 ×60/1500 =0.08s。本文選取的樣本長度為4 個工作循環(huán),一個樣本時間為0.32s,取抽樣步長bu=4,抽樣降頻后的頻率為10kHz,則一個樣本數(shù)據(jù)長度為N=0.32 ×10000 =3200 點。選擇6 種工況:正常、左1 缸噴油泵滲漏(故障1)、右6 缸斷油(故障2)、供油提前角增大2.5°(故障3)、供油提前角減小2.5°(故障4)、空氣濾清器堵塞(故障5)。提取6 種工況下的柴油機缸蓋振動加速度信號,先進(jìn)行初步濾波降噪等預(yù)處理。然后,利用小波包分解方法提取各頻段內(nèi)能量值作為特征向量。每種工況選取20 組樣本,前10 組作為訓(xùn)練樣本、后10 組作為測試樣本。部分樣本的特征向量如表1 所示。
表1 六種工況下小波包能量特征矩陣
以Matlab 和臺灣大學(xué)林智仁教授工作小組編寫的libsvm-3.1 工具箱為基礎(chǔ),結(jié)合PSO 相關(guān)優(yōu)化程序作為故障診斷的軟件平臺。本文利用慣性權(quán)重PSO算法優(yōu)化參數(shù)對(C,σ),將SVM 模型的分類正確率作為適應(yīng)度函數(shù),同時使用5-折交叉驗證法來評價支持向量機參數(shù)的性能。設(shè)置初始慣性權(quán)重ωmax和最終慣性權(quán)重ωmin分別為0.9 和0.4,粒子群規(guī)模設(shè)置為20,最大迭代次數(shù)設(shè)為100,加速常量c1=1. 5,c2=1.7。構(gòu)建多故障分類器,六種工況下樣本的類別標(biāo)簽分別設(shè)置為yi=1,2,3,4,5,6 。PSO 尋找最優(yōu)參數(shù)的適應(yīng)度曲線如圖2 所示,其中最佳適應(yīng)度達(dá)到100%,平均適應(yīng)度在90%左右。粒子群算法尋優(yōu)得到最優(yōu)的參數(shù)懲罰因子C=3. 54,徑向基核函數(shù)參數(shù)σ =75.82。測試樣本的分類結(jié)果,如圖3 所示。從圖中可以看出,測試樣本分類的準(zhǔn)確率到達(dá)為100% 。
圖2 PSO 尋找最優(yōu)參數(shù)的適應(yīng)度曲線
圖3 測試樣本分類結(jié)果圖
將PSO-SVM 模型與SVM 模型進(jìn)行比較。當(dāng)利用SVM 模型診斷時,一般根據(jù)經(jīng)驗在一定的范圍內(nèi)按照一定的間隔取值的方法來選取最優(yōu)參數(shù)值。兩種模型的診斷結(jié)果如表2 所示。
表2 兩種模型診斷結(jié)果
與SVM 模型相比,PSO-SVM 模型的分類精度和效率都有提高。
柴油機在不同的工況下的頻率特性不同,小波包能有效提取柴油機各頻率段內(nèi)的能量特征值。粒子群優(yōu)化算法能有效解決支持向量機的參數(shù)選擇困難的問題,通過實驗結(jié)果可以看到:與SVM 模型相比,采用PSO-SVM 模型的故障診斷的準(zhǔn)確率和效率都得到提高,在小樣本情況下,該方法能有效實現(xiàn)柴油機的故障診斷。
[1]趙龍慶,王裕鵬. 基于小波包分析和神經(jīng)網(wǎng)絡(luò)柴油機故障診斷研究[J].小型內(nèi)燃機與摩托車,2009,38(3):9-12.
[2]劉占軍,康建設(shè),張星輝. 基于粒子群優(yōu)化的支持向量機在機械模式分類中的應(yīng)用[J]. 微計算機應(yīng)用,2010,31(12):8-13.
[3]楊勇,郭凱,馬西仃. 基于小波包和支持向量機的提升機滾動軸承故障診斷研究[J].礦山機械,2011,40(11):41-44.
[4]袁浩東,陳 宏,侯亞丁,等.基于優(yōu)化支持向量機的軸承故障診斷方法研究[J]. 機械設(shè)計與制造,2012(5):118 -120.
[5]費勝巍,苗玉彬,劉成良,等. 基于粒子群優(yōu)化支持向量機的變壓器故障診斷[J]. 高電壓技術(shù),2009,35(3):509 -513.
[6]邵信光,楊慧中,陳剛. 基于粒子群優(yōu)化算法的支持向量機參數(shù)選擇及其應(yīng)用[J]. 控制理論與應(yīng)用,2006,23(5):740 -743.
[7]范江東. 基于粒子群優(yōu)化與支持向量機的齒輪箱故障診斷研究[D].太原:中北大學(xué),2010.