姜甲玉,劉仕一,張 煒,孫迎豐
(1.海軍駐沈陽(yáng)地區(qū)軍事代表局,沈陽(yáng) 110031;2.91206 部隊(duì),山東 青島 266108;3.92854 部隊(duì)705 廠,廣東 湛江 524016;4.海軍航空工程學(xué)院 研究生管理大隊(duì),山東 煙臺(tái) 264001)
粗糙集理論是一種處理不精確、不確定與不完全數(shù)據(jù)的數(shù)學(xué)方法,在數(shù)據(jù)約簡(jiǎn)、特征提取等方面功效卓著,而且該理論與概率論、模糊數(shù)學(xué)、信息論和證據(jù)理論等其他處理不確定性和不精確性問(wèn)題的理論有很強(qiáng)的互補(bǔ)性[1-3]。模糊神經(jīng)網(wǎng)絡(luò)是模糊理論與神經(jīng)網(wǎng)絡(luò)的融合,它同時(shí)擁有模糊系統(tǒng)和神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),它既能像模糊邏輯那樣表達(dá)定性的知識(shí),處理不完整、模糊的數(shù)據(jù),又擁有神經(jīng)網(wǎng)絡(luò)強(qiáng)大的自學(xué)習(xí)、自調(diào)整能力。
粗糙集能夠?qū)Σ煌耆?、不確定的信息進(jìn)行有效的處理,消除冗余數(shù)據(jù),提取有用信息,但是由于粗糙集方法本身的局限性,它很難處理新數(shù)據(jù),并且對(duì)連續(xù)性數(shù)據(jù)辦法不多,不具備推廣性。模糊神經(jīng)網(wǎng)絡(luò)中蘊(yùn)含的模糊規(guī)則,避免了神經(jīng)網(wǎng)絡(luò)在知識(shí)表達(dá)中的黑箱性,但模糊規(guī)則的獲取存在困難,是模糊神經(jīng)網(wǎng)絡(luò)應(yīng)用的障礙。上述兩者雖然各有不足,但在功能上可以互補(bǔ)。模糊神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)具有很強(qiáng)的泛化能力,可彌補(bǔ)粗糙集的不足;同時(shí),可以發(fā)揮粗糙集數(shù)據(jù)約簡(jiǎn)的功能確定初始知識(shí),解決初始模糊規(guī)則獲取的問(wèn)題,降低網(wǎng)絡(luò)輸入數(shù)據(jù)的維數(shù),縮短網(wǎng)絡(luò)訓(xùn)練的時(shí)間,避免網(wǎng)絡(luò)構(gòu)造的困難。
因此,本文將粗糙集與模糊神經(jīng)網(wǎng)絡(luò)技術(shù)相結(jié)合,建立故障診斷模型(見(jiàn)圖1),對(duì)其中的數(shù)據(jù)預(yù)處理、粗糙集方法應(yīng)用和模糊神經(jīng)網(wǎng)絡(luò)構(gòu)造等關(guān)鍵技術(shù)進(jìn)行具體研究,并通過(guò)殲擊機(jī)操縱面故障[4]診斷實(shí)例,檢驗(yàn)該方法的可行性和有效性。
圖1 基于粗糙集—模糊神經(jīng)網(wǎng)絡(luò)的故障診斷模型
圖1所示故障診斷的工作過(guò)程:首先,對(duì)數(shù)據(jù)庫(kù)中的樣本數(shù)據(jù)進(jìn)行預(yù)處理,即對(duì)連續(xù)數(shù)據(jù)進(jìn)行離散化處理,并獲取各模糊集的初始隸屬函數(shù);其次,對(duì)離散化后的數(shù)據(jù)進(jìn)行粗糙集處理,即數(shù)據(jù)約簡(jiǎn)(包括屬性約簡(jiǎn)和值約簡(jiǎn)),獲取診斷規(guī)則;第三,根據(jù)診斷規(guī)則確定網(wǎng)絡(luò)的基本結(jié)構(gòu),由隸屬函數(shù)以及相關(guān)參數(shù)初始化網(wǎng)絡(luò),用約簡(jiǎn)后形成的樣本數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),調(diào)整相關(guān)參數(shù);最后,用訓(xùn)練好的模糊神經(jīng)網(wǎng)絡(luò)對(duì)采集的待診斷數(shù)據(jù)進(jìn)行處理,給出診斷結(jié)論。
粗糙集理論不能直接對(duì)連續(xù)數(shù)據(jù)進(jìn)行處理,而工程領(lǐng)域中故障診斷的各種特征參數(shù)多是連續(xù)性的,如何將其離散化是首先需要解決的問(wèn)題。目前,在粗糙集的應(yīng)用研究中,離散化過(guò)程大多基于領(lǐng)域?qū)<业慕?jīng)驗(yàn)知識(shí)來(lái)實(shí)現(xiàn),尋找最優(yōu)的離散化方法的問(wèn)題還處在研究中,許多人提出了各自不同的方法:基本法、概念樹(shù)法、期望值法、動(dòng)態(tài)聚類(lèi)法等[5]。一般來(lái)講,不論哪一種方法,都應(yīng)盡可能滿足兩點(diǎn)要求[6]:① 連續(xù)屬性離散化后的空間維數(shù)應(yīng)盡可能小,也就是經(jīng)過(guò)離散化后的每一個(gè)屬性都應(yīng)包含盡量少的屬性值的種類(lèi);② 連續(xù)屬性值離散化處理后丟失的信息應(yīng)盡可能小。本文采用模糊 C-均值(FCM)聚類(lèi)算法[7]對(duì)數(shù)據(jù)進(jìn)行離散化,使用此方法可獲得各條件屬性值隸屬于相應(yīng)離散集的隸屬度,為獲得隸屬函數(shù)奠定了基礎(chǔ)。
1)確定c(1<c<n),m ∈ [1,∞),初始化 V0并令迭代次數(shù) t=1;
3)由tU和公式更新
在構(gòu)造模糊神經(jīng)網(wǎng)絡(luò)時(shí)要給出初始隸屬函數(shù)。由上述討論可知,在數(shù)據(jù)離散化的過(guò)程中,已經(jīng)獲得了一些關(guān)于模糊集的信息,本文以此為基礎(chǔ),采用下述方法獲取初始隸屬函數(shù)。隸屬函數(shù)采用高斯型,第i個(gè)模糊集合的隸屬函數(shù)為:
隸屬函數(shù)中心取聚類(lèi)中心iv,與聚類(lèi)中心的距離 dij最小的樣本數(shù)據(jù),設(shè)為xmin,為保證該值對(duì)于不同模糊集合的隸屬度有所差別,故對(duì)該值的隸屬度取值應(yīng)為一較小值 μmin(一般不大于0.5),將 xmin和 μmin代入上式即可求得。
在故障診斷工程應(yīng)用中,為保證故障診斷精度,一般利用較多的特征條件進(jìn)行判斷,其中,一些關(guān)鍵條件對(duì)故障比較敏感,而且相互獨(dú)立,能夠提供互補(bǔ)信息,提高診斷精度,應(yīng)該加以充分利用;一些冗余條件對(duì)故障不敏感,或者與其他條件相互關(guān)聯(lián),沒(méi)有利用價(jià)值,會(huì)增加診斷工作量和成本,應(yīng)該從診斷規(guī)則中剔除。
粗糙集理論作為一種分析不確定性數(shù)據(jù)的數(shù)學(xué)工具,與經(jīng)典集合理論不同,它從“知識(shí)”的角度處理客觀事物的不確定性,認(rèn)為知識(shí)是將對(duì)象進(jìn)行分類(lèi)的依據(jù),通過(guò)這些知識(shí)可以將對(duì)象劃分為不同的類(lèi)別。知識(shí)表達(dá)系統(tǒng)的基本成分是研究論域?qū)ο蟮募?,關(guān)于這些對(duì)象的知識(shí)是通過(guò)對(duì)象的屬性和屬性值來(lái)描述的。
一個(gè)知識(shí)表達(dá)系統(tǒng)(也稱(chēng)信息表)可以表示為S=(U,R,V,f),其中:U是對(duì)象的集合;R=C ∪D,C ∩ D=φ,C稱(chēng)為條件屬性集,D稱(chēng)為決策屬性集;是屬性r的值域;是一個(gè)信息函數(shù),它為對(duì)象的每個(gè)屬性賦予一個(gè)信息值,即
應(yīng)用粗糙集理論最顯著的特點(diǎn)是在保持知識(shí)系統(tǒng)分類(lèi)能力不變的前提下,通過(guò)屬性約簡(jiǎn)和值約簡(jiǎn),導(dǎo)出問(wèn)題的決策或分類(lèi)規(guī)則。
在已知關(guān)于粗糙集的研究成果中,Skowron 提出的可辨識(shí)矩陣為求取最佳屬性約簡(jiǎn)提供了很好的思路,該方法將信息表中所有有關(guān)屬性區(qū)分信息都濃縮進(jìn)一個(gè)矩陣當(dāng)中,通過(guò)該矩陣方便地得到信息表的屬性核(屬性核是指信息表中不可刪除的屬性)。在此基礎(chǔ)上,基于“屬性重要性”思想[5]的啟發(fā)式算法得到了廣泛研究。以屬性核作為計(jì)算的初始約簡(jiǎn),引入“屬性重要性”這樣一個(gè)度量作為啟發(fā)信息,按照屬性重要程度的大小逐個(gè)將屬性加入約簡(jiǎn)集,直到該集合是一個(gè)約簡(jiǎn)為止。
對(duì)信息表進(jìn)行值約簡(jiǎn)的過(guò)程即是提取規(guī)則的過(guò)程。在屬性約簡(jiǎn)所獲得的最小屬性子集的基礎(chǔ)上,文獻(xiàn)[8]改進(jìn)的值約簡(jiǎn)算法使獲得的規(guī)則集規(guī)模最小。文獻(xiàn)[9-10]受屬性約簡(jiǎn)中屬性重要性的啟發(fā),故在值約簡(jiǎn)過(guò)程中引入類(lèi)似規(guī)則重要性的啟發(fā)信息,且文獻(xiàn)[9]認(rèn)為文獻(xiàn)[8]給出的值約簡(jiǎn)算法存在規(guī)則冗余。但是本文采用文獻(xiàn)[8]的值約簡(jiǎn)算法并沒(méi)有出現(xiàn)文獻(xiàn)[9]所示的冗余規(guī)則,而且文獻(xiàn)[10]最后給出的規(guī)則集卻有明顯的冗余規(guī)則。因此,本文仍采用文獻(xiàn)[8]給出的值約簡(jiǎn)算法:
1)對(duì)信息表中條件屬性進(jìn)行逐列考察。除去該列后,若產(chǎn)生沖突記錄,則保留沖突記錄的原該屬性值;若未產(chǎn)生沖突但含有重復(fù)記錄,則將重復(fù)記錄的該屬性值標(biāo)為“*”;對(duì)其他記錄,將該屬性值標(biāo)為“?”。
2)刪除可能產(chǎn)生的重復(fù)記錄,并考察每條含有標(biāo)記“?”的記錄。若僅由未被標(biāo)記的屬性值即可判斷出決策,則將“?”標(biāo)記為“*”,否則,修改為原屬性值;若某條記錄的所有條件屬性均被標(biāo)記,則將標(biāo)有“?”的屬性項(xiàng)修改為原屬性值。
3)刪除所有條件屬性均被標(biāo)為“*”的記錄及可能產(chǎn)生的重復(fù)記錄。
4)若兩條記錄僅有一個(gè)條件屬性值不同,且其中一條記錄該屬性被標(biāo)為“*”,那么,對(duì)該記錄如果可由未被標(biāo)記的屬性值判斷出決策,則刪除另外一條記錄;否則刪除本記錄。
圖2是本文就殲擊機(jī)操縱面故障診斷實(shí)例所構(gòu)造的模糊神經(jīng)網(wǎng)絡(luò)。下面以此對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行說(shuō)明。
圖2 模糊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
網(wǎng)絡(luò)第一層為輸入層,每個(gè)神經(jīng)元表示一個(gè)輸入變量,變量值是條件屬性的精確值;第二層為模糊化層,每個(gè)神經(jīng)元表示一個(gè)模糊集合,用以模擬粗糙集規(guī)則前件的離散化,第一層神經(jīng)元只與表示其離散集合的第二層神經(jīng)元相連,通過(guò)各模糊集的隸屬函數(shù)將輸入值映射為模糊集的隸屬度;第三層為規(guī)則層,實(shí)現(xiàn)粗糙集規(guī)則匹配的功能,該層節(jié)點(diǎn)數(shù)與規(guī)則數(shù)相同;第四層為結(jié)論層,實(shí)現(xiàn)模糊與運(yùn)算,其輸出為各規(guī)則的適用度;第五層為輸出層,其功能是去模糊輸出精確量。
由此,通過(guò)神經(jīng)網(wǎng)絡(luò)構(gòu)建了完整的模糊推理系統(tǒng),通過(guò)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法,可以調(diào)整隸屬函數(shù)的各個(gè)參數(shù),實(shí)現(xiàn)模糊系統(tǒng)的自學(xué)習(xí)、自適應(yīng)。本文利用Matlab的模糊邏輯工具箱對(duì)此進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn)。
本文采用的數(shù)據(jù)來(lái)自文獻(xiàn)[4]的殲擊機(jī)操縱面故障識(shí)別實(shí)例,數(shù)據(jù)共6種狀態(tài)、105組數(shù)據(jù),每組數(shù)據(jù)有8個(gè)參數(shù),即構(gòu)建知識(shí)系統(tǒng) S=(U,R,V,f),本文在預(yù)處理過(guò)程中取聚類(lèi)數(shù)為6,經(jīng)數(shù)據(jù)約簡(jiǎn)后的最佳屬性子集為{c3,c5},最簡(jiǎn)規(guī)則數(shù)目為12,得到的模糊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示,網(wǎng)絡(luò)訓(xùn)練前后的各隸屬函數(shù)如圖3所示,圖4為網(wǎng)絡(luò)學(xué)習(xí)誤差。
圖3 網(wǎng)絡(luò)訓(xùn)練前后的各隸屬函數(shù)
圖4 網(wǎng)絡(luò)學(xué)習(xí)誤差
為了驗(yàn)證診斷模型的可行性和有效性,本文在樣本數(shù)據(jù)中加入一定的隨機(jī)噪聲構(gòu)成測(cè)試數(shù)據(jù),將得到的1 000組測(cè)試數(shù)據(jù)輸入網(wǎng)絡(luò),診斷正確率如表1所示。
表1 診斷的仿真結(jié)果
本文詳細(xì)研究了粗糙集與模糊神經(jīng)網(wǎng)絡(luò)技術(shù)結(jié)合過(guò)程中的幾個(gè)關(guān)鍵技術(shù),并用Matlab 對(duì)殲擊機(jī)操縱面故障實(shí)例數(shù)據(jù)進(jìn)行了仿真。結(jié)果表明:數(shù)據(jù)離散化過(guò)程不僅完成了粗糙集方法應(yīng)用的預(yù)處理,還解決了屬性數(shù)據(jù)各模糊集合初始隸屬函數(shù)的獲取問(wèn)題;通過(guò)粗糙集方法進(jìn)行數(shù)據(jù)約簡(jiǎn),得到最簡(jiǎn)規(guī)則,從而可以構(gòu)建結(jié)構(gòu)簡(jiǎn)潔的神經(jīng)網(wǎng)絡(luò),且網(wǎng)絡(luò)各層都有明確的物理意義,有較好的語(yǔ)義;而且,構(gòu)建的網(wǎng)絡(luò)也使粗糙集方法獲取的規(guī)則得以泛化,使得該方法對(duì)故障診斷表現(xiàn)出更優(yōu)越的診斷特性。
[1]張文修,吳偉志.粗糙集理論介紹和研究綜述[J].模糊系統(tǒng)與數(shù)學(xué),2000,14(4):1-12.
[2]梁瑞勝,孫有田,周希亞.小波包變換和神經(jīng)網(wǎng)絡(luò)的某型導(dǎo)彈故障診斷方法研究[J].海軍航空工程學(xué)院學(xué)報(bào),2008,23(2):217-220.
[3]劉瑋,宋貴寶,陳小衛(wèi).基于粗糙集和神經(jīng)網(wǎng)絡(luò)的導(dǎo)彈故障診斷方法[J].海軍航空工程學(xué)院學(xué)報(bào),2009,24(2):214-216.
[4]許潔,胡壽松.灰關(guān)聯(lián)分析在殲擊機(jī)操縱面故障識(shí)別中的應(yīng)用[J].南京師范大學(xué)學(xué)報(bào):工程技術(shù)版,2006,6(3):5-9.
[5]石紅,沈毅,劉志言,等.關(guān)于粗糙集理論及應(yīng)用問(wèn)題的研究[J].計(jì)算機(jī)工程,2003,29(3):1-3.
[6]郝麗娜,徐心和.粗糙集理論在故障診斷規(guī)則獲取中的應(yīng)用[J].信息與控制,2001,30(7):586-590.
[7]孫即祥.現(xiàn)代模式識(shí)別[M].長(zhǎng)沙:國(guó)防科技大學(xué)出版社,2003:268-271.
[8]常梨云,王國(guó)胤,吳渝.一種基于Rough Set 理論的屬性約簡(jiǎn)及規(guī)則提取方法[J].軟件學(xué)報(bào),1999,10(11):1206-1211.
[9]林嘉宜,彭宏,鄭啟倫.一種新的基于粗糙集的值約簡(jiǎn)算法[J].計(jì)算機(jī)工程,2003,29(4):70-71.
[10]劉艷麗,王海涌,鄭麗英.基于粗集理論的決策規(guī)則約簡(jiǎn)算法的研究與應(yīng)用[J].蘭州交通大學(xué)學(xué)報(bào):自然科學(xué)版,2004,23(6):78-80.