李明駿,張國銀,王海瑞
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
液壓系統[1]廣泛應用于工業機械生產,其結構復雜,氣密性強。因此,一旦發生故障,操作員很難觀察到故障跡象,也很難判斷故障的原因和故障損壞程度。這些因素嚴重影響了操作員快速準確地對故障進行識別,使處理故障過程變得復雜,容易造成損失,且容易發生人身安全事故。為了使液壓系統能夠順利正常地工作,及時發現和預警故障或者評估系統的綜合狀態,具有非常重要的研究意義。
目前,業界主要采用智能化診斷方法如神經網絡、向量機及各種分類算法等來構建分類模型,對信號提取特征以進行故障識別和分類。也有一些專家系統[2-3]仍在使用,但受限于特定領域,并且知識獲取有限,診斷結果準確度受到影響。文獻[4]和文獻[5]利用神經網絡進行故障診斷,但其訓練要求樣本數量大,樣本質量高,且訓練過程較長,收斂較慢。文獻[6]和文獻[7]利用支持向量機(Support Vector Machine,SVM)對液壓泵進行故障診斷,實驗驗證了其分類精度,表明該方法有效。相關研究和實踐證明[8],SVM結構布局相對簡單,對于樣本量小、非線性以及數據特征量高的一些問題,支持向量機可以很好地處理,更好地發掘樣本的信息特征,從而解決上述方法的不足之處。
然而,SVM分類模型依賴于懲罰系數C和核函數參數σ才能實現其分類性能。近年來群體智能優化算法在算法改進以及參數尋優方面的應用和研究驗證了其在搜索方面的顯著優勢,因此,本文采用基本粒子群算法,利用其優秀的全局尋優能力和收斂速度優化SVM模型參數。首先,對數據信號預處理,采用自適應噪聲完備集合經驗模態分解(Complete EEMD with Adaptive Noise,CEEMDAN)結合模糊熵進行特征提取,構建特征數據集;其次,將其作為輸入訓練SVM模型,同時利用PSO優化SVM參數,得到SVM最優子分類器,進而構建二叉樹結構的多值分類故障診斷模型;最后進行實驗仿真,并與其他方法對比。實驗表明,本文采用的PSO-SVM故障診斷模型顯著提高了故障的分類效率和故障診斷準確率。
粒子群算法中,群體中的每個粒子通過不斷學習自己的知識以及社會群體知識來調整搜索位置和方向,從而反映出群體的智力[9]。由于PSO算法計算速度快,和其他的計算方法整合應用簡單方便,因此成為研究者熱衷的研究課題。
初始化粒子群體數目為M,參數搜索空間維度N,t為當前迭代次數,搜索過程執行如下步驟:
第i個粒子的當前位置為Xi(t)=[Xi,1(t),Xi,2(t),…,Xi,N(t)],第i個粒子的當前速度為Vi(t)=[Vi,1(t),Vi,2(t),…,Vi,N(t)],第i個粒子的當前個體最好位置(pbest)為Pi(t)=[Pi,1(t),Pi,2(t),…,Pi,N(t)]。
其更新計算公式如式(1)所示:

可得出全局最佳位置為G(t)=Pg(t)=[Pg,1(t),Pg,2(t),…,Pg,N(t)],1≤g≤M。也可將其用gbest(t)表示,。這樣就可按照公式(2)進行粒子速度的迭代更新,按照公式(3)進行粒子位置更新:

式中:1≤i≤M,1≤j≤N;粒子進行搜索時的第t次參數尋優表示為t;c1與c2兩個參數即是粒子群的學習因子,c1用于調整向自身學習的部分,依賴個體經驗;而c2用于調整向群體學習,對整個粒子群進行學習;r1,i,j(t)和r2,i,j(t)是在(0,1)范圍內產生的隨機數。為防止粒子在進行參數尋優的過程中跳出空間范圍,對粒子速度范圍進行設置,即Vi,j(t)∈[-Vmax,Vmax],同樣地,對粒子的位置范圍進行設置,即Xi,j(t)∈[-Xmax,Xmax]。根據算法原理,粒子群不斷靠近當前全局最優位置,且根據適應度不斷更新全局最優解,可令粒子群聚合集中在該新的最優位置。
相比于神經網絡等其他學習方法,SVM算法擁有更為高效的分類性能。其結構布局相對簡單,對于樣本量小、非線性、數據特征量高的問題,SVM可以更好地處理,可以很好地發掘樣本的信息特征,并在一定程度上具有很強的泛化能力。SVM理論的目的是能夠獲取最優分類超平面H,并實現樣本間間隔(margin)最大化,且能夠高效準確地分類識別數據樣本集。SVM的最優分類超平面如圖1所示。

圖1 SVM的最優分類超平面
圖1中,H1、H2為樣本邊界,當實施兩分類問題時,假設訓練集包括數據樣本n個D={(xi,yi)|i=1,2,…,n},xi∈Rn,yi∈{+1,-1}能夠正確地分開,某一超平面H:w·x+b=0,讓分界面上的支持向量和最優分界的距離最大,也就是使||ω||2實現分類問題的最低值,并盡可能保證H1、H2之間沒有數據樣本,降低分類錯誤率。SVM基本模型為:

式中:懲罰系數C(C>0)決定著SVM分類模型是否復雜。利用求解式(4)能夠確保VC維的上界的值最小,同時使得模型的經驗風險最小。通過求解拉格朗日函數將相關問題進行轉化,進一步轉成求解二次規劃優化的方式,如下所示:

求解上述問題得到決策函數為:

將SVM分類模型應用于線性不可分的情形時,可采用核函數,其具有的非線性映射功能可以把分類樣本V=[Fn1,Fn2,Fn3,Fn4]映射到高維度的空間Z,使得待分類樣本數據可以進行有效的劃分,即:φ:RN→Z;x→φ(x),將低維空間的樣本再映射到高維空間中,進而更好地確立最優線性分類超平面。數據分類的原理如圖2所示。

圖2 核函數高維映射
最優求解模型為:

式中:核函數K(xi·xj)滿足Mercer條件,因此,其內積問題φ(xi)·φ(xj)可以利用核函數K(xi·xj)來解決,可得分類決策函數:

本文SVM分類模型選用RBF核函數。
首先,粒子群算法對模型參數空間尋優。
其次,對于粒子適應度函數[10]的取值進行優化,采用交叉驗證策略,計算平均分類正確率作為適應度值。懲罰系數C和核函數參數σ構成粒子的二維參數尋優空間,從中選擇一組向量,輸入SVM子分類器中。將數據樣本集分為N組,選取1組作為測試集,剩余N-1組作為訓練集。利用SVM子分類器進行分類處理后,進行分類器準確率的統計分析。將N組中的所有組均進行一次測試,即可計算得出總體測試的平均識別準確率。
再次,從參數空間中選取1組參數,繼續輸入到第一個子分類器中。
重復執行上述步驟,同時計算出每個C和σ組合而成的參數向量的平均識別準確率。采用其中存在最大平均分類識別率的一組C和σ,把它們作為模型的最優參數。由式(9)計算粒子的適應度值:

式中:Mi為第i組測試樣本對應的分類正確率。
在診斷液壓系統故障時,本文通過應用多值分類器的識別方法和粒子群算法來構建SVM模型,最后進行故障診斷和分類識別。本文采用二叉樹結構SVM診斷模型,它通過串聯多個SVM子分類器構成,利用PSO對SVM模型參數進行優化,進而構建可進行多分類的二叉樹故障分類器。粒子群算法優化SVM的故障診斷模型如圖3所示。

圖3 粒子群算法優化SVM故障診斷模型
粒子群算法優化SVM的故障診斷模型,具體步驟如下:
(1)采用PSO對SVM模型懲罰系數C和核參數σ進行優化;
(2)初始化參數,設置最大迭代次數為200,群體規模50,維度為2,構造訓練數據樣本集,設定C和σ取 值 范 圍:C=[0.01,100],σ=[0.1,1000],C和σ構建二維粒子,設置初始粒子的隨機位置和速度;
(3)由SVM多類分類模型對測試樣本集進行分類和識別,計算各個粒子的適應度值,根據第i個SVM子分類器是否可以對樣本故障類型進行判定,結果為能夠識別診斷,就會輸出正類,反之會輸出負類;
(4)結合適應度值,更新個體最佳位置與全局最佳位置;
(5)更新權值和學習因子,并更新速度和位置;
(6)對PSO算法是否為最大迭代次數進行判斷,是則終止,轉步驟(7);否即轉步驟(3);
(7)采用最高適應度的粒子,將其優化參數即其參數空間位置定義為優化后的粒子群算法改進后的最優SVM模型參數C*和σ*;
(8)將懲罰系數C*以及核參數σ*輸入SVM,構建故障診斷的最優SVM模型;
(9)應用該模型診斷系統故障。
溢流閥故障、減壓閥故障以及液壓泵故障這3種故障是液壓系統的主要故障。首先將采集到的這3種振動信號進行預處理;之后使用CEEMDAN結合模糊熵進行特征提取,并歸一化計算處理,建立數據樣本以便于訓練及測試。結合液壓系統不同的故障狀態,每種狀態都設置特征向量50個,用它們組合成訓練樣本。即訓練數據包含4類故障狀態共200個特征向量。同時選取液壓系統4種故障狀態,每種狀態構建30個特征向量,作為測試數據集。即測試數據集包含4類故障狀態共120個特征向量。在訓練數據集中,針對4類液壓系統狀態,分別選取其中3個模糊熵特征向量,如表1所示。

表1 數據樣本特征向量
設置改進的算法模型最大迭代次數為200、群體 規 模50,C=[0.01,100]、σ=[0.1,1000],實 驗迭代達到最大代數,則算法終止,并保存搜索到的最優參數。為驗證本文所用改進算法的優越性,分別采用粒子群算法優化SVM多值分類模型、基本SVM模型以及遺傳算法優化SVM模型對液壓系統進行訓練測試,對診斷精度進行比較,以驗證本文提出的粒子群算法優化SVM模型的分類性能。
3種模型的分類性能比較結果如表2所示, 3種算法預測分類和測試集實際分類情況如圖4 所示。

圖4 測試集的實際分類和這3種算法預測分類

表2 3種算法分類性能比較
從表2和圖4可以看出,應用優化后的PSO-SVM模型進行故障診斷,準確率提高到97.5%,GA-SVM準確率為91.7%,單個SVM準確率為81.7%。優化后的PSO-SVM模型準確率最高,GA-SVM其次,SVM最低。分析實驗結果可知,優化后的PSO-SVM故障診斷模型具有更強的分類性能,對液壓系統故障的識別準確率有著顯著的提升。
本文利用CEEMDAN結合模糊熵進行特征提取,更好地反應故障特征。故障識別采用支持向量機分類器,以二分類SVM為基礎,構建二叉樹結構的多分類模型,有效提升分類效果,避免劃分盲區。應用粒子群算法,利用其較好的收斂速度和全局尋優能力優化支持向量機模型參數,并與基本SVM和GA-SVM進行對比分析。實驗表明,本文采用的粒子群算法(PSO)優化SVM顯著提高了SVM故障診斷模型的故障診斷準確率,提升了分類性能,該模型對于液壓系統的故障識別具有很強的適用性。