李明駿,張國銀,王海瑞
(昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650500)
液壓系統(tǒng)[1]廣泛應(yīng)用于工業(yè)機(jī)械生產(chǎn),其結(jié)構(gòu)復(fù)雜,氣密性強(qiáng)。因此,一旦發(fā)生故障,操作員很難觀察到故障跡象,也很難判斷故障的原因和故障損壞程度。這些因素嚴(yán)重影響了操作員快速準(zhǔn)確地對故障進(jìn)行識別,使處理故障過程變得復(fù)雜,容易造成損失,且容易發(fā)生人身安全事故。為了使液壓系統(tǒng)能夠順利正常地工作,及時(shí)發(fā)現(xiàn)和預(yù)警故障或者評估系統(tǒng)的綜合狀態(tài),具有非常重要的研究意義。
目前,業(yè)界主要采用智能化診斷方法如神經(jīng)網(wǎng)絡(luò)、向量機(jī)及各種分類算法等來構(gòu)建分類模型,對信號提取特征以進(jìn)行故障識別和分類。也有一些專家系統(tǒng)[2-3]仍在使用,但受限于特定領(lǐng)域,并且知識獲取有限,診斷結(jié)果準(zhǔn)確度受到影響。文獻(xiàn)[4]和文獻(xiàn)[5]利用神經(jīng)網(wǎng)絡(luò)進(jìn)行故障診斷,但其訓(xùn)練要求樣本數(shù)量大,樣本質(zhì)量高,且訓(xùn)練過程較長,收斂較慢。文獻(xiàn)[6]和文獻(xiàn)[7]利用支持向量機(jī)(Support Vector Machine,SVM)對液壓泵進(jìn)行故障診斷,實(shí)驗(yàn)驗(yàn)證了其分類精度,表明該方法有效。相關(guān)研究和實(shí)踐證明[8],SVM結(jié)構(gòu)布局相對簡單,對于樣本量小、非線性以及數(shù)據(jù)特征量高的一些問題,支持向量機(jī)可以很好地處理,更好地發(fā)掘樣本的信息特征,從而解決上述方法的不足之處。
然而,SVM分類模型依賴于懲罰系數(shù)C和核函數(shù)參數(shù)σ才能實(shí)現(xiàn)其分類性能。近年來群體智能優(yōu)化算法在算法改進(jìn)以及參數(shù)尋優(yōu)方面的應(yīng)用和研究驗(yàn)證了其在搜索方面的顯著優(yōu)勢,因此,本文采用基本粒子群算法,利用其優(yōu)秀的全局尋優(yōu)能力和收斂速度優(yōu)化SVM模型參數(shù)。首先,對數(shù)據(jù)信號預(yù)處理,采用自適應(yīng)噪聲完備集合經(jīng)驗(yàn)?zāi)B(tài)分解(Complete EEMD with Adaptive Noise,CEEMDAN)結(jié)合模糊熵進(jìn)行特征提取,構(gòu)建特征數(shù)據(jù)集;其次,將其作為輸入訓(xùn)練SVM模型,同時(shí)利用PSO優(yōu)化SVM參數(shù),得到SVM最優(yōu)子分類器,進(jìn)而構(gòu)建二叉樹結(jié)構(gòu)的多值分類故障診斷模型;最后進(jìn)行實(shí)驗(yàn)仿真,并與其他方法對比。實(shí)驗(yàn)表明,本文采用的PSO-SVM故障診斷模型顯著提高了故障的分類效率和故障診斷準(zhǔn)確率。
粒子群算法中,群體中的每個(gè)粒子通過不斷學(xué)習(xí)自己的知識以及社會群體知識來調(diào)整搜索位置和方向,從而反映出群體的智力[9]。由于PSO算法計(jì)算速度快,和其他的計(jì)算方法整合應(yīng)用簡單方便,因此成為研究者熱衷的研究課題。
初始化粒子群體數(shù)目為M,參數(shù)搜索空間維度N,t為當(dāng)前迭代次數(shù),搜索過程執(zhí)行如下步驟:
第i個(gè)粒子的當(dāng)前位置為Xi(t)=[Xi,1(t),Xi,2(t),…,Xi,N(t)],第i個(gè)粒子的當(dāng)前速度為Vi(t)=[Vi,1(t),Vi,2(t),…,Vi,N(t)],第i個(gè)粒子的當(dāng)前個(gè)體最好位置(pbest)為Pi(t)=[Pi,1(t),Pi,2(t),…,Pi,N(t)]。
其更新計(jì)算公式如式(1)所示:
可得出全局最佳位置為G(t)=Pg(t)=[Pg,1(t),Pg,2(t),…,Pg,N(t)],1≤g≤M。也可將其用gbest(t)表示,。這樣就可按照公式(2)進(jìn)行粒子速度的迭代更新,按照公式(3)進(jìn)行粒子位置更新:
式中:1≤i≤M,1≤j≤N;粒子進(jìn)行搜索時(shí)的第t次參數(shù)尋優(yōu)表示為t;c1與c2兩個(gè)參數(shù)即是粒子群的學(xué)習(xí)因子,c1用于調(diào)整向自身學(xué)習(xí)的部分,依賴個(gè)體經(jīng)驗(yàn);而c2用于調(diào)整向群體學(xué)習(xí),對整個(gè)粒子群進(jìn)行學(xué)習(xí);r1,i,j(t)和r2,i,j(t)是在(0,1)范圍內(nèi)產(chǎn)生的隨機(jī)數(shù)。為防止粒子在進(jìn)行參數(shù)尋優(yōu)的過程中跳出空間范圍,對粒子速度范圍進(jìn)行設(shè)置,即Vi,j(t)∈[-Vmax,Vmax],同樣地,對粒子的位置范圍進(jìn)行設(shè)置,即Xi,j(t)∈[-Xmax,Xmax]。根據(jù)算法原理,粒子群不斷靠近當(dāng)前全局最優(yōu)位置,且根據(jù)適應(yīng)度不斷更新全局最優(yōu)解,可令粒子群聚合集中在該新的最優(yōu)位置。
相比于神經(jīng)網(wǎng)絡(luò)等其他學(xué)習(xí)方法,SVM算法擁有更為高效的分類性能。其結(jié)構(gòu)布局相對簡單,對于樣本量小、非線性、數(shù)據(jù)特征量高的問題,SVM可以更好地處理,可以很好地發(fā)掘樣本的信息特征,并在一定程度上具有很強(qiáng)的泛化能力。SVM理論的目的是能夠獲取最優(yōu)分類超平面H,并實(shí)現(xiàn)樣本間間隔(margin)最大化,且能夠高效準(zhǔn)確地分類識別數(shù)據(jù)樣本集。SVM的最優(yōu)分類超平面如圖1所示。
圖1 SVM的最優(yōu)分類超平面
圖1中,H1、H2為樣本邊界,當(dāng)實(shí)施兩分類問題時(shí),假設(shè)訓(xùn)練集包括數(shù)據(jù)樣本n個(gè)D={(xi,yi)|i=1,2,…,n},xi∈Rn,yi∈{+1,-1}能夠正確地分開,某一超平面H:w·x+b=0,讓分界面上的支持向量和最優(yōu)分界的距離最大,也就是使||ω||2實(shí)現(xiàn)分類問題的最低值,并盡可能保證H1、H2之間沒有數(shù)據(jù)樣本,降低分類錯(cuò)誤率。SVM基本模型為:
式中:懲罰系數(shù)C(C>0)決定著SVM分類模型是否復(fù)雜。利用求解式(4)能夠確保VC維的上界的值最小,同時(shí)使得模型的經(jīng)驗(yàn)風(fēng)險(xiǎn)最小。通過求解拉格朗日函數(shù)將相關(guān)問題進(jìn)行轉(zhuǎn)化,進(jìn)一步轉(zhuǎn)成求解二次規(guī)劃優(yōu)化的方式,如下所示:
求解上述問題得到?jīng)Q策函數(shù)為:
將SVM分類模型應(yīng)用于線性不可分的情形時(shí),可采用核函數(shù),其具有的非線性映射功能可以把分類樣本V=[Fn1,Fn2,Fn3,Fn4]映射到高維度的空間Z,使得待分類樣本數(shù)據(jù)可以進(jìn)行有效的劃分,即:φ:RN→Z;x→φ(x),將低維空間的樣本再映射到高維空間中,進(jìn)而更好地確立最優(yōu)線性分類超平面。數(shù)據(jù)分類的原理如圖2所示。
圖2 核函數(shù)高維映射
最優(yōu)求解模型為:
式中:核函數(shù)K(xi·xj)滿足Mercer條件,因此,其內(nèi)積問題φ(xi)·φ(xj)可以利用核函數(shù)K(xi·xj)來解決,可得分類決策函數(shù):
本文SVM分類模型選用RBF核函數(shù)。
首先,粒子群算法對模型參數(shù)空間尋優(yōu)。
其次,對于粒子適應(yīng)度函數(shù)[10]的取值進(jìn)行優(yōu)化,采用交叉驗(yàn)證策略,計(jì)算平均分類正確率作為適應(yīng)度值。懲罰系數(shù)C和核函數(shù)參數(shù)σ構(gòu)成粒子的二維參數(shù)尋優(yōu)空間,從中選擇一組向量,輸入SVM子分類器中。將數(shù)據(jù)樣本集分為N組,選取1組作為測試集,剩余N-1組作為訓(xùn)練集。利用SVM子分類器進(jìn)行分類處理后,進(jìn)行分類器準(zhǔn)確率的統(tǒng)計(jì)分析。將N組中的所有組均進(jìn)行一次測試,即可計(jì)算得出總體測試的平均識別準(zhǔn)確率。
再次,從參數(shù)空間中選取1組參數(shù),繼續(xù)輸入到第一個(gè)子分類器中。
重復(fù)執(zhí)行上述步驟,同時(shí)計(jì)算出每個(gè)C和σ組合而成的參數(shù)向量的平均識別準(zhǔn)確率。采用其中存在最大平均分類識別率的一組C和σ,把它們作為模型的最優(yōu)參數(shù)。由式(9)計(jì)算粒子的適應(yīng)度值:
式中:Mi為第i組測試樣本對應(yīng)的分類正確率。
在診斷液壓系統(tǒng)故障時(shí),本文通過應(yīng)用多值分類器的識別方法和粒子群算法來構(gòu)建SVM模型,最后進(jìn)行故障診斷和分類識別。本文采用二叉樹結(jié)構(gòu)SVM診斷模型,它通過串聯(lián)多個(gè)SVM子分類器構(gòu)成,利用PSO對SVM模型參數(shù)進(jìn)行優(yōu)化,進(jìn)而構(gòu)建可進(jìn)行多分類的二叉樹故障分類器。粒子群算法優(yōu)化SVM的故障診斷模型如圖3所示。
圖3 粒子群算法優(yōu)化SVM故障診斷模型
粒子群算法優(yōu)化SVM的故障診斷模型,具體步驟如下:
(1)采用PSO對SVM模型懲罰系數(shù)C和核參數(shù)σ進(jìn)行優(yōu)化;
(2)初始化參數(shù),設(shè)置最大迭代次數(shù)為200,群體規(guī)模50,維度為2,構(gòu)造訓(xùn)練數(shù)據(jù)樣本集,設(shè)定C和σ取 值 范 圍:C=[0.01,100],σ=[0.1,1000],C和σ構(gòu)建二維粒子,設(shè)置初始粒子的隨機(jī)位置和速度;
(3)由SVM多類分類模型對測試樣本集進(jìn)行分類和識別,計(jì)算各個(gè)粒子的適應(yīng)度值,根據(jù)第i個(gè)SVM子分類器是否可以對樣本故障類型進(jìn)行判定,結(jié)果為能夠識別診斷,就會輸出正類,反之會輸出負(fù)類;
(4)結(jié)合適應(yīng)度值,更新個(gè)體最佳位置與全局最佳位置;
(5)更新權(quán)值和學(xué)習(xí)因子,并更新速度和位置;
(6)對PSO算法是否為最大迭代次數(shù)進(jìn)行判斷,是則終止,轉(zhuǎn)步驟(7);否即轉(zhuǎn)步驟(3);
(7)采用最高適應(yīng)度的粒子,將其優(yōu)化參數(shù)即其參數(shù)空間位置定義為優(yōu)化后的粒子群算法改進(jìn)后的最優(yōu)SVM模型參數(shù)C*和σ*;
(8)將懲罰系數(shù)C*以及核參數(shù)σ*輸入SVM,構(gòu)建故障診斷的最優(yōu)SVM模型;
(9)應(yīng)用該模型診斷系統(tǒng)故障。
溢流閥故障、減壓閥故障以及液壓泵故障這3種故障是液壓系統(tǒng)的主要故障。首先將采集到的這3種振動信號進(jìn)行預(yù)處理;之后使用CEEMDAN結(jié)合模糊熵進(jìn)行特征提取,并歸一化計(jì)算處理,建立數(shù)據(jù)樣本以便于訓(xùn)練及測試。結(jié)合液壓系統(tǒng)不同的故障狀態(tài),每種狀態(tài)都設(shè)置特征向量50個(gè),用它們組合成訓(xùn)練樣本。即訓(xùn)練數(shù)據(jù)包含4類故障狀態(tài)共200個(gè)特征向量。同時(shí)選取液壓系統(tǒng)4種故障狀態(tài),每種狀態(tài)構(gòu)建30個(gè)特征向量,作為測試數(shù)據(jù)集。即測試數(shù)據(jù)集包含4類故障狀態(tài)共120個(gè)特征向量。在訓(xùn)練數(shù)據(jù)集中,針對4類液壓系統(tǒng)狀態(tài),分別選取其中3個(gè)模糊熵特征向量,如表1所示。
表1 數(shù)據(jù)樣本特征向量
設(shè)置改進(jìn)的算法模型最大迭代次數(shù)為200、群體 規(guī) 模50,C=[0.01,100]、σ=[0.1,1000],實(shí) 驗(yàn)迭代達(dá)到最大代數(shù),則算法終止,并保存搜索到的最優(yōu)參數(shù)。為驗(yàn)證本文所用改進(jìn)算法的優(yōu)越性,分別采用粒子群算法優(yōu)化SVM多值分類模型、基本SVM模型以及遺傳算法優(yōu)化SVM模型對液壓系統(tǒng)進(jìn)行訓(xùn)練測試,對診斷精度進(jìn)行比較,以驗(yàn)證本文提出的粒子群算法優(yōu)化SVM模型的分類性能。
3種模型的分類性能比較結(jié)果如表2所示, 3種算法預(yù)測分類和測試集實(shí)際分類情況如圖4 所示。
圖4 測試集的實(shí)際分類和這3種算法預(yù)測分類
表2 3種算法分類性能比較
從表2和圖4可以看出,應(yīng)用優(yōu)化后的PSO-SVM模型進(jìn)行故障診斷,準(zhǔn)確率提高到97.5%,GA-SVM準(zhǔn)確率為91.7%,單個(gè)SVM準(zhǔn)確率為81.7%。優(yōu)化后的PSO-SVM模型準(zhǔn)確率最高,GA-SVM其次,SVM最低。分析實(shí)驗(yàn)結(jié)果可知,優(yōu)化后的PSO-SVM故障診斷模型具有更強(qiáng)的分類性能,對液壓系統(tǒng)故障的識別準(zhǔn)確率有著顯著的提升。
本文利用CEEMDAN結(jié)合模糊熵進(jìn)行特征提取,更好地反應(yīng)故障特征。故障識別采用支持向量機(jī)分類器,以二分類SVM為基礎(chǔ),構(gòu)建二叉樹結(jié)構(gòu)的多分類模型,有效提升分類效果,避免劃分盲區(qū)。應(yīng)用粒子群算法,利用其較好的收斂速度和全局尋優(yōu)能力優(yōu)化支持向量機(jī)模型參數(shù),并與基本SVM和GA-SVM進(jìn)行對比分析。實(shí)驗(yàn)表明,本文采用的粒子群算法(PSO)優(yōu)化SVM顯著提高了SVM故障診斷模型的故障診斷準(zhǔn)確率,提升了分類性能,該模型對于液壓系統(tǒng)的故障識別具有很強(qiáng)的適用性。