舒 捷 王海瑞 呂維宗
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院)
搗固車是一種大型鐵路維修機(jī)械,工作過程中長期暴露在日曬、風(fēng)雨環(huán)境中,多受粉塵、雨水等的侵蝕和影響,故障問題多種多樣,而且故障原因也不便于查找解決[1]。 液壓系統(tǒng)是搗固車最為重要的部件之一, 該系統(tǒng)由多條液壓回路組成, 其中相當(dāng)重要的元件就是液壓泵與振動(dòng)馬達(dá),液壓泵在運(yùn)作時(shí)往其他部件輸送的壓力油為搗固車正常作業(yè)提供所需能量[2]。因此,保持液壓系統(tǒng)的穩(wěn)定運(yùn)行是使搗固車正常作業(yè)的必要條件。 液壓系統(tǒng)故障多而復(fù)雜,現(xiàn)有的基于模糊神經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)等智能故障診斷方法[3]都存在不同的缺陷。 為此, 筆者提出采用隱馬爾科夫(HMM)優(yōu)化支持向量機(jī)(SVM)的搗固車液壓系統(tǒng)診斷模型HMM-SVM, 充分發(fā)揮HMM模型在動(dòng)態(tài)時(shí)間序列處理上的優(yōu)勢(shì)和SVM強(qiáng)大的分類能力,以實(shí)現(xiàn)搗固車液壓系統(tǒng)故障的更精確診斷。
Markov鏈由前蘇聯(lián)數(shù)學(xué)家于20世紀(jì)初提出,此后經(jīng)各國數(shù)學(xué)家及研究者不斷完善與發(fā)展,在此基礎(chǔ)上,為了應(yīng)對(duì)統(tǒng)計(jì)學(xué)中出現(xiàn)的一些疑難問題,Leonard E Baum等于20世紀(jì)60年代中后期深入研究并提出了HMM模型[4]。 這個(gè)模型最早在語音識(shí)別[5]領(lǐng)域進(jìn)行測試應(yīng)用,此后逐步應(yīng)用于生物信息學(xué)、模式識(shí)別、信號(hào)處理及故障診斷[6]等領(lǐng)域并取得了不錯(cuò)的成果。 總體來說,HMM存在兩個(gè)隨機(jī),一個(gè)是狀態(tài)轉(zhuǎn)移隨機(jī),另一個(gè)是輸出與狀態(tài)間的隨機(jī),這兩個(gè)隨機(jī)過程就是HMM的主要表現(xiàn)形式[7]。 狀態(tài)序列由隱藏的Markov鏈隨機(jī)生成,通過觀察這個(gè)狀態(tài)序列得到的隨機(jī)觀測序列稱為觀察序列??梢杂上铝性貋順?gòu)造一個(gè)HMM模型:
a. 設(shè)Q是所有可能狀態(tài)的集合,V是所有可能觀測的集合,有Q={q1,q2,…,qN},V={v1,v2,…,vM},其中,N是可能的狀態(tài)數(shù),M是可能的觀測數(shù);
b. I是長度為T的狀態(tài)序列,O是對(duì)應(yīng)的觀測序列,有I=(i1,i2,…,iT),O=(o1,o2,…,oT);
c. 狀態(tài)轉(zhuǎn)移概率矩陣A=[aij]N×N,其中t時(shí)刻處于qi條件下t+1時(shí)刻轉(zhuǎn)移到qj的概率aij=Pij(it+1=qj|it=qi),i=1,2,…,N;j=1,2,…,N;
d. 觀測轉(zhuǎn)移概率矩陣B=[bj(k)]N×N,其中狀態(tài)qj在時(shí)刻t下生成觀測vk的概率bj(k)=P(ot=vk|it=qj),k=1,2,…,M;
e. 初始概率分布π=(πi),其中πi=P(i1=qi)。綜上所述,一個(gè)HMM模型的三元模型可以表示為:
λ=(π,A,B)
HMM模型存在三大基本問題, 即評(píng)估問題、學(xué)習(xí)問題和解碼問題。 評(píng)估問題求解的是某個(gè)觀測序列O可能出現(xiàn)的概率, 此時(shí)模型λ=(π,A,B)已經(jīng)具體給出, 此種問題通常采用前向-后向算法計(jì)算;在學(xué)習(xí)問題中,通過不斷調(diào)整模型參數(shù)λ=(π,A,B)使觀測序列O的概率(即P(O|λ))取得最大值,一般采用Baum-Welch算法對(duì)這一過程進(jìn)行估計(jì); 解碼問題是指在觀測序列O既定的情況下,選擇一個(gè)狀態(tài)序列S,使觀測序列O達(dá)到最優(yōu),此類問題的最佳解決算法為Viterbi算法。
SVM是一種二元分類模型,分類依據(jù)是使在超平面上樣本間的間隔(margin)最大化。 SVM有多種類型,比較常見的就是線性可分SVM和非線性SVM,這兩種SVM的劃分基礎(chǔ)在于訓(xùn)練樣本的差異性[8]。 針對(duì)線性可分SVM能夠看到存在多個(gè)超平面進(jìn)而可將樣本分開,這些可將樣本分開的超平面就是SVM的分界面。 在不計(jì)其數(shù)的超平面中,有且僅有一條這樣的直線,不僅能夠?qū)颖緮?shù)據(jù)正確劃分,而且它所受的其他因素的影響最小,也就是魯棒性最強(qiáng),同時(shí)還能使間隔達(dá)到最大[9]。 支持向量與間隔如圖1所示。
圖1 支持向量與間隔示意圖
對(duì)該問題求解對(duì)偶問題,其中αi、αj為拉格朗日乘子向量:
將樣本數(shù)據(jù)代入決策函數(shù)得出:
對(duì)于非線性SVM問題,由于非線性問題并不能被直接求解,所以需要通過某些變化將非線性問題先轉(zhuǎn)化為線性問題之后再進(jìn)行求解,通常采用非線性變換來達(dá)到這一目的,與此同時(shí)還利用核函數(shù)將樣本從低維空間映射到高維空間中[10],即有:
其中,K(xi·xj)是核函數(shù),并滿足Mercer條件。
由此得出決策函數(shù)為:
基于HMM模型的故障診斷一般是由輸出概率最大的HMM模型來決定的,而一個(gè)待診斷的故障信號(hào)由于受噪聲等環(huán)境因素的影響,可能有類似輸出概率的多個(gè)HMM模型, 導(dǎo)致故障識(shí)別困難,甚至形成誤判。 而基于SVM的故障診斷的診斷依據(jù)通常是當(dāng)前時(shí)刻的特征信號(hào),也就是說忽略了前后時(shí)序關(guān)系,導(dǎo)致最后輸出的結(jié)果在實(shí)際中可能并不會(huì)發(fā)生,最終形成誤判。
HMM的模式識(shí)別是建立在學(xué)習(xí)問題與編碼問題基礎(chǔ)上的, 這就表明,HMM反映的更多特征在于同類樣本間不同樣本的相似性;而SVM的優(yōu)勢(shì)在于根據(jù)不同類樣本呈現(xiàn)出的不同進(jìn)行分類處理。 兩者間的優(yōu)勢(shì)正好彌補(bǔ)了彼此的缺陷。 對(duì)于HMM只以最大概率進(jìn)行判斷的缺點(diǎn),可以利用SVM強(qiáng)大的分類能力彌補(bǔ);同時(shí),結(jié)合HMM處理連續(xù)動(dòng)態(tài)信號(hào)的優(yōu)勢(shì),降低SVM的局限性,將形成的特征值輸入SVM中診斷。 據(jù)此,提出采用隱馬爾科夫優(yōu)化支持向量機(jī)的搗固車液壓系統(tǒng)故障診斷模型HMM-SVM。
HMM優(yōu)化SVM模型的具體流程如圖2所示,其中H′1,H′2,…,H′n分別為各種故障類型。
圖2 HMM優(yōu)化SVM的流程
首先, 從收集到的訓(xùn)練樣本中提取振動(dòng)信號(hào), 由于振動(dòng)信號(hào)易受噪聲等環(huán)境因素的影響,所以在將這些信號(hào)初步處理后,利用主成分分析(PCA)技術(shù)提取關(guān)鍵信息形成特征向量。
其次,將這些特征向量輸入HMM模型中進(jìn)行訓(xùn)練,得到不同類別的HMM模型,并將各個(gè)HMM模型與已知故障類型一一對(duì)應(yīng),這一過程通常采取Baum-Welch算法。
然后,利用Viterbi算法計(jì)算觀察序列的概率,為了使得到的結(jié)果更加精確,受其他因素干擾達(dá)到最小, 將觀察序列概率值較小的部分舍棄,只留下出現(xiàn)概率比較大的樣本。
最后,將這些樣本標(biāo)記故障類型后轉(zhuǎn)入SVM分類器中,經(jīng)SVM分類器識(shí)別分類后,得出診斷結(jié)果。
搗固車液壓系統(tǒng)常見的故障參數(shù)有系統(tǒng)壓力、卸荷閥流量及液壓油溫度[11]等,產(chǎn)生的故障類型也多種多樣;而常見的易產(chǎn)生故障的部件有液壓閥、溢流閥和減壓閥。 這些故障的振動(dòng)信號(hào)由于受噪聲等環(huán)境因素的干擾常具有振動(dòng)信號(hào)異常、難以捕捉等特點(diǎn),增加了復(fù)雜性。 如果將在這些條件下收集的數(shù)據(jù)不經(jīng)過提純處理直接進(jìn)行訓(xùn)練的話,勢(shì)必會(huì)增加訓(xùn)練的困難程度,結(jié)果也不理想。因此,筆者采用PCA技術(shù)減小原始數(shù)據(jù)的維數(shù),以提高實(shí)驗(yàn)精度。
PCA通常將關(guān)系緊密的變量打亂, 然后提取與別的變量的互不相同處,重組成新變量,并使新變量間互不相關(guān),從而以更少的綜合指標(biāo)反映各個(gè)變量中的各類信息[12]。 其原理主要是經(jīng)由某種方法,在不遺失原始數(shù)據(jù)中的重要信息且方差達(dá)到最大值的情況下,將原始數(shù)據(jù)由高維空間線性映射到低維空間中。
設(shè)由采集到的單一信號(hào)故障構(gòu)成的一維列向量為Xi=(x1,x2,…,xm)T,訓(xùn)練故障信號(hào)樣本為m維,總量為N,具體PCA步驟如下:
c. 構(gòu)造矩陣CxUi=λiUi。
圖3 Markov鏈初始狀態(tài)
為了使觀察序列訓(xùn)練時(shí)在有強(qiáng)干擾、噪聲的情況下依舊保有較好的健壯性, 一般采用Baum-Welch算法,也就是說,使用本算法的目的是為了將環(huán)境等因素的干擾降為最小,從而使得最終得到的訓(xùn)練結(jié)果更加準(zhǔn)確:
其中,α為前向變量,β為后向變量,L為觀測值序列的數(shù)目。
在獲得初始模型參數(shù)并使用K-means聚類算法對(duì)它們進(jìn)行標(biāo)記后,使用式(1)~(3)迭代循環(huán)直至收斂。一般HMM模型在迭代循環(huán)至18次左右即收斂。
由于SVM是一種廣義線性分類器, 所以它通常應(yīng)用于二元數(shù)據(jù)的分類。 由于故障診斷問題通常包含多種故障類型, 單一的SVM并不能將數(shù)據(jù)完美劃分,所以在進(jìn)行數(shù)據(jù)分類前,需建立多個(gè)SVM。構(gòu)造多類SVM有兩種常見的方法:一是有多少種故障類型,就有多少個(gè)故障分類器的一對(duì)一策略; 二是基于故障類型的數(shù)目構(gòu)建若干個(gè)SVM分類器,使故障類型間能夠兩兩區(qū)分開來的一對(duì)多策略。 由于一對(duì)一策略構(gòu)造的分類器較少,訓(xùn)練規(guī)模不大、 工作簡單且訓(xùn)練數(shù)據(jù)較為均衡,所以本項(xiàng)目采用了一對(duì)一策略。 同時(shí),采用投票法,在故障診斷時(shí)根據(jù)得票率決策。
線性、高斯徑向基、多項(xiàng)式和Sigmoid是SVM中比較常見并且使用頻率也較高的核函數(shù)[12]。 鑒于高斯徑向基核函數(shù)相較于其他核函數(shù)有局部性強(qiáng)、調(diào)用參數(shù)少等優(yōu)點(diǎn),在樣本數(shù)量較少的情況下也能發(fā)揮較強(qiáng)的作用,所以本項(xiàng)目采用高斯徑向基核函數(shù):
本實(shí)驗(yàn)中, 隨機(jī)選取4種液壓系統(tǒng)故障類型的35組樣本向量作為訓(xùn)練樣本,將剩下的25組樣本作為測試樣本。 具體步驟如下:
a. 將測試樣本的振動(dòng)信號(hào)精簡提純,只留下不能被簡化舍棄的重要信息形成特征向量。
b. 以特征向量為觀測序列,并送入經(jīng)訓(xùn)練樣本多次訓(xùn)練優(yōu)化后的完善的HMM模型中。
c. 利用Viterbi算法計(jì)算得出每個(gè)狀態(tài)HMM模型中觀測值序列出現(xiàn)的概率P(O|λn)(其中n是故障類型數(shù),n=1,2,3,4)。
d. 將這些概率初步處理優(yōu)化后,輸入建立好的SVM分類器中識(shí)別分類。
e. 對(duì)每類故障狀態(tài)投票判別,得票最多的類別即為捕捉到的未知信號(hào)的故障類別。
將各故障類別各25組樣本共計(jì)100組樣本分別采用HMM-SVM模型、HMM模型和SVM模型進(jìn)行液壓系統(tǒng)故障診斷實(shí)驗(yàn), 結(jié)果見表1。 可以看出,單一的HMM或SVM模型對(duì)于液壓系統(tǒng)的故障診斷都具有較好的識(shí)別率 (準(zhǔn)確率分別為89%、91%); 基于HMM-SVM的故障診斷模型對(duì)于各故障類型的識(shí)別更加準(zhǔn)確(準(zhǔn)確率94%),受其他因素影響更小,健壯性更強(qiáng),誤診率也更低。
表1 3種模型故障診斷實(shí)驗(yàn)結(jié)果
通過HMM模型優(yōu)化SVM的搗固車液壓系統(tǒng)故障診斷模型不僅優(yōu)于基于HMM的故障診斷模型,也比基于SVM的故障診斷模型有更好的準(zhǔn)確率, 說明該模型的故障診斷效果要優(yōu)于單一的HMM和SVM模型。 該模型結(jié)合了HMM模型較強(qiáng)的處理連續(xù)動(dòng)態(tài)信號(hào)的能力和SVM分類能力的優(yōu)勢(shì),相互彌補(bǔ),充分發(fā)揮了各自的優(yōu)勢(shì)。 實(shí)驗(yàn)通過仿真模擬了搗固車液壓系統(tǒng)的故障診斷,基于較小樣本的HMM-SVM模擬訓(xùn)練與測試, 在搗固車液壓系統(tǒng)故障診斷問題中,識(shí)別和分類故障類型,取得了較好的結(jié)果。 因此,該模型應(yīng)用于搗固車液壓系統(tǒng)故障診斷具有很強(qiáng)的普適性。