和聲搜索算法優(yōu)化支持向量機的柴油機故障診斷研究*
沈紹輝,姚竹亭
(中北大學(xué) 機械與動力工程學(xué)院,太原030051)
摘要:針對在柴油機故障診斷中支持向量機核函數(shù)參數(shù)和懲罰因子的不同取值會影響到分類正確率的問題,提出利用和聲搜索算法對支持向量機相關(guān)參數(shù)進行選擇優(yōu)化(HS-SVM)的方法。在該方法中將參數(shù)作為和聲存于記憶庫中,而將支持向量機分類正確率作為目標(biāo)函數(shù),則整個尋優(yōu)過程即是尋找使函數(shù)值最大的和聲所對應(yīng)的解。通過對UCI中的2個數(shù)據(jù)集進行分類正確率測試,并與未優(yōu)化的支持向量機和人工蜂群算法優(yōu)化的支持向量機(ABC-SVM)測試結(jié)果對比,證明了該方法的優(yōu)越性。最后,將該方法用于柴油機故障診斷,并將分類正確率與未優(yōu)化SVM和ABC-SVM分類結(jié)果進行比較,進一步說明和聲搜索算法優(yōu)化的支持向量機(HS-SVM)既能獲得較高的分類結(jié)果正確率,又能有效降低運行時間,即說明該方法具有一定的實用性。
關(guān)鍵詞:和聲搜索算法;支持向量機;參數(shù)優(yōu)化;柴油機故障診斷
文章編號:1001-2265(2015)09-0066-05
收稿日期:2015-05-21;修回日期:2015-06-15
基金項目:*國家自然科學(xué)基金資助項目(51175480)
作者簡介:沈紹輝(1988—),男,河北邢臺人,中北大學(xué)碩士研究生,研究方向為機械系統(tǒng)故障診斷,(E-mail)1209161964@qq.com。
中圖分類號:TH122;TG506
Research on Diesel Engine Fault Diagnosis Based on Support Vector Machine Optimized
by Harmony Search Algorithm
SHEN Shao-hui, YAO Zhu-ting
(School of Mechanical and Power Engineering, North University of China, Taiyuan 030051, China)
Abstract:In view of the problem which different values of Support vector machine kernel function parameters and penalty factor will affect the classification accuracy in diesel engine fault diagnosis, this paper uses harmony search algorithm to optimize parameters of support vector machine(HS-SVM). In the method, the parameters will be stored in memory as a backup, and support vector machine classification accuracy as the objective function, so the optimization process is to look for the solution of harmony with the biggest function value. Through classification accuracy test of two UCI data sets and comparison with test results from unoptimized SVM and ABC-SVM, it demonstrates the superiority of the method. Finally, the method is for diesel engine fault diagnosis, and through comparison with unoptimized SVM and ABC-SVM, it further proves that HS-SVM can obtain higher classification accuracy, and reduce the running time effectively. Namely, it illustrates practicability of the proposed method.
Key words: harmony search algorithm; support vector machine; parameter optimization; diesel engine fault diagnosis
0引言
隨著現(xiàn)代化工業(yè)的不斷發(fā)展,柴油機作為動力設(shè)備已應(yīng)用到社會領(lǐng)域的各個行業(yè),并對社會生產(chǎn)和經(jīng)濟的發(fā)展起著重要作用[1-3]。然而柴油機復(fù)雜的結(jié)構(gòu)和惡劣的工作環(huán)境,使其發(fā)生故障的可能性較大。而當(dāng)故障發(fā)生時,不僅會直接中斷整個工作系統(tǒng)的運行,嚴(yán)重時甚至引起重大事故的發(fā)生,造成經(jīng)濟損失,因此,為避免有害影響的產(chǎn)生,對柴油機進行故障診斷成為必要工作。
支持向量機(Support Vector Machine, SVM)是以統(tǒng)計學(xué)習(xí)理論為基礎(chǔ),針對有限樣本的一種通用學(xué)習(xí)方法,能有效解決小樣本、高維數(shù)、非線性等問題,具有很好的泛化性能[4-7],是進行機械故障識別的重要工具。然而Vapnik等通過研究證明:在解決實際問題時,支持向量機核函數(shù)選擇的不同對其分類性能影響較小,以RBF核函數(shù)應(yīng)用較多,但核函數(shù)參數(shù)σ和懲罰因子C的選擇卻會直接影響到其分類性能的好壞。基于此,提出一種利用和聲搜索算法優(yōu)化RBF核函數(shù)的支持向量機來進行柴油機故障識別的方法,以期能夠獲得較高的故障識別率,進而能夠正確判斷故障類型,便于采取有效處理措施保證系統(tǒng)正常運轉(zhuǎn)、減少損失。
1和聲搜索算法優(yōu)化支持向量機的基本理論
1.1支持向量機(SVM)基本原理
SVM基本思想是尋找一個能夠滿足分類要求的最佳超平面,并在保證正確分類的基礎(chǔ)上,該平面使得兩類數(shù)據(jù)集的距離最大[8-9]。
給定樣本:(xi,yi),i=1,…n,xi∈Rd,yi∈{+1,-1}。xi為輸入特征,yi為決策屬性。則超平面尋優(yōu)問題可以轉(zhuǎn)為如下函數(shù)求最小解:
(1)
約束條件:
(2)
其中w為超平面的法向量;C>0為錯分樣本的懲罰因子;ξ為松弛變量;b∈R為閾值。緊接著引入Lagrange乘子,將問題變?yōu)閷ε己瘮?shù)求最大值
(3)
其中0≤ai≤C,i=1,…l。
引入滿足Mercer條件的核函數(shù)K(xi,yi),將輸入向量映射到一個高維數(shù)的特征空間,則可得到?jīng)Q策函數(shù):
(4)
其中ai≠0,且所對應(yīng)的向量支撐了最優(yōu)超平面,即稱為支持向量。
支持向量機進行故障識別的流程圖如圖1所示。
圖1 支持向量機故障識別流程圖
1.2和聲搜索算法基本原理
1.2.1和聲搜索算法簡述
和聲搜索(Harmonysearch,HS)算法[10-12]是2001年韓國學(xué)者GeemZW等人提出的一種新穎的智能優(yōu)化算法。該算法模擬的是音樂師們演奏音樂的過程,即樂師們在音樂創(chuàng)作中,憑借自己的記憶,通過反復(fù)調(diào)整樂隊中各樂器的音調(diào),最終達到一種美妙的和聲狀態(tài)[13-14]。應(yīng)用中每個樂器產(chǎn)生的音調(diào)用于求解目標(biāo)函數(shù)值,滿足條件的最優(yōu)值對應(yīng)的解即為最美和聲。該算法原理簡單、可控參數(shù)少、易于實現(xiàn)、具有很強的全局搜索能力。文獻[15]利用自適應(yīng)和聲搜索算法解決網(wǎng)絡(luò)重構(gòu)問題并最終獲得了滿意的效果;文獻[16]利用和聲搜索算法來優(yōu)化無線傳感器網(wǎng)絡(luò)中的節(jié)點定位計算,降低了測距誤差的影響,提高了節(jié)點的定位精度。
1.2.2和聲搜索算法實現(xiàn)步驟
在解決實際問題時,和聲搜索算法核心內(nèi)容[17-20]主要包括三方面:①和聲記憶庫初始化;②隨機產(chǎn)生新和聲;③更新原始記憶庫。其具體實現(xiàn)步驟如下:
(1)和聲記憶庫初始化
隨機產(chǎn)生HMS個和聲初始解,并將其存儲于和聲記憶庫(HM)中,如下所示:
(5)
(2)隨機產(chǎn)生新和聲
新的和聲的生成就是產(chǎn)生新的解。其產(chǎn)生方式遵循三個規(guī)則:①從原和聲記憶庫中選?。虎陔S機創(chuàng)作新的和聲(即隨機生成新的解);③對新解進行微調(diào)。
對于新和聲(新解)
(6)
其中,rand1為(0,1)均勻分布的隨機數(shù);HMCR為和聲記憶庫取值概率;Xi為第i個解的取值范圍。
如果產(chǎn)生的新和聲來自原始和聲記憶庫,則要以如下方式對其進行微調(diào)擾動。
(7)
其中,bw為音調(diào)微調(diào)寬帶;PAR為音調(diào)微調(diào)概率;rand和rand2為(0,1)均勻分布的隨機數(shù);當(dāng)取值空間連續(xù)時,微調(diào)是在原音調(diào)的基礎(chǔ)上加上一個介于-bw和+bw之間的隨機步長;k=1,…HMS,當(dāng)取值空間離散時,其微調(diào)是在和聲記憶庫取出的音調(diào)的“左右鄰居”中從新選擇。
(3)更新原始記憶庫
利用目標(biāo)函數(shù)對步驟(2)產(chǎn)生的新解進行評價,若新和聲得到的值優(yōu)于原始記憶庫的最差和聲對應(yīng)的值,則將新和聲替換原來的差和聲;否則原始記憶庫不改變。
(4)算法循環(huán)迭代至滿足終止條件
重復(fù)步驟(2)和步驟(3)直至達到最大迭代次數(shù)并輸出最優(yōu)解。
和聲搜索算法流程圖[21]如圖2所示。
圖2 和聲搜索算法流程圖
1.3基于和聲搜索算法優(yōu)化支持向量機的參數(shù)選擇
利用和聲搜索算法對支持向量機進行優(yōu)化前,需要對一些相關(guān)參數(shù)進行設(shè)置。
(1)初始化和聲搜索算法的主要控制參數(shù)。如:和聲記憶庫HM容量,即初始和聲數(shù)HMS取值,其取值關(guān)系到算法的運行效率和優(yōu)化性能;記憶庫取值概率HMCR,即新和聲選自原和聲記憶庫的概率大小,其取值關(guān)系到和聲的多樣性和最優(yōu)解的獲取;音調(diào)微調(diào)概率PAR,其取值影響到算法的收斂速度和精度;音調(diào)微調(diào)寬帶bw,其取值影響到算法性能和求解精度。
(2)設(shè)置目標(biāo)函數(shù)。利用和聲搜索算法對支持向量機進行優(yōu)化的目的是為了最終故障診斷中獲取較高的分類正確率,因此,將目標(biāo)函數(shù)設(shè)置為
f(x)=Vacc
(8)
其中Vacc為分類正確率。
(3)初始化支持向量機關(guān)鍵參數(shù)的搜索范圍。由于支持向量機懲罰因子C和核函數(shù)參數(shù)σ的不同取值會影響到最后分類結(jié)果的好壞,因此,應(yīng)當(dāng)確定合適的搜索范圍以有助于分類正確率的提高。
為能較好的說明和聲搜索算法優(yōu)化支持向量機(HS-SVM)的優(yōu)越性,在MATLAB7.0環(huán)境下利用2個UCI數(shù)據(jù)集進行分類正確率測試,如表1所示,并與參數(shù)未優(yōu)化的支持向量機(SVM)、人工蜂群算法優(yōu)化的支持向量機(ABC-SVM)的測試結(jié)果進行比較,如表2和表3所示;其中設(shè)置和聲記憶庫大小HMS=20,記憶庫取值概率HMCR=0.9,音調(diào)微調(diào)概率PAR=0.3,音調(diào)微調(diào)寬bw=0.06,最大迭代次數(shù)Tmax=50,參數(shù)C和σ的初始搜索范圍為[0.1 50]。從中可以看出,該算法優(yōu)化的支持向量機不僅能夠獲得較高的分類正確率,而且能夠大大降低運行時間。
表1 UCI數(shù)據(jù)集說明
表2 Abalone數(shù)據(jù)集測試結(jié)果
表3 Lenses數(shù)據(jù)集測試結(jié)果
2和聲搜索算法優(yōu)化的支持向量機用于柴油
機故障診斷
2.1 實驗方案設(shè)計
實驗對象是某12缸柴油機,故障設(shè)置為G1—右6缸斷油、G2—左1缸斷油、G3—左1缸和右6缸雙缸斷油、故障G4—左1缸噴油泵滲漏、故障G5—空氣濾清器堵塞;信號采集裝置有壓電式加速度傳感器、電荷放大器、DASP數(shù)據(jù)采集儀及筆記本電腦等;實驗中采集正常狀態(tài)、故障G1、故障G2、故障G3、故障G4、故障G5六種情況下柴油機轉(zhuǎn)速1500r/min、采樣頻率40kHz右3缸缸體處的振動信號數(shù)據(jù),提取每種工況下樣本各6組,每組采樣點數(shù)4096。
2.2信號分析與特征值提取
對采集到的振動信號進行降噪后,為便于后續(xù)故障識別工作的順利進行,應(yīng)對振動信號進行特征值提取。由于小波包分析法對于振動信號無論在低頻段或是高頻段分解的效果都比較好,因此,利用‘db1’小波基函數(shù)對信號小波包分解并提取能量特征,其步驟如下:
(1)進行信號小波包分解。把降噪后的信號進行3層小波包分解,并提取第3層從低到高共8個頻率段的信號X3j,其中j(j=0,1,2,3…7)為節(jié)點數(shù)。
(2)重構(gòu)小波包分解系數(shù)。對第3層的所有節(jié)點進行小波包重構(gòu),并用S3j表示重構(gòu)后的信號,則重構(gòu)后總信號可表示為S=S30+S31+S32+…+S37。
(3)求解各頻帶信號能量。設(shè)S3j的能量為E3j,j=0,1,2,3…7。
(4)構(gòu)造特征向量。將第3節(jié)點各頻段的能量值取為特征向量T0,則有T0=[E30,E31,E32…E37]。
(5)進行歸一化處理。為避免由于E3j較大而帶來后續(xù)數(shù)據(jù)處理不便的影響,應(yīng)對T0進行歸一化處理得T1,即T1=[E30/E,E31/E,E32/E…E37/E]。
信號經(jīng)3層小波包分解可以得到8個頻帶,同時得到8個特征值,如表4所示。圖3顯示的是其中三種工況下各一組振動信號數(shù)據(jù)經(jīng)過特征值提取后所對應(yīng)的能量譜圖。
表4 頻段與故障特征值
(a)正常狀況
(b)故障G1
(c)故障G4
2.3柴油機故障診斷
2.3.1獲取診斷樣本數(shù)據(jù)
實驗時每種工況下的柴油機振動信號采集6次,因此,經(jīng)小波包能量譜特征值提取后可以得到36個樣本數(shù)據(jù)。在故障診斷中,訓(xùn)練樣本由每種工況的前3個樣本特征值組成,測試樣本由每種工況的后3個樣本特征值組成,即最終得到六種工況下的訓(xùn)練樣本與測試樣本數(shù)各18個。表5和表6列出了正常狀況、故障G1和故障G4的訓(xùn)練樣本和測試樣本。
表5 訓(xùn)練樣本
表6 測試樣本
2.3.2支持向量機故障診斷
設(shè)置和聲搜索算法的和聲記憶庫HMS=20,記憶庫取值概率HMCR=0.9,音調(diào)微調(diào)概率PAR=0.3,音調(diào)微調(diào)寬帶bw=0.06,最大迭代次數(shù)Tmax=50,參數(shù)C和σ的初始搜索范圍為[0.1 50]。則在MATLAB7.0環(huán)境下利用和聲搜索算法訓(xùn)練支持向量機并用于對柴油機樣本數(shù)據(jù)進行分類正確率測試,將分類結(jié)果與未優(yōu)化支持向量機和人工蜂群算法優(yōu)化的支持向量機進行比較,其各自故障分類圖如圖4所示,分類正確率對應(yīng)的參數(shù)值及運行時間如表7所示。結(jié)果表明,和聲搜索算法優(yōu)化的支持向量機進行柴油機故障診斷的識別率高,收斂速度快。
(a)未優(yōu)化SVM分類結(jié)果圖
(b)ABC-SVM故障分類圖
(c)HS-SVM故障分類圖
指標(biāo)未優(yōu)化SVMABC-SVMHS-SVM分類正確率83.33%88.89%88.89%運行時間—13.222389s3.218041s參數(shù)C28.44517.8391參數(shù)σ10.97781.5698
3結(jié)束語
支持向量機是進行柴油故障識別的一種重要工具,然而其核函數(shù)參數(shù)和懲罰因子選擇的好壞關(guān)系到其能否獲得較高的分類正確率。本文利用和聲搜索算法優(yōu)化支持向量機相關(guān)參數(shù),克服了在使用時懲罰因子和核函數(shù)參數(shù)選值的盲目性,并通過對UCI數(shù)據(jù)集測試和柴油機故障診斷實驗證明,該方法不僅能夠獲得較高的故障分類正確率,而且與人工蜂群算法相比,大大提高了收斂速度,降低了尋優(yōu)時間,因此,該方法對于柴油機故障診斷具有重要的應(yīng)用價值。
[參考文獻]
[1] 石晉明.基于粗糙集與核主元分析方法的柴油機故障檢測與診斷[D].太原:中北大學(xué),2014.
[2] 陳鵬,陳曉寧,王征.現(xiàn)代柴油機故障診斷方法發(fā)展[J].機電技術(shù),2014(6):154-156.
[3] 孫穎楷.內(nèi)燃機智能故障診斷系統(tǒng)的研究及應(yīng)用[D].重慶:重慶大學(xué),2008.
[4] 譚鵬,曹平.基于灰色關(guān)聯(lián)支持向量機的地表沉降預(yù)測[J].中南大學(xué)學(xué)報(自然科學(xué)版),2012,43(2):632-637.
[5] Wang Xiaolan, LiHui. One-month ahead prediction of wind speed and output power based on EMD and LSSVM[C]//International Conference on Energy and Environment Technology. Guilin, China:IEEE,2009:431-442.
[6] Yang Xiyun, Cui Yuqi, Zhang Hongsheng, et al.Research on modeling of wind turbine based on LS·SVM[C]// International Conference on Sustainable Power Generation and Supply. Nanjing, China,2009:1-6.
[7] 張海云,彭彥昆,王偉.基于光譜技術(shù)和支持向量機的生鮮豬肉水分含量快速無損檢測[J].光譜學(xué)與光譜分析,2012,32(10):2794-2798.
[8] 于明,艾月喬.基于人工蜂群算法的支持向量機參數(shù)優(yōu)化及應(yīng)用[J].光電子·激光,2012,23(2):374-378.
[9] 李秋玲,賈敏智.基于改進ABC算法優(yōu)化SVM的汽車發(fā)動機故障診斷[J].制造業(yè)自動化,2014,36(3):57-60.
[10] Geem ZWID KilnJH,Loganathan GV.A new heuristic optimization algorithm[J]. harmony search.Simulation,2001,76(2):60-68.
[11] MAHDAVI M,F(xiàn)ESANGHARY M,DAMANGIR E.An improved harmony search algorithm for solving optimization problems[J].Applied Mathematics and computation,2007,188(2):1567-1579.
[12] ALIA O, MANDAVA R. The variants of the harmony search algorithm: an overview [J]. Artificial Intelligence Review,2011,36(1):49-68.
[13] 張敬敏,秦彭,賀毅朝,等.一種改進的和聲搜索算法及其應(yīng)用[J].科學(xué)技術(shù)與工程,2013,13(13):3763-3767.
[14] GEEM Z W. Novel derivative of harmony search algorithm for discrete design variables[J].Applied Mathematics and Computation,2008,199(1):223-230.
[15] Sudha Rani D,Subrahmanyam N,Sydulu M.Self-Adaptive Harmony Search Algorithm for Optimal Network Reconfiguration[R].Power and Energy Conference at Illinois (PECI),2014:1-6.
[16] 高凱,賈偉,雍龍泉.基于和聲搜索算法的WSN節(jié)點定位技術(shù)[J].微型電腦應(yīng)用,2015(3):50-53.
[17] 楊佳.和聲搜索算法及其在多目標(biāo)優(yōu)化問題中的應(yīng)用研究[D].合肥:合肥工業(yè)大學(xué),2013.
[18] 雍龍泉.和聲搜索算法研究進展[J].計算機系統(tǒng)應(yīng)用,2011,20(7):244-248.
[19] 梁海伶.和聲搜搜算法在函數(shù)優(yōu)化問題中的應(yīng)用研究[D].沈陽:東北大學(xué),2009.
[20] Geem Z W.State-of-the-art in the structure of harmony Search algorithm[J].Studies in Computational Intelligence,2010,270(5):1-10.
[21] 趙玉新,劉利強.新型元啟發(fā)式優(yōu)化算法[M].北京:科學(xué)出版社,2013.
(編輯李秀敏)