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