徐廷學(xué),杜愛國,陳 紅
(1.海軍航空工程學(xué)院兵器科學(xué)與技術(shù)系,山東 煙臺(tái) 264001;2.海軍裝備部,北京 100048)
飛航導(dǎo)彈備件需求預(yù)測(cè)方法很多,如時(shí)間序列預(yù)測(cè)法、回歸預(yù)測(cè)法與專家系統(tǒng)法等[1]。時(shí)間序列預(yù)測(cè)法不能充分利用對(duì)備件需求量有很大影響的信息和因素,可能導(dǎo)致預(yù)測(cè)不準(zhǔn)確和數(shù)據(jù)穩(wěn)定性差;回歸預(yù)測(cè)法不能處理影響因素與需求量間的非平衡暫態(tài)關(guān)系;專家系統(tǒng)法在把專家知識(shí)和經(jīng)驗(yàn)等準(zhǔn)確地轉(zhuǎn)化為一系列規(guī)則時(shí)非常困難。進(jìn)行飛航導(dǎo)彈備件消耗規(guī)律的研究,必須立足于深入研究飛航導(dǎo)彈備件消耗的影響因素之上[2]。全面掌握各種影響因素及其性質(zhì),可使本文的研究工作獲得有力支撐?,F(xiàn)實(shí)情況是,飛航導(dǎo)彈備件種類繁多,而影響其消耗的因素種類多、影響程度各異,導(dǎo)致在數(shù)據(jù)處理上耗費(fèi)大量精力。如果某些影響因素對(duì)預(yù)測(cè)結(jié)果造成的影響微小,那么就可以通過忽略這些因素來降低預(yù)測(cè)的難度,提高預(yù)測(cè)的速度和有效性。本文提出基于粗糙集和BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)法。該方法充分發(fā)揮粗糙集在處理冗余數(shù)據(jù)上的優(yōu)勢(shì),結(jié)合BP神經(jīng)網(wǎng)絡(luò)對(duì)飛航導(dǎo)彈備件進(jìn)行消耗預(yù)測(cè),提高了預(yù)測(cè)的速度和有效性。
粗糙集理論是波蘭華沙大學(xué)的pawlak2 教授于1952年提出的一種處理模糊性和不確定性新型數(shù)學(xué)工具。該理論能有效地處理不精確、不一致和不完整信息,并從中發(fā)現(xiàn)隱含知識(shí),揭示潛在規(guī)律。目前,該理論已被廣泛應(yīng)用于數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、知識(shí)獲取、決策分析、人工智能、大型數(shù)據(jù)庫和智能信息處理等計(jì)算機(jī)領(lǐng)域。
如果給定一個(gè)有限的非空集合U,稱為論域,R 為U 上的一族等價(jià)關(guān)系,則知識(shí)可以定義為等價(jià)關(guān)系族R 對(duì)論域U 的劃分,記為U/R。假設(shè)根據(jù)關(guān)于論域U 的某種信息,使用屬性及其值來描述U 中的元素,屬性或?qū)傩约暇蜆?gòu)成了U 上的一族等價(jià)關(guān)系。任意一個(gè)等價(jià)關(guān)系r R∈ 可以對(duì)U 劃分,形成等價(jià)類,稱為關(guān)于r 的基本集。如果2 個(gè)元素同屬于一個(gè)等價(jià)類,則它們之間是不可分辨的。
粗糙集理論中,模糊性是一種基于邊界的概念,即一個(gè)模糊概念具有一個(gè)沒有明確界限的邊界,每個(gè)不精確的概念X 由一對(duì)精確概念(下近似與上近似)來表示。X 的下近似包含了可確切分類到X 中的元素,上近似包含了所有那些可能屬于X 的元素。上近似與下近似的差就是概念的邊界區(qū)域,即利用可用信息不能確定地分類到概念中的所有元素。顯然,如果邊界區(qū)域非空,則X 是一個(gè)模糊概念。
神經(jīng)網(wǎng)絡(luò)是在現(xiàn)代神經(jīng)科學(xué)的基礎(chǔ)上提出和發(fā)展起來的,旨在反映人腦結(jié)構(gòu)及功能的一種抽象數(shù)學(xué)模型[3-4]。自1943年美國心理學(xué)家W.McCulloch和數(shù)學(xué)家W.Pitts 提出形式神經(jīng)元的抽象數(shù)學(xué)模型—MP 模型以來,人工神經(jīng)網(wǎng)絡(luò)理論技術(shù)已經(jīng)過了50 多年曲折的發(fā)展,特別是20 世紀(jì)80年代,人工神經(jīng)網(wǎng)絡(luò)的研究取得了重大進(jìn)展[5]。
誤差反向傳播網(wǎng)絡(luò)(Back Propagation Network,BP)是一種應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)。BP 模型是一個(gè)多層感知器,是由輸入層、中間層(隱含層)和輸出層構(gòu)成的前饋網(wǎng)絡(luò)。BP 神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)過程是一個(gè)反復(fù)迭代過程,首先給網(wǎng)絡(luò)一組初始權(quán)值,然后輸入一個(gè)樣本并計(jì)算其輸出,通過實(shí)際輸出與期望值之間差值用一定方法來修改網(wǎng)絡(luò)權(quán)值,以達(dá)到減小這個(gè)差值的目的。反復(fù)執(zhí)行這個(gè)過程直到這個(gè)差值小于預(yù)先確定的值為止。對(duì)足夠的樣本進(jìn)行這樣的訓(xùn)練后,網(wǎng)絡(luò)所得的那組權(quán)值便是網(wǎng)絡(luò)經(jīng)過自適應(yīng)學(xué)習(xí)得到的正確內(nèi)部關(guān)系。[6]
H.N.Robert(1989)證明了對(duì)任意閉合區(qū)間連續(xù)函數(shù)都可以用含有一個(gè)隱含層的BP 網(wǎng)絡(luò)來逼近,因而BP 網(wǎng)絡(luò)可以來預(yù)測(cè)器材的消耗量[7-9]。
利用粗糙集處理影響因素的值,以影響因素作為輸入,并以消耗量作為輸出,建立基于粗糙集和BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型,其預(yù)測(cè)流程如圖1 所示。
圖1 基于粗糙集和神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)流程
Step1:提出多信息量的備件預(yù)測(cè)問題,構(gòu)思建立基于粗糙集和神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型;
Step2:分析并量化影響備件消耗量的各因素。影響備件消耗量的因素很多,如備件的固有故障率、重大演習(xí)任務(wù)、環(huán)境因素、使用維修與定檢等。根據(jù)具體情況把各影響因素量化,并用適當(dāng)?shù)臄?shù)字表示出來;
Step3:確定輸入輸出向量,把影響因素量化值作為輸入向量,把備件消耗量作為輸出向量;
Step4:收集數(shù)據(jù)并用粗糙集理論對(duì)數(shù)據(jù)進(jìn)行處理;
Step5:確定輸入與輸出層神經(jīng)元個(gè)數(shù),并設(shè)計(jì)中間層神經(jīng)元個(gè)數(shù)可變的網(wǎng)絡(luò)結(jié)構(gòu);
Step6:輸入訓(xùn)練樣本與測(cè)式樣本進(jìn)行網(wǎng)絡(luò)訓(xùn)練與測(cè)試,對(duì)比訓(xùn)練誤差和預(yù)測(cè)誤差,確定最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu);
Step7:輸入新的影響因素樣本數(shù)據(jù)到確定的最優(yōu)模型中進(jìn)行預(yù)測(cè)。
參照某飛航導(dǎo)彈8年備件的消耗,消耗量統(tǒng)計(jì)數(shù)據(jù)及主要影響因素編制見表1。應(yīng)用基于粗糙集和神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)法進(jìn)行飛航導(dǎo)彈備件消耗量分析。
表1 影響因素量化值
1)各影響因素如下:
A——備件的固有可靠性。把導(dǎo)彈裝備定檢過程中發(fā)現(xiàn)的失效備件數(shù)作為自然消耗的備件數(shù)并對(duì)其量化。
B——環(huán)境因素。根據(jù)該部隊(duì)氣象部門的統(tǒng)計(jì)資料,將其量化為根據(jù)環(huán)境的嚴(yán)酷度所劃分的7 個(gè)等級(jí),并相應(yīng)地量化為7~1 之間的整數(shù)值,即數(shù)值越大表示嚴(yán)酷程度越高,環(huán)境越惡劣。
C——人為因素。以導(dǎo)彈技術(shù)準(zhǔn)備過程中因人為因素導(dǎo)致的備件失效數(shù)為該影響因素的量化值。
D——年度重大演習(xí)任務(wù)次數(shù)。將次數(shù)作為量化值。
E——執(zhí)行任務(wù)時(shí)間。根據(jù)平時(shí)訓(xùn)練計(jì)劃統(tǒng)計(jì)出該導(dǎo)彈年度使用總時(shí)間,單位為h,將其作為量化值。
F——年度使用、維修與定檢中該備件(或者含該備件的部件)被拆卸的總次數(shù)。將總次數(shù)作為量化值。
各影響因素組成屬性集合R={A,B,C,D,E,F}。
年度組成集合U={1,2,3,4,5,6,7,8}。
對(duì)每個(gè)屬性設(shè)定閾值,1 表示不小于閾值,0表示沒有達(dá)到標(biāo)準(zhǔn)。例如,對(duì)A,閾值設(shè)定為2,當(dāng)A 值沒有達(dá)到2 時(shí),閾值為0,否則閾值為1;對(duì)B,閾值設(shè)定為3;對(duì)C,閾值設(shè)定為3;對(duì)D,閾值設(shè)定為1;對(duì)E,閾值設(shè)定為650;對(duì)F,閾值設(shè)定為27。表2 為影響因素信息表。
表2 影響因素信息表
由表2 可知D 屬性值在8年跨度里只有一個(gè)不同,這說明每年重大演習(xí)次數(shù)對(duì)備件的影響程度基本穩(wěn)定,對(duì)預(yù)測(cè)不會(huì)有太大影響,可以把它去掉。B 屬性值和F 屬性值相同,所以只保留一個(gè),假設(shè)保留B,刪除F。這樣刪除表2 中D、F 兩列,得到影響因素化簡(jiǎn)信息表,見表3。
表3 影響因素化簡(jiǎn)信息表
下面對(duì)表中的數(shù)據(jù)進(jìn)行約簡(jiǎn)。 其中,U={1,2,3,4,5,6,7,8},R={A,B,C,E}。則A、B、C 和E 分別具有以下等價(jià)類:
ind(R)關(guān)系有以下等價(jià)類:
因此,因素B 可省,而A、C 和E 不可省。這樣就把原來6 個(gè)影響因素減為3 個(gè)。
采用3 層BP 神經(jīng)網(wǎng)絡(luò),輸入層有3 個(gè)神經(jīng)元,輸出層有1 個(gè)神經(jīng)元。把選定的消耗特征參數(shù)A、C 和E 作為神經(jīng)網(wǎng)絡(luò)的輸入向量,備件的消耗量作為神經(jīng)網(wǎng)絡(luò)的輸出向量。
中間層的神經(jīng)元個(gè)數(shù)需要通過實(shí)驗(yàn)來確定,因而需要設(shè)計(jì)一個(gè)隱含層可變的BP 網(wǎng)絡(luò)。一般可先根據(jù)Kolmogorov 定理取2n+1 個(gè),再依據(jù)經(jīng)驗(yàn)在附近選擇不同的個(gè)數(shù)進(jìn)行實(shí)驗(yàn)尋找最佳數(shù)目。依實(shí)際情況分別選取6、10、15、20、25、29、33 和40進(jìn)行實(shí)驗(yàn)。按BP 網(wǎng)絡(luò)的一般設(shè)計(jì)原則,中間層神經(jīng)元的傳遞函數(shù)為S 型正切函數(shù)tansig,輸出層神經(jīng)元的傳遞函數(shù)可設(shè)定為S 型對(duì)數(shù)函數(shù)logsig。中間層神經(jīng)元個(gè)數(shù)很難確定,但在很大程度上影響著網(wǎng)絡(luò)的預(yù)測(cè)性能[4]。
取表1 的影響因素?cái)?shù)據(jù)作為輸入向量,以緊跟后8年的消耗數(shù)量作為目標(biāo)向量進(jìn)行網(wǎng)絡(luò)訓(xùn)練。訓(xùn)練次數(shù)設(shè)為1 000,訓(xùn)練目標(biāo)設(shè)為0.000 1,其他參數(shù)取默認(rèn)值。依照上面設(shè)計(jì)網(wǎng)絡(luò),觀察不同個(gè)數(shù)隱單元構(gòu)成的BP 網(wǎng)絡(luò)訓(xùn)練曲線,分別檢查網(wǎng)絡(luò)性能,一般收斂速度較快且能夠達(dá)到訓(xùn)練精度的網(wǎng)絡(luò)為優(yōu)。
以此類推,取某年影響因素?cái)?shù)據(jù)作為測(cè)試樣本,得到各網(wǎng)絡(luò)輸出值后,分別再與下年實(shí)際消耗量相比較,將此誤差也作為選擇最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)重要依據(jù)之一。一般取收斂速度最快且誤差最小網(wǎng)絡(luò)結(jié)構(gòu)為最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)。
在最優(yōu)網(wǎng)絡(luò)模型中輸入某年的影響因素?cái)?shù)據(jù),從而可以預(yù)測(cè)次年的備件消耗量。
利用MATLAB 語言[10-11]編制描述該BP 網(wǎng)絡(luò)預(yù)測(cè)模型的計(jì)算機(jī)程序。運(yùn)行該程序,可得到不同隱單元數(shù)的網(wǎng)絡(luò)訓(xùn)練誤差曲線圖如圖2 所示。
圖2 不同隱單元數(shù)的網(wǎng)絡(luò)訓(xùn)練誤差曲線對(duì)比圖
從圖2 中看出,訓(xùn)練次數(shù)與預(yù)測(cè)誤差不隨隱單元數(shù)增加而線性增加或者減少,也證明了隱單元數(shù)增加可以提高網(wǎng)絡(luò)映射精度,但并不意味著一定提高網(wǎng)絡(luò)性能的重要結(jié)論。當(dāng)隱單元數(shù)為29 時(shí),網(wǎng)絡(luò)只需訓(xùn)練162 次就能達(dá)到精度要求,可以作為最優(yōu)網(wǎng)絡(luò)模型。
在最優(yōu)網(wǎng)絡(luò)模型中輸入某年的影響因素?cái)?shù)據(jù),預(yù)測(cè)次年的備件消耗量時(shí)。網(wǎng)絡(luò)的訓(xùn)練誤差曲線見圖3。若其預(yù)測(cè)輸出為0.876 5,反歸一化并取整數(shù)得年該備件的消耗量為30 個(gè)。
可以看出,經(jīng)過粗糙集對(duì)影響因素?cái)?shù)據(jù)約簡(jiǎn)化處理,在神經(jīng)網(wǎng)絡(luò)中輸入的數(shù)據(jù)量雖然大為減少,但預(yù)測(cè)結(jié)果還是比較貼近實(shí)際值,并沒有出現(xiàn)預(yù)測(cè)值與實(shí)際值之間相對(duì)誤差變的太大的問題,這就說明了所提出的基于粗糙集與BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法在進(jìn)行飛航導(dǎo)彈備件消耗預(yù)測(cè)時(shí)的預(yù)測(cè)數(shù)據(jù)可信度高,預(yù)測(cè)方法好用。
圖3 實(shí)際預(yù)測(cè)網(wǎng)絡(luò)的訓(xùn)練誤差曲線
本文提出基于粗糙集和BP 神經(jīng)網(wǎng)絡(luò)的飛航導(dǎo)彈備件消耗規(guī)律預(yù)測(cè)方法,該方法能發(fā)揮粗糙集在處理冗余數(shù)據(jù)上的優(yōu)勢(shì)。結(jié)合BP 神經(jīng)網(wǎng)絡(luò)對(duì)飛航導(dǎo)彈備件進(jìn)行消耗預(yù)測(cè),大大提高了預(yù)測(cè)的速度和有效性。通過應(yīng)用分析表明,該方法能達(dá)到很好的預(yù)測(cè)效果。
[1] 牟謳紅. 某型機(jī)備件需求確定過程和方法的研究[D]. 北京∶ 北京航空航天大學(xué), 2000∶4-7.
[2] 徐廷學(xué). 裝備綜合保障工程理論與方法[M]. 北京∶ 兵器工業(yè)出版社, 2009∶4-5.
[3] 沈世鎰. 神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論及其應(yīng)用[M]. 北京∶ 科學(xué)出版社, 1998∶56-59.
[4] 葛哲學(xué), 孫志強(qiáng). 神經(jīng)網(wǎng)絡(luò)理論與MATLAB R2007實(shí)現(xiàn)[M]. 北京∶ 電子工業(yè)出版社, 2007∶23-58.
[5] 岳付昌, 閻群章, 徐廷學(xué), 趙明. 神經(jīng)網(wǎng)絡(luò)在裝備使用階段質(zhì)量評(píng)估中的應(yīng)用[J]. 四川兵工學(xué)報(bào), 2010, 31(11)∶56-59.
[6] 高雋. 人工神經(jīng)網(wǎng)絡(luò)原理及仿真實(shí)例[M]. 2 版. 北京∶機(jī)械工業(yè)出版社, 2007∶43-54.
[7] 金偉. BP 神經(jīng)網(wǎng)絡(luò)在維修保障系統(tǒng)能力評(píng)估中的應(yīng)用[J]. 計(jì)算機(jī)仿真, 2005,22(10)∶43-46.
[8] 顧鈞元, 徐廷學(xué), 陳海建, 等. 基于BP 神經(jīng)網(wǎng)絡(luò)的產(chǎn)品壽命分布類型選擇[J]. 電子產(chǎn)品可靠性與環(huán)境試驗(yàn), 2011,29(1)∶42-45.
[9] 黃天辰, 韓京才, 葉術(shù)青, 等. 基于神經(jīng)網(wǎng)絡(luò)的彈藥消耗預(yù)測(cè)[J]. 軍械工程學(xué)院學(xué)報(bào), 2004,16(2)∶29-31.
[10] 景振毅, 張澤兵, 董霖. MATLAB 7.0 實(shí)用寶典[M]. 北京∶ 中國鐵道出版社, 2008∶23-205.
[11] 董長(zhǎng)虹. MATLAB 神經(jīng)網(wǎng)絡(luò)與應(yīng)用[M]. 北京∶ 航空工業(yè)出版社, 2005∶64-80.