樓宇舟,涂俊翔
(福州大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院,福建 福州 350000)
基于粗糙集改進(jìn)算法的神經(jīng)網(wǎng)絡(luò)故障診斷方法
樓宇舟,涂俊翔
(福州大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院,福建 福州 350000)
針對(duì)BP神經(jīng)網(wǎng)絡(luò)在實(shí)際工程應(yīng)用中受到大量冗余信息的制約,以及基于信息熵的屬性離散方法的閾值選取具有主觀性的缺點(diǎn),提出了改進(jìn)的基于信息熵的粗糙集連續(xù)屬性離散化算法。該算法將Naivescaler離散化算法和信息熵離散化方法相結(jié)合,減少了離散化算法中候選離散點(diǎn)的數(shù)量;基于粗糙集約簡(jiǎn)信息決策表,有效解決了BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本過于龐大的問題;并通過改進(jìn)的離散化算法對(duì)屬性約簡(jiǎn)后數(shù)據(jù)進(jìn)行分類,將分類后的數(shù)據(jù)運(yùn)用到神經(jīng)網(wǎng)絡(luò)運(yùn)算中,進(jìn)一步縮短了神經(jīng)網(wǎng)絡(luò)的運(yùn)算時(shí)間。通過實(shí)例分析表明,該方法具有很好的故障診斷效果,并有效提高了診斷效率。
粗糙集;信息熵;約簡(jiǎn);離散化;神經(jīng)網(wǎng)絡(luò);故障診斷
隨著科技進(jìn)步的發(fā)展,現(xiàn)代工業(yè)設(shè)備大型化、復(fù)雜化、自動(dòng)化的程度越來越高,為保證各種設(shè)備安全和高效地運(yùn)行,智能故障診斷技術(shù)應(yīng)運(yùn)而生。其中,基于神經(jīng)網(wǎng)絡(luò)的故障診斷方法已進(jìn)入實(shí)用階段,實(shí)際應(yīng)用有衛(wèi)星姿態(tài)測(cè)量系統(tǒng)故障診斷、船舶柴油機(jī)故障診斷、航天飛機(jī)發(fā)動(dòng)機(jī)故障診斷等。但在工程實(shí)踐中,往往存在所選的特征參數(shù)過多,使得神經(jīng)網(wǎng)絡(luò)規(guī)模過于龐大、結(jié)構(gòu)過于復(fù)雜、算法收斂速度過慢、精度低等問題,影響了故障診斷的可靠性和實(shí)用性[1-2]。
Pawlak教授提出的粗糙集理論(RST),具有無需提供任何先驗(yàn)信息,直接對(duì)已知信息進(jìn)行分析處理,刪除冗余信息的優(yōu)勢(shì)[3]。在設(shè)備故障診斷中,將粗糙集理論與神經(jīng)網(wǎng)絡(luò)相結(jié)合,可以更有針對(duì)性地對(duì)已有信息進(jìn)行分析處理,刪除其中冗余信息,從而降低數(shù)據(jù)的規(guī)模,克服了單一神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)規(guī)模大,計(jì)算復(fù)雜,無法實(shí)現(xiàn)實(shí)時(shí)故障診斷的局限性[4-5]。由于粗糙集理論只能處理離散型數(shù)據(jù),而故障信息絕大多數(shù)是連續(xù)性的,因此需要對(duì)故障信息進(jìn)行離散化處理,但現(xiàn)階段還沒有一種較理想的離散化方法可以適用于多領(lǐng)域的離散化需求,因此在不同領(lǐng)域的故障診斷中需要應(yīng)用各種不同的離散化方法。
現(xiàn)改進(jìn)了基于信息熵的粗糙集離散化算法,并將粗糙集理論,BP人工神經(jīng)網(wǎng)絡(luò)技術(shù)結(jié)合起來,提出了一種基于粗糙集和神經(jīng)網(wǎng)絡(luò)的故障診斷方法。實(shí)驗(yàn)結(jié)果表明,該方法相對(duì)于基于單一神經(jīng)網(wǎng)絡(luò)的故障診斷方法,具有減小神經(jīng)網(wǎng)絡(luò)規(guī)模,加快收斂時(shí)間等優(yōu)點(diǎn)。
1.1 知識(shí)與不可分辨關(guān)系
a) 知識(shí)表達(dá)系統(tǒng)和決策系統(tǒng)
b) 不可分辨關(guān)系
不可分辨關(guān)系是粗糙集理論中非常重要的概念,是用來表達(dá)由于缺乏一定的知識(shí)而不能將已知信息系統(tǒng)中的某些對(duì)象區(qū)別開,其實(shí)質(zhì)是一個(gè)等價(jià)關(guān)系。
定義2:設(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}
1.2 粗糙集的上近似、下近似
當(dāng)集合X能表示成基本等價(jià)類組成的并集時(shí),則稱集合X是R可精確定義的,稱作R的精確集;否則,集合X是R不可精確定義的,稱作R的非精確集或R的粗糙集。對(duì)于集合的粗糙集可利用以下2個(gè)精確集來描述,即上近似和下近似。
定義3:X關(guān)于R的下近似為:
定義4:X關(guān)于R的上近似為:
1.3 屬性約簡(jiǎn)與核
在決策表中,往往具有很多不同的屬性,這些屬性對(duì)于知識(shí)的決策具有不同的重要性,有些屬性對(duì)于決策起到?jīng)Q定性作用,而有些屬性卻是可有可無的。在粗糙集理論中,針對(duì)信息系統(tǒng),在保持信息系統(tǒng)分類能力不變的情況下,通過消除冗余屬性和冗余樣本,最終得到信息系統(tǒng)的分類或者決策規(guī)則的方法稱為知識(shí)約簡(jiǎn)。
2.1 離散化算法
由于粗糙集理論只能處理離散型數(shù)據(jù),而實(shí)驗(yàn)中獲得的數(shù)據(jù)大多往往是連續(xù)的,因此實(shí)現(xiàn)屬性值的離散化是應(yīng)用粗糙集理論進(jìn)行分析和處理的前提。合適的離散化算法,不僅可以大大減少信息的大小,還可以提高屬性值分類的準(zhǔn)確性[7]。
2.2 信息熵
信息熵是信息源X不確定性的量度。每個(gè)信息源都有且只有一個(gè)信息熵,不同的信息源,由于其統(tǒng)計(jì)特征的不同,所得的熵也不同。Shannon把信息熵定義為隨機(jī)離散事件的出現(xiàn)概率,即信息源的平均信息量[8]。
(1)
其中:pi表示時(shí)間xi發(fā)生的先驗(yàn)概率,對(duì)數(shù)取以2為底,而當(dāng)某個(gè)pi為零時(shí),則理解為0·log0=0。
BP學(xué)習(xí)理論最早在1974年由Webos提出,1985年發(fā)展成了BP網(wǎng)絡(luò)學(xué)習(xí)算法。BP神經(jīng)網(wǎng)絡(luò)是指具有非線性傳遞函數(shù)的神經(jīng)元的前饋網(wǎng)絡(luò),并通過誤差反向傳播來調(diào)整各層神經(jīng)元之間的權(quán)值。該網(wǎng)絡(luò)不僅具有輸入層,輸出層,同時(shí)還具有一層或者多層的隱含層,其中同層之間不能相互影響[9,10]。
小麥區(qū)域試驗(yàn)采用隨機(jī)區(qū)組法,3次重復(fù)。小區(qū)行距0.15米,10行區(qū),小區(qū)面積15平方米,各品種間間隔0.3米。并設(shè)不少于6行的保護(hù)區(qū)。全區(qū)收獲計(jì)產(chǎn),計(jì)算增(減)產(chǎn)百分率。
圖1 三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
4.1 基于信息熵的粗糙集屬性離散化方法的候選離散點(diǎn)的選擇
決策表S=(U,A,V,f),對(duì)于每個(gè)屬性按照屬性值由大到小進(jìn)行排序,計(jì)算每?jī)上噜弻傩灾档钠骄底鳛楹蜻x斷點(diǎn)。
4.2 改進(jìn)的基于信息熵的粗糙集屬性離散化方法
決策表S=(U,A,V,f)如前文所述,候選離散點(diǎn)的個(gè)數(shù)近似等于每個(gè)屬性的屬性值個(gè)數(shù),候選離散點(diǎn)數(shù)量過多,會(huì)大大影響后續(xù)應(yīng)用粗糙集理論進(jìn)行分類的效率。
在原有基于信息熵的離散化算法的基礎(chǔ)上引入Naivescaler離散化算法,對(duì)于每個(gè)屬性按照屬性值由大到小進(jìn)行排序;依次判斷兩相鄰實(shí)例的屬性值和決策值,如果兩者都不同,則將兩屬性值的平均值作為候選斷點(diǎn)c,B為候選斷點(diǎn)值集;若兩者有一個(gè)相同,則不取兩屬性值的平均值作為候選斷點(diǎn);同時(shí)計(jì)K為屬性的候選斷點(diǎn)個(gè)數(shù),與原方法相比,大大減少候選斷點(diǎn)的數(shù)量。
(2)
(3)
(4)
(5)
(6)
(7)
同時(shí),由于基于信息熵的離散化算法對(duì)于閾值選取具有很強(qiáng)的主觀性,往往需要研究者通過經(jīng)驗(yàn)來判斷選取閾值的大小。針對(duì)這一缺點(diǎn),文中提出了選取閾值為H(X)/K,當(dāng)離散前后斷點(diǎn)信息熵的差值小于H(X)/K時(shí),停止離散,避免了選取閾值時(shí)由于人為選取帶來的主觀性問題。
綜上所述,改進(jìn)的基于信息熵離散化算法如下:
1) 對(duì)于每個(gè)屬性按照屬性值由大到小進(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) 令當(dāng)H(c,L)=H2斷點(diǎn)為cmin,將其加入到P中,B=B-{cmin};
6) 對(duì)于所有X∈L,若cmin將X分為兩部分,記為X1、X2,則在L中去掉X并將等價(jià)類X1、X2加入到L中;
7) 如果L中各個(gè)等價(jià)類中的實(shí)例都具有相同的決
策,則結(jié)束;否則轉(zhuǎn)到步4。
4.2BP神經(jīng)網(wǎng)絡(luò)故障診斷模型的構(gòu)建
先將實(shí)驗(yàn)測(cè)點(diǎn)的原始數(shù)據(jù)進(jìn)行離散化分類處理,然后將結(jié)果輸入到神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和預(yù)測(cè),充分發(fā)揮了離散化算法的分類功能,同時(shí)減少了神經(jīng)網(wǎng)絡(luò)的運(yùn)算時(shí)間。故障診斷系統(tǒng)流程圖見圖2。
圖2 故障診斷系統(tǒng)流程圖
UCI(university of california irvine)機(jī)器學(xué)習(xí)標(biāo)準(zhǔn)數(shù)據(jù)集是加州大學(xué)歐文分校提出的用于機(jī)器學(xué)習(xí)的常用標(biāo)準(zhǔn)測(cè)試數(shù)據(jù)集,是模式識(shí)別的公用數(shù)據(jù),而故障診斷的實(shí)質(zhì)是數(shù)據(jù)分類與模式識(shí)別。因此,采用的數(shù)據(jù)取自UCI機(jī)器學(xué)習(xí)標(biāo)準(zhǔn)數(shù)據(jù)集中的wine數(shù)據(jù)集,數(shù)據(jù)集共有178組數(shù)據(jù),3個(gè)狀態(tài),13個(gè)條件屬性,構(gòu)建知識(shí)系統(tǒng),其中:
S=(U,A,V,f),U={x1,x2…x178},A=C∪D,C∩D=Φ,C={c1,c2…c13},D={d1,d2,d3}。所構(gòu)建的故障診斷決策表如表1,屬性A-M為條件屬性,N為決策屬性1[12-13]。
表1 原始數(shù)據(jù)決策表
每10個(gè)樣本選取1個(gè)作為測(cè)試樣本,剩余作為訓(xùn)練樣本。若使用基于信息熵的粗糙集屬性離散化方法,對(duì)于屬性D則得到近160個(gè)候選離散點(diǎn);當(dāng)使用改進(jìn)的基于信息熵的粗糙集屬性離散化方法時(shí),獲取的候選離散點(diǎn)為29個(gè),大大減少了候選離散點(diǎn)的數(shù)量,有效縮短了后續(xù)離散化計(jì)算的時(shí)間。
表2為對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行基于改進(jìn)的信息熵的離散化算法處理后所獲得的決策表。
表2 離散化后數(shù)據(jù)決策表
按照粗糙集理論進(jìn)行屬性約簡(jiǎn)算法進(jìn)行約簡(jiǎn),利用粗糙集軟件Rosetta,可得屬性約簡(jiǎn)結(jié)果為{c2,c3,c6,c8,c10,c11},選取{c2,c3,c6,c8,c10,c11}作為輸入節(jié)點(diǎn)構(gòu)建BP神經(jīng)網(wǎng)絡(luò);通過縱向約簡(jiǎn)將各屬性值相同的樣本刪去,決策表可得剩余125組數(shù)據(jù);由于決策屬性為3種,因此輸出節(jié)點(diǎn)為3個(gè),{1,0,0}為1,{0,1,0}為2,{0,0,1}為3;隱含層節(jié)點(diǎn)為400個(gè),神經(jīng)網(wǎng)絡(luò)程序?yàn)閇14]:
net=newelm( minmax(p),[400,3],{'tansig','purelin'});
net.trainParam.show=50;
net.trainParam.epochs=10000; %訓(xùn)練次數(shù)設(shè)置
net.trainParam.goal=1e-3; %訓(xùn)練所要達(dá)到的精度
net.trainParam.lr=0.05; %學(xué)習(xí)速率
圖3為未使用粗糙集理論進(jìn)行數(shù)據(jù)預(yù)處理的神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線,圖4為使用粗糙集理論進(jìn)行數(shù)據(jù)預(yù)處理的神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線。
圖3 未使用粗糙集理論誤差精度曲線
圖4 使用粗糙集理論后的誤差精度曲線
對(duì)測(cè)試樣本進(jìn)行預(yù)測(cè),結(jié)果見表3。
表3 預(yù)測(cè)樣本決策表
符合UCI機(jī)器學(xué)習(xí)標(biāo)準(zhǔn)數(shù)據(jù)集提供的數(shù)據(jù),對(duì)故障類型的認(rèn)定完全一致;同時(shí)在診斷精度一致的情況下收斂次數(shù)由單一神經(jīng)網(wǎng)絡(luò)的6 372次減少到2 003次,收斂速度大大增加。因此,提出的故障診斷模型具有很好的可行性與有效性。
將粗糙集和BP神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)結(jié)合起來,建立了基于粗糙集和BP神經(jīng)網(wǎng)絡(luò)的故障診斷模型,并改進(jìn)基于信息熵的屬性離散算法,避免該算法需要人為主觀設(shè)定閾值的不足,同時(shí)優(yōu)化其候選斷點(diǎn)的個(gè)數(shù),如屬性D,候選離散點(diǎn)由160點(diǎn)降至29點(diǎn),加快了后續(xù)屬性離散的速度。通過測(cè)試結(jié)果表明,基于粗糙集和BP神經(jīng)網(wǎng)絡(luò)的故障診斷方法與單一運(yùn)用BP神經(jīng)網(wǎng)絡(luò)相比,在保證訓(xùn)練精度的同時(shí),收斂次數(shù)從6 372次降到了2 003次,明顯提高了訓(xùn)練速度,故障診斷效率較高,具有較高的工程實(shí)用性。
[1] 王彪,吳昊,宋永剛,等. 粗糙集和模糊集的研究及應(yīng)用[M]. 北京: 電子工業(yè)出版社, 2008: 2-10.
[2] 于學(xué)軍,程博. 基于BP神經(jīng)網(wǎng)絡(luò)的工作量估算模型[J]. 計(jì)算機(jī)學(xué)報(bào), 2012, 39(10): 97-100.
[3] 張文修,吳偉志,梁吉業(yè). 粗糙集理論與方法[M]. 北京:科學(xué)出版社, 2001: 1-30.
[4] 沈晨鳴. 基于粗糙集理論多知識(shí)庫的知識(shí)發(fā)現(xiàn)[J]. 機(jī)械制造與自動(dòng)化, 2007, 36(2): 8-13.
[5] 龐繼紅,張根保,周宏明,等. 基于粗糙集的數(shù)控機(jī)床精度設(shè)計(jì)質(zhì)量特性反向映射研究[J]. 機(jī)械工程學(xué)報(bào), 2012, 48(5): 101-107.
[6] 王文逾. 基于粗糙集的分體錯(cuò)位式動(dòng)態(tài)汽車稱重系統(tǒng)研究[J]. 太原理工大學(xué)學(xué)報(bào),2011, 42(6): 639-641.
[7] Lukasz A, Kurgan, Krzysztof J. Cios. CAIM Discretization Algorithm[J]. IEEE Transactions on Knowledge and Data Engineering, 2004, 16(2): 145-153.
[8] Ajay Kumar, David Zhang. Hand-Geometry Recognition Using Entropy-Based Discretization[J]. IEEE Transactions on Information Forensics and Security, 2007, 2(2): 181-187.
[9] 張本國(guó),李強(qiáng),王葛,等. 基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的連鑄漏鋼預(yù)報(bào)[J]. 中國(guó)機(jī)械工程, 2012, 23(2): 204-207.
[10] W. ERIC WONG, YU QI. BP neutral network-based effective fault localization [J]. International journal of software engineering and knowledge engineering. 2009, 19(4): 573-597.
[11] 謝宏,程浩忠,牛東曉. 基于信息熵的粗糙集連續(xù)屬性離散化算法[J]. 計(jì)算機(jī)學(xué)報(bào), 2005, 28(9): 1570-1574.
[12] 胡平,彭紀(jì)奎. 粗糙集-遺傳神經(jīng)網(wǎng)絡(luò)在挖掘機(jī)故障診斷中的應(yīng)用研究[J]. 微電子學(xué)與計(jì)算機(jī), 2011, 28(3): 55-58.
[13] 何勇,李增芳. 智能化故障診斷技術(shù)的研究與應(yīng)用[J]. 浙江大學(xué)學(xué)報(bào)(農(nóng)業(yè)與生命科學(xué)版), 2003, 29(2): 119-124.
[14] 傅薈璇,趙紅,等. MATLAB神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)[M]. 北京:機(jī)械工程出版社,2010: 136-139.
Research on Fault Diagnosis Method Based on Improved Algorithm in Rough Set
LOU Yuzhou,TU Junxiang
(School of Mechanical Engineering and Automation, Fuzhou University, Fuzhou 350000, China)
In view of BP neural network in practical engineering applications constrained by the large number of redundant information and the subjectivity of attribute discretization method based on information entropy in threshold selection, an improved discretization algorithm for continuous attribute in rough set based on information entropy is proposed. The Naivescaler algorithm is combined with information entropy discretization method in this algorithm and it is used to greatly reduces the number of candidate discretization points and effectively handles the big sample for BP neural network training. The neural network computation time is further reduced by classifying the data set with reduced attributes and applying the classified data to the neural network. The practical application of the method proves that it has better performance and efficiency for fault diagnosis.
rough set; information entropy; reduction; discretization; neural network; fault diagnosis
福建省自然科學(xué)基金(2012J01208)
樓宇舟(1988-),男,碩士,主要研究方向?yàn)橹悄苄畔⑻幚?、故障信息診斷。
TP183
B
1671-5276(2015)05-0204-05
2014-03-21