劉一鷗
(西安外事學院 陜西 西安710077)
基于支持向量機的設備故障診斷研究
劉一鷗
(西安外事學院 陜西 西安710077)
支持向量機作為基于統計學理論的機器學習方法,在人工智能識別方面的研究起到了重要的作用。本文將支持向量機智能識別方法引入到機械設備的故障診斷當中,并對支持向量機模型起到關鍵作用的懲罰因子c和核參數g采用了交叉驗證的方法進行最優化計算。建立了基于優化的支持向量機的機械設備故障診斷模型,并且進行了相關實驗,實驗表明,采用本文介紹的基于支持向量機的故障診斷方法可有效識別出機械設備的故障類型,對機械設備的故障診斷提供了有效的診斷方法。
支持向量機;交叉驗證;機械設備;故障診斷
機器學習是指這樣的過程:通過對樣本的訓練,尋找輸入變量和輸出變量的關系的一種近似估計,這種估計得夠以較高的準確率來預測輸出變量的結果。目前,研究者們建立了各種諸如KNN(K最近鄰)算法、神經網絡算法以及支持向量機算法等等一系列基于向量空間模型的訓練算法和分類算法[1-2]。其中支持向量機 (Support Vector Machine)是由研究專家Cortes和Vapnik首先發現并提出的,在小樣本、非線性及高維模式識別等領域中表現了較好的應用優勢,并且也能夠在函數擬合等其他機器學習中發揮積極的作用[3]。如文獻[4]通過對風機傳動系統中齒輪故障進行模擬試驗,構建結構風險最優的支持向量機(SVM)網絡,采用SVM對齒輪箱試驗臺齒輪故障進行診斷分類識別,取得較好的效果,說明SVM作為一種故障診斷方法的實用性。文獻[5]提出了一種基于支持向量機的礦井通風機故障診斷方法。并且證明了支持向量機對有限的樣本數據具有良好的學習能力。可快速并準確地診斷礦井通風機故障的目的。文獻[6]針對轉子系統故障信息的復雜性,提出將小波包分析和支持向量機相結合的轉子系統早期故障診斷方法。該方法首先利用改進的小波包方法提取早期故障特征;然后將提取的特征向量輸入基于支持向量機的分類器進行故障識別。實驗分析結果表明,該方法在小樣本情況下,能夠有效識別轉子系統的早期故障,具有很好的分類精度,而且能夠實現旋轉機械的多故障診斷。通過文獻可以看出,采用支持向量機的方法可以有效的進行機械設備的故障診斷,在運用SVM做分類預測時,需要針對懲罰參數c和核函數參數g等調節相關參數,才能使得分類預測的準確率較高。交叉驗證CV,(Cross Validation)思想的運用在一定程度上能夠獲得最優的參數,從而在學習和欠學習狀態等不同狀態下獲得準確率較好的測試結果。相關的研究證明,運用交叉驗證選擇參數進行SVM訓練所得到的模型要優于隨機選取參數,分類效果也更好。而交叉驗證的方式是目前較為有效的進行懲罰因子c和核參數g求取方法,因此本文在前人研究的基礎上采用交叉驗證方法進行機械設備故障識別模型的最優化建立。進而提高機械故障診斷的準確性。
1.1支持向量機理論
支持向量機 (Support Vector Machine,SVM)是由Cortes 和Vapnik首先發現并提出的,支持向量機方法的建立是基于統計學的VC維理論和結構風險最小原理來完成的,能夠結合樣本信息進行學習精度以及無錯誤識別樣本能力之間獲得最佳折衷,從而獲取最優的推廣能力[7-8]。其基本原理是(以二維數據為例,如圖1所示):在圖1中若訓練數據為分布在二維平面上的點,那么依據分類標準可聚集在不同的區域。這一算法的目標在于通過訓練尋找各個分類的邊界,其中直線代表線性劃分,曲線代表非線性劃分。

圖1 線性劃分示意圖
支持向量機首要任務即為最簡單的模式識別,即為超平面的二分類問題。先考慮兩類線性可分情況。設X1,X2,…,Xn其中Xi∈Rd,i=1,…,n,n是n個d維訓練樣本,每個樣本對應的標一記為y1,y2,…,yn,其中yi∈{1,-1},i=1,…,n標明該向量屬于兩類中的哪一類[9]。若超平面wT·x+b能將訓練樣本分開,則有:

SVM的目標在于優中選優,如圖1中選擇最合適的分類面H1,H2分別代表能夠通過各類樣本中離分類線最近的點并且還能夠與分類線的直線平行的分類線,H1和H2之間的距離則被稱為是兩類的分類空隙 (margin)。線性判別函數表示為g(x)=w·x+b,分類面方程為:w·x+b=0。實現所有樣本正確分類,就是要求它滿足

而式(3)中使等號成立所對應的樣本,則被稱為支持向量(Support Vectors)。因此問題轉換為約束優化問題,其可采用拉格朗日方法進行求取,拉格朗日函數因此定義如下:

采用拉格朗日算法計算后則可獲得最優分類函數是:

sgn()為符號函數。如上所述,非支持向量的ai均為0,分析非線性劃分問題,我們發現能夠通過采用非線性變換中Φ:Rd→H實現向高維空間H中線性的轉換。通常情況下,這種變換形式是較為復雜不易于實現的。然而,分析上述問題,我們發現,不管是目標函數還是分類函數的優化均只是涉及了向量的點積運算,即Φ(xi)·Φ(xj)的形式[10-11]。如果存在一個“核函數”K,滿足:

原空間中的函數則可以用來進行變換空間中的點積,進而避免映射Φ的具體形式常見的滿足Mercer條件的核函數有[12]:
線性核函數:K(x,y)=x·y
多項式核函數:K(x,y)=(γx·y+r)p,r>0
高斯徑向基函數:K(x,y)=exp(-γ‖x·y‖2),γ>0
兩層感知器核函數:K(x,y)=tanh(γx·y+r)
1.2基于交叉驗證的SVM優化算法
交叉驗證(CV)是進行分類器性能驗證常用的一種方法,核心思想在于將原始數據首先進行分組,其中一部分作為訓練集,其余的部分作為驗證集,然后再訓練集對分類器進行相應的訓練。并通過驗證集進行訓練模型的驗證,從而獲得準確率較高的性能指標[13-14]。其中K-交叉驗證是交叉驗證方法的衍生的一種模式,其計算過程為對原始數據被均分為K組,并針對分割好的K個子集一一進行驗證,同時將剩余的K-1組子集作為訓練集,因此,將得到K個模型,分類進行模型的驗證,再取其平均值作為K-CV下分類器的性能指標。一般來說,SVM參數的優化選擇未有統一的方法。目前,使用最多的即為在一定的范圍內進行c和g取值,然后據此將訓練集作為原始數據集再通過K-CV方法獲得c和g下訓練集進行分類驗證的準確率,并最終將準確率最高的c和g確定為最理想的參數,然而,在實際應用中,也有可能出現多組分類準確率較高的情況,在這種情況下,則需要比較選擇能夠達到最高準確率的組合最小的那組。c和g做為最佳的參數,如果對應最小的有多組g,就選取搜索到的第一組c和g做為最佳的參數。究其原因,過高則有可能導致學習狀態發生。因此,在所驗證的最高分類準確率中,較小的懲罰參數的c和g則應該是更理想的參數。
1.3基于交叉驗證方法的支持向量機模型優化建立流程
通過上述內容,本文設計基于交叉驗證的基本流程如下:
1)所有特征值歸一化;
2)選擇較好的核函數;
3)使用K交叉驗證(cross-validation)選擇較好的參數(C 和gamma);
4)用找到的參數來訓練得到分類模型(model);
5)載入分類模型對測試樣本進行分類。
2.1機械設備故障特征數據處理
汽輪發電機是重要的機械設備,并且應用廣泛,本文采用汽輪機的常見故障進行分析,汽輪發電機組典型的故障類型分別是不平衡、碰磨、松動共3類,故障數據從模擬轉子實驗臺獲得,從中選取5組已知類別的故障樣本共90個進行訓練。信號以頻譜分析為基準,采集數據經過歸一化作為輸入征兆,其中部分數據如表1所示。其中頻域征兆,A:≤0.5f1,B:(0.51~0.99) f1,C:1f1,D:2f1,E:(3~5)f1,F:odd f1,G:>5f1其中,f1為轉速工頻。

表1 汽輪機故障特征數據
2.2基于K-交叉驗證的支持向量模型建立
經過了歸一化處理的汽輪發電機故障數據則可進入SVM分類識別模塊,首先將這90個樣本進行分類,其中將故障數據的50%作為訓練集,其余的作為測試集,并采用訓練集進行SVM的訓練獲得分類模型,再通過測試集將獲得的分類模型進行測試。訓練過程中可分別選擇4種不同的核函數進行SVM模型的建立,其中每種核函數下核參數c和特征參數g需要進行最優化計算,只有通過最優化計算后的核參數c和特征參數g構建出來的SVM模型才能實現最優的分類效果,文中采用前面介紹的K-CV方法進行核參數c和特征參數g的求取。其計算過程可以將c和g在一定范圍內進行離散查找,直到查找到最優參數為止,這里將c和g在2的指數范圍網格內進行查找。其中:cmin:懲罰參數c的變化范圍的最小值(取以2為底的冪指數后),即c_min=2cmin,默認為-10。cmax;懲罰參數c的變化范圍的最大值(取以2為底的冪指數后),即c_max=2cmax,默認值為10。gmin:懲罰參數c的變化范圍的最小值(取以2為底的冪指數后),即g_min=2gmin,默認為-10。gmax;懲罰參數c的變化范圍的最大值(取以2為底的冪指數后),即g_max=2gmax,默認值為10。c和g的搜索步長為1,應用LIBSVM工具箱則可進行核參數c和特征參數g交叉驗證的選取[15-16]。文中對采用多項式核函數下的交叉驗證選取結果,如圖2所示。

圖2 不同核函數下K-CV驗證結果
上述圖形的含義是,橫軸代表c取以2為底的對數后的值,Y軸代表g取以2為底的對數后的值,等高線代表取相應的c和g后所對應的K-CV方法的準確率,結合圖能夠看出c的范圍為2-10到210,而g的范圍為2-10到210。圖2分別為4種不同核函數下進行交叉驗證結果下的最優核參數c和特征參數g組合,從圖中可以看出,在訓練過程中采用線性核函數后進行K-CV交叉驗證后當c=0.757 8,g=1 024時訓練樣本的誤差為0.26。采用多項式核函數后進行K-CV交叉驗證后當 c=0.000 97,g=111.43時訓練樣本的誤差為0.124。采用高斯徑向基核函數后進行K-CV交叉驗證后當c=36.75,g=0.015時訓練樣本的誤差為0.063。采用多項式核函數后進行K-CV交叉驗證后當c=21.11,g=0.015時訓練樣本的誤差為0.16。通過以上可以分析,對應不同核函數進行交叉驗證時所獲得的最優核參數c和特征參數g組合也有所不同。獲取到最優參數組合后則表明已經訓練完畢SVM模型,下一步則可將測試樣本應用到SVM模型中進行驗證該模型的可靠性。
2.3基于支持向量的機械設備故障診斷模型測試
將測試樣本集帶入到模型中進行模型測試,模型測試結果如表2所示。通過表2可以看出,采用不同核函數測試的結果不同,其中采用高斯徑向基核函數進行測試結果的準確率最高可以達到93%,其次是采用多項式核函數的測試準確率為88%,之后是采用兩層感知核函數預測的結果準確率為82%,最后的為采用線性核函數,其準確率僅為76%。同時支持向量機性能評價的另外一個指標為支持向量個數,其數量的多少直接反應了模型的建立的復雜程度和測試的時間,其中采用高斯徑向基核函數進行SVM分類模型的建立只需要9個支持向量的個數,而采用多項式核函數則需要21個支持向量個數,通過測試時間也可以看出,采用9個支持向量個數的高斯徑向基核函數測試過程時間只需要0.56 s,低于其他3種核函數。綜上所示,通過對比可以看出,采用高斯徑向基核函數和最優參數組合(c=36.75,g=0.015)進行交通標志識別的效果最好。

表2 SVM模型測試結果
為了對比采用SVM進行交通標志識別的優越性,文中將SVM測試結果與采用BP神經網絡和KNN(K最近鄰)算法和BP神經網絡算法識別結果進行對比,其對比結果如表3所示。通過表3可以看出采用SVM進行汽輪發電機故障識別的準確率和測試時間都優于KNN算法和BP神經網絡算法。因此采用SVM進行汽輪發電機具有最佳的效果。通過以上的實驗可證明文中設計的基于SVM的汽輪發電機故障檢測識別方法準確率可以達到93%,可以很好的滿足機械設備的故障診斷識別。

表3 3種機器學習方法識別結果
文中進行了基于SVM的機械設備故障診斷技術研究,其中介紹了基于統計學原理的SVM分類識別原理,并對SVM分類識別中的核參數c和特征參數g的計算采用了KCV交叉驗證的方法進行最優參數計算,給出了SVM具體流程,最后進行了基于SVM的汽輪發電機故障診斷識別實驗研究,實驗結果表明:采用高斯徑向基核函數和最優參數組合(c=36.75,g=0.015)進行汽輪發電機故障診斷識別的效果最好,同時與KNN和BP神經網絡預測的結果進行了對比,最終確定了文中設計的采用SVM分類模型進行汽輪發電機故障診斷識別的效果最佳,準確度可達到93%,以很好的滿足機械設備故障自動診斷識別要求。
[1]朱亞輝,黃襄念.SVM方法在模式識別應用領域中的發展與研究[J].現代計算機,2015(6):20-24.
[2]蔣方純,田盛豐,尹傳環.機器學習置信度機制研究綜述[J].北京交通大學學報,2014(3):111-117.
[3]胡春玲.貝葉斯網絡研究綜述[J].合肥學院學報:自然科學版,2013(1):33-40.
[4]占健,吳斌,王加祥.基于支持向量機的齒輪箱齒輪故障診斷[J].上海電機學院學報,2014(1):5-10.
[5]石瑤,任清陽.基于支持向量機的礦井通風機故障診斷系統的研究[J].自動化與儀器儀表,2013(5):18-20.
[6]牛偉,成娟,毛寧,等.基于支持向量機的轉子系統早期故障診斷方法[J].測控技術,2014(9):18-21.
[7]Cortes C,Vapnik V.Support-vector networks[J].Machine learning,1995,20(3):273-297.
[8]林輝,王德成.支持向量機的參數優化及其在故障診斷中的應用[J].計算機科學,2010,37(4):255-257.
[9]丁勇,秦曉明,何寒暉.支持向量機的參數優化及其文本分類中的應用[J].計算機仿真,2010,27(11):187-190.
[10]董澤,李鵬,王學厚,等.基于粗糙集和支持向量機的汽輪機組故障診斷 [J].華北電力大學學報:自然科學版,2008 (2):79-82.
[11]李鋒,湯寶平,章國穩.基于舍一交叉驗證優化最小二乘支持向量機的故障診斷模型 [J].振動與沖擊,2010(9):170-174.
[12]閻威武,朱宏棟,邵惠鶴.基于最小二乘支持向量機的軟測量建模[J].系統仿真學報,2003(10):1494-1496.
[13]江偉,羅毅,涂光瑜.基于多類支持向量機的變壓器故障診斷模型[J].水電能源科學,2007(1):52-55.
[14]郎宇寧,藺娟如.基于支持向量機的多分類方法研究[J].中國西部科技,2010(17):28-29.
[15]薛寧靜.多類支持向量機分類器對比研究[J].計算機工程與設計,2011(5):1792-1795.
[16]謝娟英,張兵權,汪萬紫.基于雙支持向量機的偏二叉樹多類分類算法[J].南京大學學報:自然科學版,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年陜西省教育廳科學研究項目(15JK2113);2015年陜西省高等教育教學改革研究項目(15J37);2016年西安市社會科學規劃基金項目(16IN13)
劉一鷗(1978—),女,陜西西安人,碩士,講師。研究方向:人工智能、軟件工程。