陳安華,周 博,張會(huì)福,文 宏
(1.湖南科技大學(xué) 湖南省機(jī)械設(shè)備健康維護(hù)重點(diǎn)實(shí)驗(yàn)室,湖南 湘潭 411201;2.湖南科技大學(xué) 知識處理與網(wǎng)絡(luò)化制造湖南省普通高校重點(diǎn)實(shí)驗(yàn)室,湖南 湘潭 411201)
在復(fù)雜設(shè)備的狀態(tài)監(jiān)測信號中必然包含各種復(fù)雜聯(lián)系,而這些復(fù)雜的聯(lián)系對應(yīng)著不同的故障類型。當(dāng)前應(yīng)用于機(jī)械故障診斷的邏輯推理分類方法常見的有人工神經(jīng)網(wǎng)絡(luò)、貝葉斯分類、遺傳算法和決策樹、粗糙集理論、蟻群聚類等[1-6]。而常規(guī)邏輯推理方法難以從大量的測試數(shù)據(jù)中既快又準(zhǔn)地診斷出被測系統(tǒng)測試數(shù)據(jù)中的故障類型。發(fā)展新的理論或方法快速準(zhǔn)確地實(shí)現(xiàn)機(jī)械故障信號的聚類診斷是眾多學(xué)者研究熱點(diǎn)。
人工魚群算法是李曉磊等[7]提出的一種基于動(dòng)物自治體的自下而上設(shè)計(jì)的新型尋優(yōu)策略,該算法模擬了自然界中魚群的覓食、聚群、追尾行為。由于人工魚群算法具有結(jié)構(gòu)簡單、良好的并行性、快速性等特點(diǎn)被應(yīng)用于傳感器網(wǎng)絡(luò)增強(qiáng)及電力系統(tǒng)的無功優(yōu)化、最優(yōu)潮流計(jì)算、短期負(fù)荷預(yù)測、系統(tǒng)在線辨識、前向神經(jīng)網(wǎng)絡(luò)優(yōu)化等領(lǐng)域[8-9]。人工魚群算法是在人工魚所處環(huán)境的食物濃度及擁擠度的引導(dǎo)下來實(shí)現(xiàn)魚的聚群與追尾,最終實(shí)現(xiàn)所有人工魚聚集在幾個(gè)極值中心周圍。機(jī)械故障特征信號聚類是故障樣本在相似度因子及聚類判別因子的引導(dǎo)下,使得所有的故障樣本聚集在幾個(gè)極值樣本附近,實(shí)現(xiàn)故障的聚類診斷。這兩者過程極為相似,因此本文把人工魚群算法應(yīng)用于機(jī)械故障診斷中,建立了基于魚群追尾行為的故障聚類診斷模型,通過故障聚類診斷仿真,驗(yàn)證了該方法的有效性。
自然中魚的生活習(xí)性為:在食物濃度的引導(dǎo)及對該區(qū)域魚群是否擁擠判斷的前提下,通過自行或尾隨其他魚等行為找到營養(yǎng)物質(zhì)最豐富的地方,即魚生存數(shù)目最多的地方就是水域中富含營養(yǎng)物質(zhì)最多的地方。人工魚群算法就是通過模擬魚的覓食行為、聚群行為、追尾行為自下而上設(shè)計(jì)的尋優(yōu)算法,在食物濃度等引導(dǎo)下,通過覓食、聚群、追尾行為使得人工魚最終聚集在幾個(gè)局部極值點(diǎn)附近。
個(gè)體魚的狀態(tài)為X=(x1,x2,x3,…,xn),其中xi(i=1,2,3,…,n)為各尋優(yōu)變量;人工魚當(dāng)前所在位置的食物濃度為Y=f(X),其中Y為目標(biāo)函數(shù)值;dij表示魚群中個(gè)體魚之間的距離;visual表示個(gè)體魚的視野范圍;step表示個(gè)體魚的移動(dòng)步長;δ表示擁擠度因子。
覓食行為:設(shè)人工魚當(dāng)前的狀態(tài)為Xi,在該個(gè)體魚的視野范圍內(nèi)隨機(jī)選擇一條狀態(tài)為Xj的人工魚,如果Xj周圍的食物濃度Yj大于Xj周圍的食物濃度Yi,則Xi向Xj移動(dòng)一步;否則,再重新隨機(jī)選擇Xj,判斷是否滿足條件,反復(fù)幾次后如仍不滿足條件,則隨機(jī)移動(dòng)一步。
具體應(yīng)用中可根據(jù)問題的需要只采用其中的一種或幾種行為。
通過上述行為可以看出,人工魚群算法的基本原理就是人工魚在食物濃度的引導(dǎo)下,當(dāng)選擇的食物源處魚不擁擠時(shí),人工魚就游向該食物源,最終實(shí)現(xiàn)人工魚都聚集在幾處食物濃度較大的食物源附近。
(1)初始化魚群:每條人工魚都作為一個(gè)獨(dú)立的群;Y為食物濃度;人工魚的可視范圍為visual;給定擁擠度因子δ;step為移動(dòng)步長;d為魚群間的距離。
(2)隨機(jī)選擇一條人工魚Xi,找出其可視域內(nèi)的食物濃度最大的魚群中心Xj;
(3)如果存在多處最大值則隨機(jī)選擇一個(gè)魚群中心Xj,并以Xj作為中心找出除Xi以外的食物濃度最大的魚群中心Xk,若食物濃度滿足Yi>Yk,則把Xi作為中心,否則把Xj作為中心;
(4)若以Xi為中心,判斷Xj周圍的擁擠度是否小于設(shè)定的擁擠度因子δ,如果小于(即滿足追尾條件)則Xj向Xi移動(dòng)步長step(即Xi和Xj聚為一類),聚類中心為Xi;如果不滿足追尾條件,判斷是否達(dá)到設(shè)置迭代最大值,若未達(dá)到,則返回(3)繼續(xù)執(zhí)行;若達(dá)到,則返回(2)繼續(xù)執(zhí)行;
(5)判斷是否所有人工魚都找到了各自的聚類中心,如果未完成則返回(2)繼續(xù)執(zhí)行;
(6)輸出各聚類中心。
由于該算法是一個(gè)無導(dǎo)師學(xué)習(xí)過程,可設(shè)置迭代次數(shù)作為算法的終止條件。
設(shè)X=(x1,x2,…,xn)為樣本的故障特征向量,定義兩樣本間的相似度因子為兩樣本間的歐氏距離的倒數(shù)即:
其中,Xik為故障樣本Xi的第k個(gè)特征;Xjk為表示故障樣本Xj的第k個(gè)特征;Yij為故障樣本Xi和Xj間的相似度因子。
由式(1)可知Xi和Xj歐氏距離越小表明兩故障樣本為同一故障的概率越大,即Yij越大表示兩故障樣本的相似度越高。但當(dāng)某些特征量變化較大時(shí)使得歐氏距離在樣本分類時(shí)誤差變大,為減小因某些特征量變大而引起分類誤差,本文引入了向量夾角的余弦,向量夾角的余弦值能夠反映特征值內(nèi)部的變化。因此本文把故障樣本間夾角的余弦值作為聚類判別因子,由余弦定理公式,兩樣本夾角的余弦值為:式中:Xik為故障樣本為Xi的第k個(gè)特征;Xjk為故障樣本為Xj的第k個(gè)特征;θ為故障樣本間的余弦角;hij為故障樣本Xi和Xj間的聚類判別因子。
首先對采集的數(shù)據(jù)進(jìn)行預(yù)處理,按照一定的規(guī)則把數(shù)據(jù)形成魚群追尾算法能夠處理的測試數(shù)據(jù)樣本,然后對預(yù)處理后的數(shù)據(jù)進(jìn)行故障聚類及模式識別?;谌斯~群追尾聚類算法的故障聚類診斷模型描述如圖1所示。
圖1 基于改進(jìn)人工魚群追尾聚類算法的故障聚類診斷模型Fig.1 The model of clustering in mechanical fault diagnosis based on improved fish-swarm algorithm
為了較直觀的體現(xiàn)該算法與其他算法效果的優(yōu)劣,本文采用文獻(xiàn)[10]中往復(fù)機(jī)械(柴油機(jī))的供油系統(tǒng)的故障診斷為例,表1所示為運(yùn)行歷史數(shù)據(jù)形成的故障診斷決策系統(tǒng)。
其中,U={1,2,…,10}表示柴油機(jī)油路系統(tǒng)的10個(gè)故障狀態(tài);k表示各故障狀態(tài)對應(yīng)的樣本數(shù)。C={a,b,c,d,e,f}表示柴油機(jī)油管壓力波形特征的 6 個(gè)征兆屬性集合,a表示噴油起點(diǎn)油管的殘余壓力;b表示最大噴油壓力;c表示二次噴射壓力;d表示噴射壓力第三峰值;e表示壓力升高率;f表示噴油提前角。在故障征兆屬性a,b,e,f的取值中:0表示降低;1表示不變;2表示增高。在故障征兆屬性c,d的取值中:0表示無;1 表示有。g={1,2,3,4,5,6}表示柴油機(jī)油路系統(tǒng)的故障類別:1表示噴油器針閥故障;2表示供油提前或滯后;3表示噴油壓力異常;4表示供油量異常;5表示出油閥針面磨損;6表示油管接頭處漏油。
表1 原始故障診斷決策表Tab.1 The decision table of initial fault diagnosis
把上述106個(gè)樣本中選出包含所有故障的30個(gè)樣本作為測試樣本,剩余的76個(gè)樣本作為訓(xùn)練樣本。在76個(gè)訓(xùn)練樣本中以20個(gè)樣本數(shù)據(jù)為一組隨機(jī)選取了三組作為訓(xùn)練樣本,在30個(gè)測試樣本中以10個(gè)樣本為一組隨機(jī)選取三組作為測試樣本,算法中移動(dòng)步長取值為step=1,當(dāng)取不同的聚類判別因子時(shí),得出了圖2所示的三條聚類判別因子與診斷正確率的關(guān)系曲線。
圖2 聚類判別因子與診斷正確率Fig.2 Discriminant factor and diagnosis rate
圖2中橫坐標(biāo)表示聚類判別因子,縱坐標(biāo)表示整體故障診斷正確率;由圖2知當(dāng)判別聚類因子取值為δ=0.95時(shí)正確率最高,因此本文實(shí)驗(yàn)均取聚類判別因子為δ=0.95。
為直觀的了解該方法的效果,做如下實(shí)驗(yàn)隨機(jī)選取76個(gè)訓(xùn)練樣本中的40個(gè)數(shù)據(jù)作為訓(xùn)練樣本,在30個(gè)測試樣本中選取了包含6種故障的10個(gè)數(shù)據(jù)樣本作為測試樣本(表2),設(shè)置訓(xùn)練樣本的迭代次數(shù)為30,對訓(xùn)練樣本做訓(xùn)練,然后對測試樣本做的測試。
表2 測試樣本數(shù)據(jù)Tab.2 Data of text sample
表2中,n表示測試樣本編號,測試結(jié)果如表3所示。
表3 測試樣本分類表Tab.3 The classification table of text sample
表3中n表示測試樣本的編號,g表示的是樣本所對應(yīng)的故障類別。在樣本數(shù)為10時(shí),迭代30次整體的故障診斷正確率在90%。表4給出了訓(xùn)練樣本為60,測試樣本數(shù)目為30,迭代次數(shù)分別取20,50,70時(shí)三組測試樣本的測試結(jié)果。
表4 測試樣本各故障診斷正確率表Tab.4 The fault diagnosis rate of text sample
表4所示為不同迭代次數(shù)該算法所得出的各故障的正確率。由表4可知,對同一樣本當(dāng)設(shè)置的迭代次數(shù)不同時(shí),各故障的診斷正確率也不同,當(dāng)?shù)螖?shù)為70時(shí),所有故障的平均診斷正確率達(dá)到91%以上。迭代次數(shù)與整體故障診斷正確率得關(guān)系,如圖3所示。
圖3 迭代次數(shù)與整體正確率Fig.3 Iterations & overall accuracy
圖3中橫坐標(biāo)表示的是在測試樣本為30時(shí),設(shè)置的迭代次數(shù);縱坐標(biāo)表示的是與迭代次數(shù)對應(yīng)的整體故障診斷正確率。由圖3反映出隨著迭代次數(shù)的增加整體故障診斷正確率也隨之增高,當(dāng)?shù)螖?shù)達(dá)到70時(shí)正確率達(dá)到最大值,診斷正確率不再隨著迭代次數(shù)的增加而增高。
在76個(gè)訓(xùn)練樣本中隨機(jī)選取60個(gè)數(shù)據(jù)樣本作為訓(xùn)練樣本,重復(fù)三次,得到三組不同的訓(xùn)練樣本,然后分組對30個(gè)測試樣本進(jìn)行測試,迭代次數(shù)為70時(shí)該算法的三組診斷結(jié)果均值與文獻(xiàn)[11]中算法的最終結(jié)果比較,如表5所示。
表5 改進(jìn)人工魚群追尾聚類算法、RS&PCA、遺傳算法的比較Tab.5 The comparison result of RS&PCA,genetic algorithm and improved fish-swarm algorithm
表5可知,改進(jìn)人工魚群追尾聚類算法的故障樣本診斷正確率高于RS&PCA和遺傳算法,正常樣本的診斷正確率和整體正確率都高于遺傳算法。但正常樣本和整體正確率低于RS&PCA算法。
本文結(jié)合人工魚群算法的特點(diǎn),模擬人工魚群追尾行為提出了改進(jìn)的人工魚群追尾聚類算法,在此基礎(chǔ)上發(fā)展了一種基于人工魚群追尾聚類算法的機(jī)械故障聚類診斷的新方法,通過與遺傳算法和RS&PCA算法比較可知能達(dá)到較好的故障診斷效果。該算法不需要提前定義聚類組數(shù),能夠?qū)μ卣髯兓淮_定的故障提供有效的判別依據(jù)。但該算法還存在進(jìn)一步完善的空間,主要在迭代次數(shù)及擁擠度因子的選取上,如何實(shí)現(xiàn)針對不同數(shù)據(jù)能自適應(yīng)地選取迭代次數(shù)和擁擠度因子是有待深入研究的問題。
[1]陳 果.粗糙集-遺傳算法-神經(jīng)網(wǎng)絡(luò)集成分類器及其在轉(zhuǎn)子故障診斷中的應(yīng)用研究[J].中國機(jī)械工程,2008,19(1):85-90.
[2] Zhou Q M,Yin C B,Li Y S.Application of variable precision rough set model and neural network to rotating machinery fault diagnosis[J].Lecture Notes in Computer Science,2005,3642:575-584.
[3]楊昌昊,竺長安,胡小健.基于貝葉斯網(wǎng)的復(fù)雜系統(tǒng)故障診斷方法[J].中國機(jī)械工程,2009,20(22):2726-2732.
[4]Sakthivel N R,Sugumaran V,Nair B B.Comparison of decision tree-fuzzy and rough set-fuzzy methods for fault categorization of mono-block centrifugal pump[J].Mechanical Systems& Signal Processing,2010,24(6):1887-1907.
[5] Zhang Y Z,Shi L S,Qin L.Rolling bearings fault diagnosis based on adaptive genetic algorithm and spectral kurtosis algorithm[J].Bearing,2010(3):27-32.
[6] Zhang X L,Chen X F,He Z J.Fault diagnosis based on support vector machines with parameter optimization by an ant colony algorithm[J].ProceedingsoftheInstitution of MechanicalEngineers. PartC, Journalofmechanical engineering science,2010,224(1):217-229.
[7]李曉磊,邵之江,錢積新.一種基于動(dòng)物自治體的尋優(yōu)模式:魚群算法[J].系統(tǒng)工程理論與實(shí)踐,2002(11):32-38.
[8] Zhang K,Zhang W,Dai C Y,et al.Artifical fish-swarm based coverage-enhancing algorithm for visible light sensor networks[J].Optoelectronics letters,2010,6(3):229-231.
[9]何登旭,曲良東.人工魚群聚類分析算法[J].計(jì)算機(jī)應(yīng)用研究,2009,26(10):3665-3668.
[10]黃文濤,趙學(xué)增,王偉杰,等.基于粗糙集理論的故障診斷決策規(guī)則提取方法[J].中國電機(jī)工程學(xué)報(bào),2003,23(11):150-154.
[11]姜萬錄,劉思遠(yuǎn).粗糙集及主元分析的機(jī)械故障診斷研究[J].機(jī)床與液壓,2009,37(12):215-218.