陳安華,周 博,張會福,文 宏
(1.湖南科技大學 湖南省機械設備健康維護重點實驗室,湖南 湘潭 411201;2.湖南科技大學 知識處理與網絡化制造湖南省普通高校重點實驗室,湖南 湘潭 411201)
在復雜設備的狀態監測信號中必然包含各種復雜聯系,而這些復雜的聯系對應著不同的故障類型。當前應用于機械故障診斷的邏輯推理分類方法常見的有人工神經網絡、貝葉斯分類、遺傳算法和決策樹、粗糙集理論、蟻群聚類等[1-6]。而常規邏輯推理方法難以從大量的測試數據中既快又準地診斷出被測系統測試數據中的故障類型。發展新的理論或方法快速準確地實現機械故障信號的聚類診斷是眾多學者研究熱點。
人工魚群算法是李曉磊等[7]提出的一種基于動物自治體的自下而上設計的新型尋優策略,該算法模擬了自然界中魚群的覓食、聚群、追尾行為。由于人工魚群算法具有結構簡單、良好的并行性、快速性等特點被應用于傳感器網絡增強及電力系統的無功優化、最優潮流計算、短期負荷預測、系統在線辨識、前向神經網絡優化等領域[8-9]。人工魚群算法是在人工魚所處環境的食物濃度及擁擠度的引導下來實現魚的聚群與追尾,最終實現所有人工魚聚集在幾個極值中心周圍。機械故障特征信號聚類是故障樣本在相似度因子及聚類判別因子的引導下,使得所有的故障樣本聚集在幾個極值樣本附近,實現故障的聚類診斷。這兩者過程極為相似,因此本文把人工魚群算法應用于機械故障診斷中,建立了基于魚群追尾行為的故障聚類診斷模型,通過故障聚類診斷仿真,驗證了該方法的有效性。
自然中魚的生活習性為:在食物濃度的引導及對該區域魚群是否擁擠判斷的前提下,通過自行或尾隨其他魚等行為找到營養物質最豐富的地方,即魚生存數目最多的地方就是水域中富含營養物質最多的地方。人工魚群算法就是通過模擬魚的覓食行為、聚群行為、追尾行為自下而上設計的尋優算法,在食物濃度等引導下,通過覓食、聚群、追尾行為使得人工魚最終聚集在幾個局部極值點附近。
個體魚的狀態為X=(x1,x2,x3,…,xn),其中xi(i=1,2,3,…,n)為各尋優變量;人工魚當前所在位置的食物濃度為Y=f(X),其中Y為目標函數值;dij表示魚群中個體魚之間的距離;visual表示個體魚的視野范圍;step表示個體魚的移動步長;δ表示擁擠度因子。
覓食行為:設人工魚當前的狀態為Xi,在該個體魚的視野范圍內隨機選擇一條狀態為Xj的人工魚,如果Xj周圍的食物濃度Yj大于Xj周圍的食物濃度Yi,則Xi向Xj移動一步;否則,再重新隨機選擇Xj,判斷是否滿足條件,反復幾次后如仍不滿足條件,則隨機移動一步。


具體應用中可根據問題的需要只采用其中的一種或幾種行為。
通過上述行為可以看出,人工魚群算法的基本原理就是人工魚在食物濃度的引導下,當選擇的食物源處魚不擁擠時,人工魚就游向該食物源,最終實現人工魚都聚集在幾處食物濃度較大的食物源附近。

(1)初始化魚群:每條人工魚都作為一個獨立的群;Y為食物濃度;人工魚的可視范圍為visual;給定擁擠度因子δ;step為移動步長;d為魚群間的距離。
(2)隨機選擇一條人工魚Xi,找出其可視域內的食物濃度最大的魚群中心Xj;
(3)如果存在多處最大值則隨機選擇一個魚群中心Xj,并以Xj作為中心找出除Xi以外的食物濃度最大的魚群中心Xk,若食物濃度滿足Yi>Yk,則把Xi作為中心,否則把Xj作為中心;
(4)若以Xi為中心,判斷Xj周圍的擁擠度是否小于設定的擁擠度因子δ,如果小于(即滿足追尾條件)則Xj向Xi移動步長step(即Xi和Xj聚為一類),聚類中心為Xi;如果不滿足追尾條件,判斷是否達到設置迭代最大值,若未達到,則返回(3)繼續執行;若達到,則返回(2)繼續執行;
(5)判斷是否所有人工魚都找到了各自的聚類中心,如果未完成則返回(2)繼續執行;
(6)輸出各聚類中心。
由于該算法是一個無導師學習過程,可設置迭代次數作為算法的終止條件。
設X=(x1,x2,…,xn)為樣本的故障特征向量,定義兩樣本間的相似度因子為兩樣本間的歐氏距離的倒數即:

其中,Xik為故障樣本Xi的第k個特征;Xjk為表示故障樣本Xj的第k個特征;Yij為故障樣本Xi和Xj間的相似度因子。
由式(1)可知Xi和Xj歐氏距離越小表明兩故障樣本為同一故障的概率越大,即Yij越大表示兩故障樣本的相似度越高。但當某些特征量變化較大時使得歐氏距離在樣本分類時誤差變大,為減小因某些特征量變大而引起分類誤差,本文引入了向量夾角的余弦,向量夾角的余弦值能夠反映特征值內部的變化。因此本文把故障樣本間夾角的余弦值作為聚類判別因子,由余弦定理公式,兩樣本夾角的余弦值為:式中:Xik為故障樣本為Xi的第k個特征;Xjk為故障樣本為Xj的第k個特征;θ為故障樣本間的余弦角;hij為故障樣本Xi和Xj間的聚類判別因子。


首先對采集的數據進行預處理,按照一定的規則把數據形成魚群追尾算法能夠處理的測試數據樣本,然后對預處理后的數據進行故障聚類及模式識別。基于人工魚群追尾聚類算法的故障聚類診斷模型描述如圖1所示。

圖1 基于改進人工魚群追尾聚類算法的故障聚類診斷模型Fig.1 The model of clustering in mechanical fault diagnosis based on improved fish-swarm algorithm
為了較直觀的體現該算法與其他算法效果的優劣,本文采用文獻[10]中往復機械(柴油機)的供油系統的故障診斷為例,表1所示為運行歷史數據形成的故障診斷決策系統。
其中,U={1,2,…,10}表示柴油機油路系統的10個故障狀態;k表示各故障狀態對應的樣本數。C={a,b,c,d,e,f}表示柴油機油管壓力波形特征的 6 個征兆屬性集合,a表示噴油起點油管的殘余壓力;b表示最大噴油壓力;c表示二次噴射壓力;d表示噴射壓力第三峰值;e表示壓力升高率;f表示噴油提前角。在故障征兆屬性a,b,e,f的取值中:0表示降低;1表示不變;2表示增高。在故障征兆屬性c,d的取值中:0表示無;1 表示有。g={1,2,3,4,5,6}表示柴油機油路系統的故障類別:1表示噴油器針閥故障;2表示供油提前或滯后;3表示噴油壓力異常;4表示供油量異常;5表示出油閥針面磨損;6表示油管接頭處漏油。

表1 原始故障診斷決策表Tab.1 The decision table of initial fault diagnosis
把上述106個樣本中選出包含所有故障的30個樣本作為測試樣本,剩余的76個樣本作為訓練樣本。在76個訓練樣本中以20個樣本數據為一組隨機選取了三組作為訓練樣本,在30個測試樣本中以10個樣本為一組隨機選取三組作為測試樣本,算法中移動步長取值為step=1,當取不同的聚類判別因子時,得出了圖2所示的三條聚類判別因子與診斷正確率的關系曲線。

圖2 聚類判別因子與診斷正確率Fig.2 Discriminant factor and diagnosis rate
圖2中橫坐標表示聚類判別因子,縱坐標表示整體故障診斷正確率;由圖2知當判別聚類因子取值為δ=0.95時正確率最高,因此本文實驗均取聚類判別因子為δ=0.95。
為直觀的了解該方法的效果,做如下實驗隨機選取76個訓練樣本中的40個數據作為訓練樣本,在30個測試樣本中選取了包含6種故障的10個數據樣本作為測試樣本(表2),設置訓練樣本的迭代次數為30,對訓練樣本做訓練,然后對測試樣本做的測試。

表2 測試樣本數據Tab.2 Data of text sample
表2中,n表示測試樣本編號,測試結果如表3所示。

表3 測試樣本分類表Tab.3 The classification table of text sample
表3中n表示測試樣本的編號,g表示的是樣本所對應的故障類別。在樣本數為10時,迭代30次整體的故障診斷正確率在90%。表4給出了訓練樣本為60,測試樣本數目為30,迭代次數分別取20,50,70時三組測試樣本的測試結果。

表4 測試樣本各故障診斷正確率表Tab.4 The fault diagnosis rate of text sample
表4所示為不同迭代次數該算法所得出的各故障的正確率。由表4可知,對同一樣本當設置的迭代次數不同時,各故障的診斷正確率也不同,當迭代次數為70時,所有故障的平均診斷正確率達到91%以上。迭代次數與整體故障診斷正確率得關系,如圖3所示。

圖3 迭代次數與整體正確率Fig.3 Iterations & overall accuracy
圖3中橫坐標表示的是在測試樣本為30時,設置的迭代次數;縱坐標表示的是與迭代次數對應的整體故障診斷正確率。由圖3反映出隨著迭代次數的增加整體故障診斷正確率也隨之增高,當迭代次數達到70時正確率達到最大值,診斷正確率不再隨著迭代次數的增加而增高。
在76個訓練樣本中隨機選取60個數據樣本作為訓練樣本,重復三次,得到三組不同的訓練樣本,然后分組對30個測試樣本進行測試,迭代次數為70時該算法的三組診斷結果均值與文獻[11]中算法的最終結果比較,如表5所示。

表5 改進人工魚群追尾聚類算法、RS&PCA、遺傳算法的比較Tab.5 The comparison result of RS&PCA,genetic algorithm and improved fish-swarm algorithm
表5可知,改進人工魚群追尾聚類算法的故障樣本診斷正確率高于RS&PCA和遺傳算法,正常樣本的診斷正確率和整體正確率都高于遺傳算法。但正常樣本和整體正確率低于RS&PCA算法。
本文結合人工魚群算法的特點,模擬人工魚群追尾行為提出了改進的人工魚群追尾聚類算法,在此基礎上發展了一種基于人工魚群追尾聚類算法的機械故障聚類診斷的新方法,通過與遺傳算法和RS&PCA算法比較可知能達到較好的故障診斷效果。該算法不需要提前定義聚類組數,能夠對特征變化不確定的故障提供有效的判別依據。但該算法還存在進一步完善的空間,主要在迭代次數及擁擠度因子的選取上,如何實現針對不同數據能自適應地選取迭代次數和擁擠度因子是有待深入研究的問題。
[1]陳 果.粗糙集-遺傳算法-神經網絡集成分類器及其在轉子故障診斷中的應用研究[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]楊昌昊,竺長安,胡小健.基于貝葉斯網的復雜系統故障診斷方法[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]李曉磊,邵之江,錢積新.一種基于動物自治體的尋優模式:魚群算法[J].系統工程理論與實踐,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].計算機應用研究,2009,26(10):3665-3668.
[10]黃文濤,趙學增,王偉杰,等.基于粗糙集理論的故障診斷決策規則提取方法[J].中國電機工程學報,2003,23(11):150-154.
[11]姜萬錄,劉思遠.粗糙集及主元分析的機械故障診斷研究[J].機床與液壓,2009,37(12):215-218.