劉一鷗
(西安外事學(xué)院 陜西 西安710077)
基于支持向量機的設(shè)備故障診斷研究
劉一鷗
(西安外事學(xué)院 陜西 西安710077)
支持向量機作為基于統(tǒng)計學(xué)理論的機器學(xué)習(xí)方法,在人工智能識別方面的研究起到了重要的作用。本文將支持向量機智能識別方法引入到機械設(shè)備的故障診斷當(dāng)中,并對支持向量機模型起到關(guān)鍵作用的懲罰因子c和核參數(shù)g采用了交叉驗證的方法進行最優(yōu)化計算。建立了基于優(yōu)化的支持向量機的機械設(shè)備故障診斷模型,并且進行了相關(guān)實驗,實驗表明,采用本文介紹的基于支持向量機的故障診斷方法可有效識別出機械設(shè)備的故障類型,對機械設(shè)備的故障診斷提供了有效的診斷方法。
支持向量機;交叉驗證;機械設(shè)備;故障診斷
機器學(xué)習(xí)是指這樣的過程:通過對樣本的訓(xùn)練,尋找輸入變量和輸出變量的關(guān)系的一種近似估計,這種估計得夠以較高的準(zhǔn)確率來預(yù)測輸出變量的結(jié)果。目前,研究者們建立了各種諸如KNN(K最近鄰)算法、神經(jīng)網(wǎng)絡(luò)算法以及支持向量機算法等等一系列基于向量空間模型的訓(xùn)練算法和分類算法[1-2]。其中支持向量機 (Support Vector Machine)是由研究專家Cortes和Vapnik首先發(fā)現(xiàn)并提出的,在小樣本、非線性及高維模式識別等領(lǐng)域中表現(xiàn)了較好的應(yīng)用優(yōu)勢,并且也能夠在函數(shù)擬合等其他機器學(xué)習(xí)中發(fā)揮積極的作用[3]。如文獻(xiàn)[4]通過對風(fēng)機傳動系統(tǒng)中齒輪故障進行模擬試驗,構(gòu)建結(jié)構(gòu)風(fēng)險最優(yōu)的支持向量機(SVM)網(wǎng)絡(luò),采用SVM對齒輪箱試驗臺齒輪故障進行診斷分類識別,取得較好的效果,說明SVM作為一種故障診斷方法的實用性。文獻(xiàn)[5]提出了一種基于支持向量機的礦井通風(fēng)機故障診斷方法。并且證明了支持向量機對有限的樣本數(shù)據(jù)具有良好的學(xué)習(xí)能力??煽焖俨?zhǔn)確地診斷礦井通風(fēng)機故障的目的。文獻(xiàn)[6]針對轉(zhuǎn)子系統(tǒng)故障信息的復(fù)雜性,提出將小波包分析和支持向量機相結(jié)合的轉(zhuǎn)子系統(tǒng)早期故障診斷方法。該方法首先利用改進的小波包方法提取早期故障特征;然后將提取的特征向量輸入基于支持向量機的分類器進行故障識別。實驗分析結(jié)果表明,該方法在小樣本情況下,能夠有效識別轉(zhuǎn)子系統(tǒng)的早期故障,具有很好的分類精度,而且能夠?qū)崿F(xiàn)旋轉(zhuǎn)機械的多故障診斷。通過文獻(xiàn)可以看出,采用支持向量機的方法可以有效的進行機械設(shè)備的故障診斷,在運用SVM做分類預(yù)測時,需要針對懲罰參數(shù)c和核函數(shù)參數(shù)g等調(diào)節(jié)相關(guān)參數(shù),才能使得分類預(yù)測的準(zhǔn)確率較高。交叉驗證CV,(Cross Validation)思想的運用在一定程度上能夠獲得最優(yōu)的參數(shù),從而在學(xué)習(xí)和欠學(xué)習(xí)狀態(tài)等不同狀態(tài)下獲得準(zhǔn)確率較好的測試結(jié)果。相關(guān)的研究證明,運用交叉驗證選擇參數(shù)進行SVM訓(xùn)練所得到的模型要優(yōu)于隨機選取參數(shù),分類效果也更好。而交叉驗證的方式是目前較為有效的進行懲罰因子c和核參數(shù)g求取方法,因此本文在前人研究的基礎(chǔ)上采用交叉驗證方法進行機械設(shè)備故障識別模型的最優(yōu)化建立。進而提高機械故障診斷的準(zhǔn)確性。
1.1支持向量機理論
支持向量機 (Support Vector Machine,SVM)是由Cortes 和Vapnik首先發(fā)現(xiàn)并提出的,支持向量機方法的建立是基于統(tǒng)計學(xué)的VC維理論和結(jié)構(gòu)風(fēng)險最小原理來完成的,能夠結(jié)合樣本信息進行學(xué)習(xí)精度以及無錯誤識別樣本能力之間獲得最佳折衷,從而獲取最優(yōu)的推廣能力[7-8]。其基本原理是(以二維數(shù)據(jù)為例,如圖1所示):在圖1中若訓(xùn)練數(shù)據(jù)為分布在二維平面上的點,那么依據(jù)分類標(biāo)準(zhǔn)可聚集在不同的區(qū)域。這一算法的目標(biāo)在于通過訓(xùn)練尋找各個分類的邊界,其中直線代表線性劃分,曲線代表非線性劃分。
圖1 線性劃分示意圖
支持向量機首要任務(wù)即為最簡單的模式識別,即為超平面的二分類問題。先考慮兩類線性可分情況。設(shè)X1,X2,…,Xn其中Xi∈Rd,i=1,…,n,n是n個d維訓(xùn)練樣本,每個樣本對應(yīng)的標(biāo)一記為y1,y2,…,yn,其中yi∈{1,-1},i=1,…,n標(biāo)明該向量屬于兩類中的哪一類[9]。若超平面wT·x+b能將訓(xùn)練樣本分開,則有:
SVM的目標(biāo)在于優(yōu)中選優(yōu),如圖1中選擇最合適的分類面H1,H2分別代表能夠通過各類樣本中離分類線最近的點并且還能夠與分類線的直線平行的分類線,H1和H2之間的距離則被稱為是兩類的分類空隙 (margin)。線性判別函數(shù)表示為g(x)=w·x+b,分類面方程為:w·x+b=0。實現(xiàn)所有樣本正確分類,就是要求它滿足
而式(3)中使等號成立所對應(yīng)的樣本,則被稱為支持向量(Support Vectors)。因此問題轉(zhuǎn)換為約束優(yōu)化問題,其可采用拉格朗日方法進行求取,拉格朗日函數(shù)因此定義如下:
采用拉格朗日算法計算后則可獲得最優(yōu)分類函數(shù)是:
sgn()為符號函數(shù)。如上所述,非支持向量的ai均為0,分析非線性劃分問題,我們發(fā)現(xiàn)能夠通過采用非線性變換中Φ:Rd→H實現(xiàn)向高維空間H中線性的轉(zhuǎn)換。通常情況下,這種變換形式是較為復(fù)雜不易于實現(xiàn)的。然而,分析上述問題,我們發(fā)現(xiàn),不管是目標(biāo)函數(shù)還是分類函數(shù)的優(yōu)化均只是涉及了向量的點積運算,即Φ(xi)·Φ(xj)的形式[10-11]。如果存在一個“核函數(shù)”K,滿足:
原空間中的函數(shù)則可以用來進行變換空間中的點積,進而避免映射Φ的具體形式常見的滿足Mercer條件的核函數(shù)有[12]:
線性核函數(shù):K(x,y)=x·y
多項式核函數(shù):K(x,y)=(γx·y+r)p,r>0
高斯徑向基函數(shù):K(x,y)=exp(-γ‖x·y‖2),γ>0
兩層感知器核函數(shù):K(x,y)=tanh(γx·y+r)
1.2基于交叉驗證的SVM優(yōu)化算法
交叉驗證(CV)是進行分類器性能驗證常用的一種方法,核心思想在于將原始數(shù)據(jù)首先進行分組,其中一部分作為訓(xùn)練集,其余的部分作為驗證集,然后再訓(xùn)練集對分類器進行相應(yīng)的訓(xùn)練。并通過驗證集進行訓(xùn)練模型的驗證,從而獲得準(zhǔn)確率較高的性能指標(biāo)[13-14]。其中K-交叉驗證是交叉驗證方法的衍生的一種模式,其計算過程為對原始數(shù)據(jù)被均分為K組,并針對分割好的K個子集一一進行驗證,同時將剩余的K-1組子集作為訓(xùn)練集,因此,將得到K個模型,分類進行模型的驗證,再取其平均值作為K-CV下分類器的性能指標(biāo)。一般來說,SVM參數(shù)的優(yōu)化選擇未有統(tǒng)一的方法。目前,使用最多的即為在一定的范圍內(nèi)進行c和g取值,然后據(jù)此將訓(xùn)練集作為原始數(shù)據(jù)集再通過K-CV方法獲得c和g下訓(xùn)練集進行分類驗證的準(zhǔn)確率,并最終將準(zhǔn)確率最高的c和g確定為最理想的參數(shù),然而,在實際應(yīng)用中,也有可能出現(xiàn)多組分類準(zhǔn)確率較高的情況,在這種情況下,則需要比較選擇能夠達(dá)到最高準(zhǔn)確率的組合最小的那組。c和g做為最佳的參數(shù),如果對應(yīng)最小的有多組g,就選取搜索到的第一組c和g做為最佳的參數(shù)。究其原因,過高則有可能導(dǎo)致學(xué)習(xí)狀態(tài)發(fā)生。因此,在所驗證的最高分類準(zhǔn)確率中,較小的懲罰參數(shù)的c和g則應(yīng)該是更理想的參數(shù)。
1.3基于交叉驗證方法的支持向量機模型優(yōu)化建立流程
通過上述內(nèi)容,本文設(shè)計基于交叉驗證的基本流程如下:
1)所有特征值歸一化;
2)選擇較好的核函數(shù);
3)使用K交叉驗證(cross-validation)選擇較好的參數(shù)(C 和gamma);
4)用找到的參數(shù)來訓(xùn)練得到分類模型(model);
5)載入分類模型對測試樣本進行分類。
2.1機械設(shè)備故障特征數(shù)據(jù)處理
汽輪發(fā)電機是重要的機械設(shè)備,并且應(yīng)用廣泛,本文采用汽輪機的常見故障進行分析,汽輪發(fā)電機組典型的故障類型分別是不平衡、碰磨、松動共3類,故障數(shù)據(jù)從模擬轉(zhuǎn)子實驗臺獲得,從中選取5組已知類別的故障樣本共90個進行訓(xùn)練。信號以頻譜分析為基準(zhǔn),采集數(shù)據(jù)經(jīng)過歸一化作為輸入征兆,其中部分?jǐn)?shù)據(jù)如表1所示。其中頻域征兆,A:≤0.5f1,B:(0.51~0.99) f1,C:1f1,D:2f1,E:(3~5)f1,F(xiàn):odd f1,G:>5f1其中,f1為轉(zhuǎn)速工頻。
表1 汽輪機故障特征數(shù)據(jù)
2.2基于K-交叉驗證的支持向量模型建立
經(jīng)過了歸一化處理的汽輪發(fā)電機故障數(shù)據(jù)則可進入SVM分類識別模塊,首先將這90個樣本進行分類,其中將故障數(shù)據(jù)的50%作為訓(xùn)練集,其余的作為測試集,并采用訓(xùn)練集進行SVM的訓(xùn)練獲得分類模型,再通過測試集將獲得的分類模型進行測試。訓(xùn)練過程中可分別選擇4種不同的核函數(shù)進行SVM模型的建立,其中每種核函數(shù)下核參數(shù)c和特征參數(shù)g需要進行最優(yōu)化計算,只有通過最優(yōu)化計算后的核參數(shù)c和特征參數(shù)g構(gòu)建出來的SVM模型才能實現(xiàn)最優(yōu)的分類效果,文中采用前面介紹的K-CV方法進行核參數(shù)c和特征參數(shù)g的求取。其計算過程可以將c和g在一定范圍內(nèi)進行離散查找,直到查找到最優(yōu)參數(shù)為止,這里將c和g在2的指數(shù)范圍網(wǎng)格內(nèi)進行查找。其中:cmin:懲罰參數(shù)c的變化范圍的最小值(取以2為底的冪指數(shù)后),即c_min=2cmin,默認(rèn)為-10。cmax;懲罰參數(shù)c的變化范圍的最大值(取以2為底的冪指數(shù)后),即c_max=2cmax,默認(rèn)值為10。gmin:懲罰參數(shù)c的變化范圍的最小值(取以2為底的冪指數(shù)后),即g_min=2gmin,默認(rèn)為-10。gmax;懲罰參數(shù)c的變化范圍的最大值(取以2為底的冪指數(shù)后),即g_max=2gmax,默認(rèn)值為10。c和g的搜索步長為1,應(yīng)用LIBSVM工具箱則可進行核參數(shù)c和特征參數(shù)g交叉驗證的選取[15-16]。文中對采用多項式核函數(shù)下的交叉驗證選取結(jié)果,如圖2所示。
圖2 不同核函數(shù)下K-CV驗證結(jié)果
上述圖形的含義是,橫軸代表c取以2為底的對數(shù)后的值,Y軸代表g取以2為底的對數(shù)后的值,等高線代表取相應(yīng)的c和g后所對應(yīng)的K-CV方法的準(zhǔn)確率,結(jié)合圖能夠看出c的范圍為2-10到210,而g的范圍為2-10到210。圖2分別為4種不同核函數(shù)下進行交叉驗證結(jié)果下的最優(yōu)核參數(shù)c和特征參數(shù)g組合,從圖中可以看出,在訓(xùn)練過程中采用線性核函數(shù)后進行K-CV交叉驗證后當(dāng)c=0.757 8,g=1 024時訓(xùn)練樣本的誤差為0.26。采用多項式核函數(shù)后進行K-CV交叉驗證后當(dāng) c=0.000 97,g=111.43時訓(xùn)練樣本的誤差為0.124。采用高斯徑向基核函數(shù)后進行K-CV交叉驗證后當(dāng)c=36.75,g=0.015時訓(xùn)練樣本的誤差為0.063。采用多項式核函數(shù)后進行K-CV交叉驗證后當(dāng)c=21.11,g=0.015時訓(xùn)練樣本的誤差為0.16。通過以上可以分析,對應(yīng)不同核函數(shù)進行交叉驗證時所獲得的最優(yōu)核參數(shù)c和特征參數(shù)g組合也有所不同。獲取到最優(yōu)參數(shù)組合后則表明已經(jīng)訓(xùn)練完畢SVM模型,下一步則可將測試樣本應(yīng)用到SVM模型中進行驗證該模型的可靠性。
2.3基于支持向量的機械設(shè)備故障診斷模型測試
將測試樣本集帶入到模型中進行模型測試,模型測試結(jié)果如表2所示。通過表2可以看出,采用不同核函數(shù)測試的結(jié)果不同,其中采用高斯徑向基核函數(shù)進行測試結(jié)果的準(zhǔn)確率最高可以達(dá)到93%,其次是采用多項式核函數(shù)的測試準(zhǔn)確率為88%,之后是采用兩層感知核函數(shù)預(yù)測的結(jié)果準(zhǔn)確率為82%,最后的為采用線性核函數(shù),其準(zhǔn)確率僅為76%。同時支持向量機性能評價的另外一個指標(biāo)為支持向量個數(shù),其數(shù)量的多少直接反應(yīng)了模型的建立的復(fù)雜程度和測試的時間,其中采用高斯徑向基核函數(shù)進行SVM分類模型的建立只需要9個支持向量的個數(shù),而采用多項式核函數(shù)則需要21個支持向量個數(shù),通過測試時間也可以看出,采用9個支持向量個數(shù)的高斯徑向基核函數(shù)測試過程時間只需要0.56 s,低于其他3種核函數(shù)。綜上所示,通過對比可以看出,采用高斯徑向基核函數(shù)和最優(yōu)參數(shù)組合(c=36.75,g=0.015)進行交通標(biāo)志識別的效果最好。
表2 SVM模型測試結(jié)果
為了對比采用SVM進行交通標(biāo)志識別的優(yōu)越性,文中將SVM測試結(jié)果與采用BP神經(jīng)網(wǎng)絡(luò)和KNN(K最近鄰)算法和BP神經(jīng)網(wǎng)絡(luò)算法識別結(jié)果進行對比,其對比結(jié)果如表3所示。通過表3可以看出采用SVM進行汽輪發(fā)電機故障識別的準(zhǔn)確率和測試時間都優(yōu)于KNN算法和BP神經(jīng)網(wǎng)絡(luò)算法。因此采用SVM進行汽輪發(fā)電機具有最佳的效果。通過以上的實驗可證明文中設(shè)計的基于SVM的汽輪發(fā)電機故障檢測識別方法準(zhǔn)確率可以達(dá)到93%,可以很好的滿足機械設(shè)備的故障診斷識別。
表3 3種機器學(xué)習(xí)方法識別結(jié)果
文中進行了基于SVM的機械設(shè)備故障診斷技術(shù)研究,其中介紹了基于統(tǒng)計學(xué)原理的SVM分類識別原理,并對SVM分類識別中的核參數(shù)c和特征參數(shù)g的計算采用了KCV交叉驗證的方法進行最優(yōu)參數(shù)計算,給出了SVM具體流程,最后進行了基于SVM的汽輪發(fā)電機故障診斷識別實驗研究,實驗結(jié)果表明:采用高斯徑向基核函數(shù)和最優(yōu)參數(shù)組合(c=36.75,g=0.015)進行汽輪發(fā)電機故障診斷識別的效果最好,同時與KNN和BP神經(jīng)網(wǎng)絡(luò)預(yù)測的結(jié)果進行了對比,最終確定了文中設(shè)計的采用SVM分類模型進行汽輪發(fā)電機故障診斷識別的效果最佳,準(zhǔn)確度可達(dá)到93%,以很好的滿足機械設(shè)備故障自動診斷識別要求。
[1]朱亞輝,黃襄念.SVM方法在模式識別應(yīng)用領(lǐng)域中的發(fā)展與研究[J].現(xiàn)代計算機,2015(6):20-24.
[2]蔣方純,田盛豐,尹傳環(huán).機器學(xué)習(xí)置信度機制研究綜述[J].北京交通大學(xué)學(xué)報,2014(3):111-117.
[3]胡春玲.貝葉斯網(wǎng)絡(luò)研究綜述[J].合肥學(xué)院學(xué)報:自然科學(xué)版,2013(1):33-40.
[4]占健,吳斌,王加祥.基于支持向量機的齒輪箱齒輪故障診斷[J].上海電機學(xué)院學(xué)報,2014(1):5-10.
[5]石瑤,任清陽.基于支持向量機的礦井通風(fēng)機故障診斷系統(tǒng)的研究[J].自動化與儀器儀表,2013(5):18-20.
[6]牛偉,成娟,毛寧,等.基于支持向量機的轉(zhuǎn)子系統(tǒng)早期故障診斷方法[J].測控技術(shù),2014(9):18-21.
[7]Cortes C,Vapnik V.Support-vector networks[J].Machine learning,1995,20(3):273-297.
[8]林輝,王德成.支持向量機的參數(shù)優(yōu)化及其在故障診斷中的應(yīng)用[J].計算機科學(xué),2010,37(4):255-257.
[9]丁勇,秦曉明,何寒暉.支持向量機的參數(shù)優(yōu)化及其文本分類中的應(yīng)用[J].計算機仿真,2010,27(11):187-190.
[10]董澤,李鵬,王學(xué)厚,等.基于粗糙集和支持向量機的汽輪機組故障診斷 [J].華北電力大學(xué)學(xué)報:自然科學(xué)版,2008 (2):79-82.
[11]李鋒,湯寶平,章國穩(wěn).基于舍一交叉驗證優(yōu)化最小二乘支持向量機的故障診斷模型 [J].振動與沖擊,2010(9):170-174.
[12]閻威武,朱宏棟,邵惠鶴.基于最小二乘支持向量機的軟測量建模[J].系統(tǒng)仿真學(xué)報,2003(10):1494-1496.
[13]江偉,羅毅,涂光瑜.基于多類支持向量機的變壓器故障診斷模型[J].水電能源科學(xué),2007(1):52-55.
[14]郎宇寧,藺娟如.基于支持向量機的多分類方法研究[J].中國西部科技,2010(17):28-29.
[15]薛寧靜.多類支持向量機分類器對比研究[J].計算機工程與設(shè)計,2011(5):1792-1795.
[16]謝娟英,張兵權(quán),汪萬紫.基于雙支持向量機的偏二叉樹多類分類算法[J].南京大學(xué)學(xué)報:自然科學(xué)版,2011(4):354-363.
Research on equipment fault diagnosis based on support vector machine
LIU Yi-ou
(Xi'an International University,Xi'an 710077,China)
Support vector machine as a machine learning method based on statistical theory,which plays an important role in the study of artificial intelligence.In this paper,a support vector machine intelligent recognition method is introduced to the mechanical fault diagnosis,and the penalty factor C and kernel factor g of the support vector machine model are optimized used the cross validation method.A fault diagnosis model based on the optimized support vector machine is established,and the related experiments are carried out.Experiments show that this method can effectively identify the fault types of mechanical equipment with the support vector machine method,which provides an effective diagnosis method for fault diagnosis of mechanical equipment.
support vector machine;cross validation;mechanical equipment;fault diagnosis
TN0
A
1674-6236(2016)22-0067-04
2015-11-25稿件編號:201511252
2015年陜西省教育廳科學(xué)研究項目(15JK2113);2015年陜西省高等教育教學(xué)改革研究項目(15J37);2016年西安市社會科學(xué)規(guī)劃基金項目(16IN13)
劉一鷗(1978—),女,陜西西安人,碩士,講師。研究方向:人工智能、軟件工程。