趙黎興,侯興明,徐兆文,和林子
(航天工程大學 航天保障系,北京 102206)
隨著裝備信息化、智能化和復雜程度日益提升,裝備維修依靠承研承制單位和維修資質企業(yè)等專業(yè)維修力量的特征越來越明顯,社會化維修已逐漸成為裝備維修的主要方式。然而,由于維修力量篩查遴選機制的不健全和維修能力評價方式方法的不客觀,導致裝備的維修質量參差不齊,嚴重影響裝備性能的發(fā)揮和完成任務的質量。因此,開展裝備維修能力評估研究具有重大的現(xiàn)實意義。馮宇等[1]在構建了裝備維修能力評價指標體系的基礎上,將14個指標數(shù)據(jù)和評價結果作為BP(back propagation)神經(jīng)網(wǎng)絡模型的輸入和輸出,對某型復雜裝備的維修能力進行了評估。但未考慮指標特征信息冗余和初始網(wǎng)絡權重/閾值對BP神經(jīng)網(wǎng)絡影響。連云峰等[2]在建立評估指標體系的基礎上,利用美國國防部體系架構框架(department of defense architecture framework,DoDAF)模型對裝備的維修保障能力進行了評估,但利用統(tǒng)計和專家評估結合的方法對靜態(tài)指標和動態(tài)指標的取值存在主觀性強、缺乏基礎數(shù)據(jù)支撐和評估結果誤差偏大等問題。朱敦祥等[3]構建了軍民融合維修保障能力評估指標體系,利用云理論和物元理論通過熵權法和均方差方法對不同單位的維修保障能力進行了評估。但通過調查和咨詢專家構建標準云的方法存在易受調查范圍、被咨詢專家領域和知識程度的影響,極易導致結果不準確和誤差較大。任佳成等[4]利用層次分析法對構建的裝備維修能力評價指標體系進行了實際應用研究,但在實際應用中,評估結果對專家經(jīng)驗和知識水平有很強的依賴性,很難形成統(tǒng)一的認識和具有實際意義的評估結果。
以上方法都是通過對指標的優(yōu)化、組合和指標值的設定,利用數(shù)理統(tǒng)計的方法對維修能力進行評估。但是,隨著裝備的復雜程度越來越高,維修能力評估的非線性、開放性、復雜性和動態(tài)性特征越來越明顯,使得裝備維修能力評估的難度加大,傳統(tǒng)評估方法的不適應和低效用越來越明顯。BP神經(jīng)網(wǎng)絡結構簡單,具有自組織、自學習和自適應性的特點,能夠以任意精度和不同方式逼近任意非線性函數(shù)。誤差的反向傳播反復修正網(wǎng)絡的權值/閾值,實現(xiàn)實際輸出和期望輸出差異的最小化[5]。但隨機選取的初始閾值和權值容易造成網(wǎng)絡的局部收斂、網(wǎng)絡的震蕩和訓練結果差異較大等問題。因此,本文利用遺傳算法(genetic algorithm,GA)全局尋優(yōu)特性和穩(wěn)健性[6]優(yōu)化BP神經(jīng)網(wǎng)絡初始權值/閾值,通過小波函數(shù)作為隱含層傳遞函數(shù)增強網(wǎng)絡的學習功能。將經(jīng)過屬性約簡的樣本數(shù)據(jù)作為GABP神經(jīng)網(wǎng)絡模型的輸入,評估結果作為模型輸出,經(jīng)樣本數(shù)據(jù)的網(wǎng)絡訓練和驗證,實現(xiàn)對裝備維修能力的評估。GA-小波-BP發(fā)揮了BP神經(jīng)網(wǎng)絡的泛化映射能力和分類器特性,避免了局部收斂問題,提高了能力評估的分類精度和網(wǎng)絡的學習能力。
裝備維修記錄是對維修基本信息、物資消耗、時間消耗、維修質量等的真實記錄,是衡量承修方維修能力的重要數(shù)據(jù)來源。維修記錄數(shù)據(jù)主要來源于維修企業(yè)歷次維修統(tǒng)計和維修完成后針對裝備使用單位的一線崗位人員和機關業(yè)務部門開展的裝備維修滿意度調查問卷的總結。經(jīng)調研發(fā)現(xiàn),某維修企業(yè)的維修記錄屬性多達20多項,部分屬性間存在相似性和強相關性。為避免因屬性冗余造成的網(wǎng)絡局部收斂和精度差等問題,本文采用屬性主分量約簡算法對維修記錄屬性進行約簡。
粗糙集理論的核心內容是通過屬性約簡消除數(shù)據(jù)的冗余屬性實現(xiàn)降維和特征提取。常見的粗糙集屬性約簡算法有:基于正區(qū)域的屬性約簡算法、基于差別矩陣的屬性約簡算法和基于信息熵的屬性約簡算法[7]。本文通過構造差別矩陣和粗糙集分量函數(shù)構建屬性最優(yōu)約簡集。
1.1.1 區(qū)間值決策系統(tǒng)
區(qū) 間 值 決 策 系 統(tǒng)[8]可 以 表 示 為:S=(U,C∪D,V,f),其中U={χ1,χ2,…,χn}是論域,對象用χ1表示;A=C∪D={a1,a2,…,am}是論域對應的屬性集(非空有限集),uk i為屬性ak(k=1,2,…,m)下 對 象χi(i=1,2,…,n)的 實 際 值,。C={c1,c2,…,ci}為 條 件 屬 性 集,D={d1,d2,…,d j}為決策屬性集是屬性集A的值域;f表示對象χn在屬性am約束下到值域V的度量函數(shù),即f:U×A→V,a∈A,χ∈U,f(χ,a)∈Va。
1.1.2 相似度
相似度表示在同一屬性下2個區(qū)間值數(shù)據(jù)之間的相似程度,通過相似度可以得出數(shù)據(jù)之間的相關關系,具體的方法如下:
定義1假設區(qū)間值決策系統(tǒng)S=(U,C∪D,V,f),屬性ak∈C下和的Jaccard相似度?kij定義為[9]
式中:|·|為區(qū)間長度。設定相似度閾值δ∈[0,1],當≥δ時,ak(χi)與ak(χj)兩者相容<δ時,兩者相離。
1.1.3 屬性主分量約簡算法
假設有區(qū)間值決策系統(tǒng)S=(U,C∪D,V,f),差別矩陣為M=(cij)n×n的矩陣,cij為差別矩陣中第i行、第j列的元素,cij滿足以下條件:
在差別矩陣基礎上利用主分量啟發(fā)式算法構造屬性分量函數(shù),屬性ak分量函數(shù)為[10-11]
式中:
card(cij)為差別矩陣集合基數(shù);count(ak)為屬性ak出現(xiàn)的次數(shù)。
屬性ak的分量函數(shù)的大小反應了屬性ak的重要程度,通過屬性分量函數(shù)可以有效避免屬性冗余。屬性主分量約簡算法具體步驟如下:
(1)求相似度閾值δ∈[0,1]條件下的差別矩陣M=(cij)n×n,將單個核屬性加入約簡集,即
(2)依據(jù)式(3)計算差別矩陣中各屬性分量的值,將屬性按照分量函數(shù)值fc(ak)的大小降序排列。
(3)將所需的前x位fc(ak)加入到屬性的約簡集,得到最優(yōu)的屬性約簡集{}。具體實現(xiàn)過程如圖1所示。
圖1 粗糙集主分量約簡算法示例Fig.1 Rough set principal component reduction algorithm example
主分量約簡算法不用對差別矩陣進行簡化處理,減少了搜索和遍歷決策表的次數(shù),對于有核和無核的決策表均可通過分量函數(shù)得到約簡集,在相似度閾值δ=0.7,fc(ak)值為前14位屬性約簡后的維修記錄表如表1所示。
表1 XX維修公司經(jīng)屬性約簡的維修記錄表Table 1 Maintenance r ecords of XX maintenance company after attr ibute r eduction
神經(jīng)網(wǎng)絡是一種通過模仿動物神經(jīng)網(wǎng)絡特征,進行大規(guī)模分布式信息并行處理的機器學習算法,是一種非線性的動力學系統(tǒng),在解決多因素和多條件的模糊信息處理問題中有很強的適用性[12]。
1.2.1 信號的單向正向傳播
BP神經(jīng)網(wǎng)絡是一種信號單向正向傳播,誤差反向傳播的前項多層反饋的前饋型神經(jīng)網(wǎng)絡算法,利用梯度下降法對網(wǎng)絡的權值/閾值進行逐步調整,達到網(wǎng)絡模型中每一組輸入都能達到理想輸出的目的[13-14]。Kolmogorov定理和實踐表明:含有一個隱含層的3層BP神經(jīng)網(wǎng)絡能在閉區(qū)間內以任意精度逼近任意非線性函數(shù)的能力[10]。因此,本文采用3層的神經(jīng)網(wǎng)絡進行維修能力的評估。具有1個隱含層的3層BP神經(jīng)網(wǎng)絡如圖2所示,設各層的神經(jīng)元數(shù)目分別為:輸入層I,隱含層M,輸出層O,ωim和ωmo分別為輸入層與隱含層、隱含層與輸出層的權值,λ和β分別為輸入層與隱含層,隱含層與輸出層的閾值。
圖2 BP神經(jīng)網(wǎng)絡結構圖Fig.2 BP neural network structure diagram
隱含層和輸出層的激活函數(shù)分別為h(x)和g(x),u和v分別表示各層神經(jīng)元的輸入和輸出,輸出 期 望b=(bj1,bj2,…,bjo),樣 本 集 為X=(xj1,xj2,...,xji),j=1,2,...,n,i為輸入層神經(jīng)元的個數(shù),則隱含層的輸入為[15]
隱含層的輸出為
輸出層的輸入為
輸出層的輸出為
1.2.2 誤差的反向反饋
采用梯度下降法按照輸出層、隱含層、輸入層的順序對各層的閾值和權值進行調整,使神經(jīng)網(wǎng)絡輸出經(jīng)不斷調整更加接近輸出期望值。
第j個樣本輸入時,輸出層神經(jīng)元o的誤差為
輸出層誤差能量的總和為
按照梯度下降法
輸出層權值調整Δωmo為
輸出層閾值調整Δβm為
隱含層權值調整Δωim為
隱含層閾值調整Δλi為
由于神經(jīng)網(wǎng)絡初始的權值和閾值為某一區(qū)間內的隨機值,初始值選取不當會造成網(wǎng)絡局部收斂和震蕩。利用遺傳算法(GA)全局尋優(yōu)特性優(yōu)化BP神經(jīng)網(wǎng)絡初始的權值和閾值,避免BP神經(jīng)網(wǎng)絡因局部極值導致局部收斂和收斂速度過慢的影響,為增加網(wǎng)絡的學習功能,提高網(wǎng)絡訓練速率和訓練精度,選取小波函數(shù)作為隱含層的傳遞函數(shù)[16-17],Sig?moid函數(shù)為輸出層激活函數(shù)。GA-小波-BP神經(jīng)網(wǎng)絡模型進行維修能力評估的流程如圖3所示。
圖3 GA-小波-BP神經(jīng)網(wǎng)絡流程圖Fig.3 GA-wavelet-BP neural network flow chart
遺傳算法從最開始選定的初始閾值和權值種群,利用選擇復制、隨機交叉和變異,通過種群優(yōu)勝劣汰實現(xiàn)種群漸進式的逐代優(yōu)化,進而不斷逼近最優(yōu)解[18]。GA優(yōu)化BP神經(jīng)網(wǎng)絡具體步驟如下:
(1)種群初始化
在一定的區(qū)間內隨機選擇BP神經(jīng)網(wǎng)絡的初始閾值和權值,按照輸入層-隱含層-輸出層權值和閾值的順序組成遺傳算法的種群個體。遺傳算法種群個體一般采用二進制編碼,由于BP神經(jīng)網(wǎng)絡初始的權值和閾值為一隨機數(shù),采用二進制編碼容易導致位串過長,影響網(wǎng)絡的尋優(yōu)速率,因此采用實數(shù)對種群個體進行編碼。
(2)設定適應度函數(shù)
適應度函數(shù)通常由求解問題的目標函數(shù)轉化而來,本文中目標函數(shù)為誤差能量的求解問題,要求誤差能量越小越好,而適應度函數(shù)優(yōu)化BP神經(jīng)網(wǎng)絡的權值和閾值要求個體優(yōu)化程度和被選擇的概率越大越好,因而,選擇適應度函數(shù)為[19]
種群中個體j的適應度值為F j,fj為Fj的倒數(shù),fj越大,適應性越好。
(3)選擇遺傳算子
遺傳算法的選擇操作是優(yōu)勝劣汰的過程,即挑選出優(yōu)良個體和淘汰不滿足要求的個體,挑選出的個體作為父代繁殖子代。常用的遺傳算法的選擇方法有隨機遍歷選擇法、基于種群交流的選擇法、適應度比例選擇法和局部選擇法等[15]。本文采用基于適應度比例選擇的Monte Carlo法[20]。設初始閾值和權值的種群數(shù)量為N,種群中個體的選擇概率Pj為
(4)交叉遺傳算子
從經(jīng)選擇操作保留的優(yōu)良個體的父代中,隨機選擇2個個體θi和θj,隨機獨立地選擇交叉位l進行染色體的交叉操作,具體如下:
式中:δ為[0,1]的隨機數(shù)。
(5)變異遺傳算子
遺傳算法變異操作是,隨機選取的種群個體以很小的概率隨機改變個體編碼數(shù)據(jù)中某個串的值完成均勻變異,達到提高個體適應度和局部逼近最優(yōu)解的目的。本文采用均勻變異的方法,變異后的新個體為
式中:θmin和θmax為初始種群個體的最小、最大值;ε為[0,1]的隨機數(shù)。
(6)個體評價
評價個體適應度是否滿足要求,若不滿足,則進行再次循環(huán)迭代,直到滿足網(wǎng)絡要求。
(7)解碼
將符合要求的個體按照編碼的逆過程進行解碼,本文使用實數(shù)編碼,不存在解碼過程。
(8)賦值
將獲得的最優(yōu)閾值和權值作為BP神經(jīng)網(wǎng)絡的初始閾值和權值進行網(wǎng)絡訓練。
裝備維修數(shù)據(jù)記錄中數(shù)據(jù)量綱不同,標準不統(tǒng)一,需要對數(shù)據(jù)進行標準化處理。
2.1.1 等級數(shù)據(jù)的處理
(1)維修等級、技術等級數(shù)據(jù)的處理
調研得知,該企業(yè)裝備維修等級分為4類:①維修為裝備的核心部件損壞或核心功能無法實現(xiàn),故障點位多,故障定位難,維修時限要求高,維修困難;②維修為裝備的重要功能存在故障,部分功能無法實現(xiàn),故障定位較難,故障數(shù)量較多,維修難度較大;③維修為裝備的狀態(tài)不穩(wěn)定,技術性能達不到指標要求,故障排查任務量大,一般需要換件和較簡單的原位修理,維修難度較低;④維修為裝備發(fā)生一般故障,故障數(shù)量較少,故障定位容易,維修難度低。維修人員的技術等級由高到低分為1,2,3,4,5,6個等級,本文參照比例法,對維修等級、技術等級按照公式(21)進行定量化:
式中:i為單次維修中維修裝備數(shù)量或維修人員數(shù)量;zij為第j次維修中第i個裝備的維修等級或第j次維修中第i個維修人員的技術等級。
(2)其余等級數(shù)據(jù)的處理
該企業(yè)將維修設備、維修材料按照等級的由高到低依次劃分為1,2,3和1,2,3,4等級,為保證原始數(shù)據(jù)的真實性和一致性,采用比重法對等級數(shù)據(jù)進行處理,公式如下:
式中:i為單次維修中維修設備、維修材料的數(shù)量;d ij為第j次維修中第i個維修設備和維修材料等級。
2.1.2 其他維修記錄條件屬性數(shù)據(jù)的處理方法
為保持原始數(shù)據(jù)的真實性,本文采用比例法對其余各項屬性數(shù)據(jù)進行歸一化進行處理,公式如下:
式中:ci為維修記錄中的第i個屬性;j為維修的次數(shù);xij為第j次維修,第i個屬性的值。ci∈[0,1]且無量綱。
結合該企業(yè)的維修記錄表,網(wǎng)絡的輸入層為維修記錄中的屬性a1~a14,輸出層為含有一個神經(jīng)元的維修能力評價結果,依據(jù)維修記錄中維修能力評價的標準,依次劃分為優(yōu)(0.82~1],良(0.62~0.82],中(0.45~0.62],差(0~0.45],隱含層神經(jīng)元的個數(shù)按照公式(24)得到。
式中:m,iin,oout分別為隱含層、輸入層、輸出層神經(jīng)元的個數(shù);a為[1,10]之間的整數(shù)。
本文中BP神經(jīng)網(wǎng)絡隱含層的傳遞函數(shù)使用小波函數(shù),輸出層的激活函數(shù)使用Sigmoid函數(shù)g(x)=,小波函數(shù)作為隱含層傳遞函數(shù)時,隱含層和輸出層的輸出如式(25),(26)所示:
式中:H(·)為函數(shù)hi(·)經(jīng)傅里葉變換后的函數(shù)[21];ai為度量hi的收縮因子;bi為度量hi的平移因子。
隱含層不同神經(jīng)元數(shù)目的訓練誤差如表2所示。經(jīng)網(wǎng)絡訓練,最終確定隱含層神經(jīng)元的個數(shù)為10個。
表2 隱含層不同神經(jīng)元數(shù)目的訓練誤差Table 2 Training errors of different numbers of neurons in the hidden layer
在14個記錄屬性作為輸入,10個隱含層神經(jīng)元和輸出層1個神經(jīng)元的GA-BP神經(jīng)網(wǎng)絡結構中,需要優(yōu)化的網(wǎng)絡權值個數(shù)為14×10+10=150,網(wǎng)絡閾值個數(shù)為10+1=11,總有165個變量。遺傳算法優(yōu)化參數(shù)的設置如表3所示。
表3 遺傳算法優(yōu)化參數(shù)設置Table 3 Genetic algorithm optimization parameter settings
BP神經(jīng)網(wǎng)絡輸出精度和訓練速度主要受初始閾值、權值、網(wǎng)絡結構和網(wǎng)絡訓練函數(shù)的影響。本文選取某維修資質企業(yè)近4年的維修記錄283組數(shù)據(jù)為樣本,選取其中的270組數(shù)據(jù)作為模型的訓練樣本,按照上述數(shù)據(jù)的處理方法對數(shù)據(jù)進行歸一化,其中部分數(shù)據(jù)如表4所示。
表4 數(shù)據(jù)處理后的某維修企業(yè)維修記錄表(節(jié)選)Table 4 Repair r ecord form of a maintenance company after data pr ocessing(excer pt)
將第1~270組數(shù)據(jù)作為訓練樣本輸入模型,設置訓練精度為10-5,學習速率為0.1,最大迭代次數(shù)為1 000,利用Matlab軟件進行訓練。當訓練樣本中的一部分數(shù)據(jù)存在很大偏離時,可以用異常值檢測算法對異常數(shù)據(jù)進行檢測,然后用平均值、中位數(shù)或者其他處理方法對異常值進行替換或刪除。當一些數(shù)據(jù)偏離很小時,可以看作是數(shù)據(jù)噪聲,一般對模型的訓練效果影響很小,不作處理。BP神經(jīng)網(wǎng)絡訓練輸出誤差變化曲線如圖4所示,在迭代至第12步時,網(wǎng)絡達到收斂和最佳驗證性能誤差0.057 019。
圖4 BP神經(jīng)網(wǎng)絡誤差曲線Fig.4 Error curve of BP neural network
利用GA-BP網(wǎng)絡結構,采用同樣的訓練樣本,學習率為0.01,不設置目標值,迭代完為止。在迭代至第3步時,網(wǎng)絡達到最佳驗證性能誤差0.055 629;在迭代到第9步時,完成迭代,網(wǎng)絡收斂,如圖5所示。
圖5 GA-BP神經(jīng)網(wǎng)絡誤差曲線Fig.5 GA-BP neural networ k er ror cur ve
GA-BP,GA-小波-BP的適應度變化曲線如圖6,7所示,GA-小波-BP的平均適應度遠遠小于GA-BP的適應度,即GA-小波-BP的誤差能量遠遠小于GABP的誤差能量,具有更小的誤差輸出。GA-小波-BP平均適應度曲線在22代趨向平緩,網(wǎng)絡可獲得最優(yōu)個體;而GA-BP平均適應度曲線在38代趨向平緩,獲得最優(yōu)個體。用小波函數(shù)代替BP神經(jīng)網(wǎng)絡的傳遞函數(shù),網(wǎng)絡的收斂速度更快。
圖6 GA-BP適應度隨代數(shù)變化曲線Fig.6 GA-BP fitness cur ve with algebr a
圖7 GA-小波-BP適應度隨代數(shù)變化曲線Fig.7 GA-wavelet-BP fitness cur ve with algebr a
BP神經(jīng)網(wǎng)絡、GA-BP神經(jīng)網(wǎng)絡的擬合度曲線如圖8,9所示。
圖8 BP神經(jīng)網(wǎng)絡擬合度Fig.8 BP neural network fit degree
將271~283的13組數(shù)據(jù)作為測試樣本,評估結果如圖10和表5所示。
表5 BP神經(jīng)網(wǎng)絡、GA-BP神經(jīng)網(wǎng)絡、GA-小波-BP神經(jīng)網(wǎng)絡輸出與真實值比較Table 5 BP neural network,GA-BP neural network,GA-wavelet-BP neural networ k output and real value compar ison
圖10 評估結果對比圖Fig.10 Comparison of evaluation results
為綜合評價BP神經(jīng)網(wǎng)絡、GA-BP神經(jīng)網(wǎng)絡、GA-小波-BP神經(jīng)網(wǎng)絡的實際性能,采用平均絕對誤差、最大絕對誤差和最小絕對誤差進行評判3種不同網(wǎng)絡的性能,結果如表6所示。
表6 算法誤差對比Table 6 Algorithm error comparison
GA-小波-BP神經(jīng)網(wǎng)絡的收斂速度、評估精度顯著高于GA-BP和BP神經(jīng)網(wǎng)絡,測試樣本平均絕對誤差相比BP神經(jīng)網(wǎng)絡降低了45.8%,相比GA-BP神經(jīng)網(wǎng)絡降低了14.7%,最大和最小絕對誤差遠遠小于BP和GA-BP神經(jīng)網(wǎng)絡的最大、最小誤差,擬合度優(yōu)于BP神經(jīng)網(wǎng)絡,迭代步數(shù)少,網(wǎng)絡收斂快,避免了局部極小值和局部收斂問題,降低了平均誤差,提高了評估精度。
圖9 GA-BP神經(jīng)網(wǎng)絡的擬合度Fig.9 The fit of GA-BP neural network
本文利用粗糙集主分量約簡算法對維修記錄的冗余屬性進行了約簡,提高了網(wǎng)絡的性能。提出了一種基于GA-小波-BP神經(jīng)網(wǎng)絡維修能力評估方法,通過某維修企業(yè)近4年的維修數(shù)據(jù)證實了本文提出評估模型的有效性和準確性,為進行裝備維修能力評估提供了一定的方法借鑒。