涂俊翔,樓宇舟
(福州大學 機械工程及自動化學院,福州 350108)
軸承的故障診斷過程實質(zhì)上就是一個模式識別過程,Elman神經(jīng)網(wǎng)絡以其獨特的并行分布式處理、模糊匹配和良好的自學習等能力,在軸承故障診斷中得到了廣泛應用[1-3]。但在實際工程中,由于數(shù)據(jù)規(guī)模較大,導致神經(jīng)網(wǎng)絡具有規(guī)模龐大、結構復雜、算法收斂速度慢及易陷入局部極小等問題,從而降低了其可靠性和實用性。
在此,采用基于信息熵的改進離散化算法對軸承故障數(shù)據(jù)進行預處理,去除一些不必要的屬性樣本信息,然后根據(jù)約簡結果建立Elman神經(jīng)網(wǎng)絡系統(tǒng)進行故障診斷,可以克服單一神經(jīng)網(wǎng)絡規(guī)模龐大,收斂速度慢的缺點。
粗糙集理論是一種處理模糊和不確定性知識的數(shù)學工具,在決策分析、模式識別及數(shù)據(jù)挖掘等領域取得了很大的成功[4]。
1.1.1 知識表達系統(tǒng)和決策系統(tǒng)
在粗糙集理論中[5],定義一個信息系統(tǒng)為S=(U,A,V,f)。其中U={x1,x2,x3,…,xn}為一個非空的有限集合,稱為論域;A為屬性的非空變量集,A=C∪D,C∩D=,其中C為條件屬性,D為決策屬性;為屬性值的集合,其中Va為屬性a的值域;f:U×A→V為一個映射,對每個a∈A和x∈U定義了一個映射f(x,a)∈Va,即f指定U中的每一個對象x的屬性值。
1.1.2 不可分辨關系
不可分辨關系是指由于缺乏一定的知識而不能將已知信息系統(tǒng)中的某些對象區(qū)別開的關系組,其實質(zhì)是一個等價關系。
設S=(U,A,V,f)為一個信息系統(tǒng),R為U上的一族等價關系,若P?R,且P≠,則∩P也是一個等價關系,稱其為P上的一個不可分辨關系,用ind(P)來表示,即
ind(P)={(x,y)∈U×U:f(x,a)=f(y,a),a?P}。
當集合X為由基本等價類構成的并集時,則稱集合X是R可精確定義的,稱作R的精確集;否則,集合X是R不可精確定義的,稱作R的粗糙集。集合的粗糙集可利用上近似和下近似2個精確集來描述。
屬性約簡是粗糙集理論的核心內(nèi)容。在決策表中,往往具有很多不同的屬性,而這些屬性對于知識的決策具有不同的重要性,有些屬性起決定性作用,有些屬性則可有可無。在粗糙集理論中,在保持信息系統(tǒng)分類能力不變的情況下,通過消除冗余屬性和冗余樣本,最終得到信息系統(tǒng)的分類或者決策規(guī)則的方法稱為知識約簡。
設R為一個等價關系族,r∈R,如果ind(R)=ind(R-{r}),則稱r是在R中不必要的,否則相反;若每個知識r都是等價關系族R中必要的,稱R是獨立的,否則稱R是相關的。如果P=R-{r}是獨立的,則P是R中的一個約簡。
由于粗糙集理論只能處理離散型數(shù)據(jù),但在實際工程中獲得的數(shù)據(jù)大多是連續(xù)的,實現(xiàn)屬性值的離散化是應用粗糙集理論進行分析和處理的前提,因此可以將離散化算法視為整個機器學習過程中的數(shù)據(jù)預處理部分。離散化算法將連續(xù)值屬性轉化成有限個區(qū)間,并賦予每個區(qū)間1個離散值,從而完成離散化過程。合適的離散化算法不僅可以大大減少信息量,而且可以提高屬性值分類的準確性[6]。
信息熵是信息源不確定性的量度。每個信息源都有且只有1個信息熵,不同的信息源由于統(tǒng)計特征不同,所得的熵也不同。一個系統(tǒng)越有序,信息熵就越低;反之,系統(tǒng)越混亂,信息熵就越高。所以,信息熵也可以說是系統(tǒng)有序化程度的一個度量。Shannon把信息熵定義為隨機離散事件的出現(xiàn)概率,即信息源的平均信息量[7],表示為
(1)
式中:pi表示時間發(fā)生的先驗概率。
將文獻[8]提出的離散化方法進行改進,結合Naivescaler離散化算法,減少候選離散點的數(shù)量,同時選取判別式H1-H2≤H/K來判斷是否繼續(xù)進行離散化。其中H1為本次離散后決策表的信息熵,H2為上次離散后決策表的信息熵,K為該屬性的候選離散點的數(shù)量。這樣不但大大減少了候選離散點的數(shù)量,同時避免了原離散化算法需要人為確定閾值的局限[8]。具體步驟為:
(1)按屬性值由大到小進行排序。依次判斷兩相鄰實例的屬性值和決策值,如果兩者都不同,則將兩屬性值的平均值作為候選斷點值,B為候選斷點值集,同時計K為屬性的候選斷點個數(shù),P為已選取斷點集。
(2)P=;L={U};H=H(U);H1=H。
(3)對每個c∈B,計算H(c,L),H2=min(H(c,L))。
(4)若H1-H2≤H/K,則結束。
(5)令H(c,L)=H2時斷點為cmin,將其加入到P中,B=B-{cmin}。
(6)對于所有X∈L,若cmin將X分為2部分,記為X1和X2,則在L中去掉X并將等價類X1和X2加入到L中。
(7)如果L中各個等價類中的實例都具有相同的決策,則結束;否則轉到(4)。
人工神經(jīng)網(wǎng)絡以其自組織、自適應和自學習的特點,被廣泛地應用于故障診斷領域。Elman網(wǎng)絡是一種典型的動態(tài)遞歸神經(jīng)網(wǎng)絡,不同于普通的遞歸網(wǎng)絡,其隱含層有一個反饋節(jié)點,該節(jié)點的延遲量存儲了前一時刻的值,并應用到當前時刻的計算,如圖1所示(同一水平線的神經(jīng)元為相同層)。由于Elman網(wǎng)絡能夠存儲供將來時刻使用的信息,因此其既可以在數(shù)據(jù)訓練后對模式產(chǎn)生響應,也可以產(chǎn)生模式輸出[9]。
圖1 Elman神經(jīng)網(wǎng)絡結構
首先將試驗測得的原始數(shù)據(jù)進行離散化分類處理;然后將結果輸入到神經(jīng)網(wǎng)絡中進行訓練和預測,充分發(fā)揮離散化算法的分類功能,同時減少神經(jīng)網(wǎng)絡的運算時間。故障診斷系統(tǒng)流程圖如圖2所示。
圖2 故障診斷流程圖
以30216圓錐軸承故障診斷為例[10],根據(jù)試驗臺所測數(shù)據(jù)進行特征參數(shù)選擇試驗。試驗轉速為1 200 r/min,軸承徑向負荷為599.76 N/cm2,軸向負荷為499.8 N/cm2,采用截止頻率為2 000 Hz的低通濾波器對振動信號進行濾波處理。
基于粗糙集和神經(jīng)網(wǎng)絡故障診斷系統(tǒng)的診斷過程為:
(1)通過采樣處理和歸一化處理,得到12組數(shù)據(jù)作為學習樣本,見表1。D為決策屬性,當軸承正常時為1,滾動體故障時為2,內(nèi)圈故障時為3,外圈故障時為4。
表1 軸承故障信息決策表
(2)應用基于信息熵的改進離散化算法對表1進行離散化處理,結果見表2。
表2 離散化后的故障信息決策表
(3)運用粗糙集理論對離散后數(shù)據(jù)(表2)進行約簡。利用粗糙集軟件rosetta可得屬性約簡結果MAX,DAL和VBF。同時對條件屬性相同的樣本進行縱向約簡,即刪除表2中相同的行,結果見表3。
表3 屬性約簡后決策表
由于決策屬性為4種,因此輸出節(jié)點為4個,設定 {0,0,0,0}為1,{1,0,0,1}為2,{1,0,1,0}為3,{1,1,0,0}為4;隱含層節(jié)點為8個,神經(jīng)網(wǎng)絡程序為[11]:
net=newelm(minmax(p),[8,4],{′tansig′,′purelin′});
net.trainParam.show=50;
net.trainParam.epochs=10000; %訓練次數(shù)
net.trainParam.goal=1e-4; %訓練精度
net.trainParam.lr=0.05; %學習速率
net=train(net,p,ceshi);
使用粗糙集理論進行數(shù)據(jù)處理前后的神經(jīng)網(wǎng)絡訓練誤差曲線如圖3所示。
圖3 誤差精度曲線
為檢驗算法是否有效,將表4所示檢驗樣本[10]進行屬性離散化,粗糙集理論和神經(jīng)網(wǎng)絡系統(tǒng)處理,結果見表5。由結果可知,數(shù)據(jù)處理后對故障類型的認定與原結果完全一致,確保了診斷的準確率。同時,收斂次數(shù)由單一神經(jīng)網(wǎng)絡的2 182次減少到383次,收斂速度大大增加。
表4 故障預測信息決策表
表5 使用粗糙集理論的故障預測樣本神經(jīng)網(wǎng)絡結果
試驗結果表明,與單一運用Elman神經(jīng)網(wǎng)絡相比,改進的Elman神經(jīng)網(wǎng)絡在保證訓練精度的同時,收斂次數(shù)從2 182次降到383次,明顯提高了數(shù)據(jù)訓練速度,在保證診斷準確性的同時大大提高了故障診斷效率,具有很好的工程實用性。