本發(fā)明涉及故障預(yù)測(cè)技術(shù)領(lǐng)域,具體涉及一種復(fù)雜電子設(shè)備故障預(yù)測(cè)的方法。
背景技術(shù):
目前最常見的故障預(yù)測(cè)的方法有:
1)趨勢(shì)圖分析法
該方法通過趨勢(shì)分析來(lái)掌握復(fù)雜電子設(shè)備的運(yùn)行狀態(tài)。但是,由于影響復(fù)雜電子設(shè)備運(yùn)行狀態(tài)的原因很多,一旦某部分的統(tǒng)計(jì)規(guī)律發(fā)生變化,該方法無(wú)法對(duì)其未來(lái)的運(yùn)行狀態(tài)進(jìn)行預(yù)測(cè)。
2)曲線擬合法
該方法只適合于曲線的參數(shù)方程比較明確的預(yù)測(cè)工作,對(duì)于一些復(fù)雜電子設(shè)備具有的非線性、時(shí)變性等特點(diǎn),很難建立合適的曲線方程,預(yù)測(cè)效果并不理想。
3)時(shí)間序列法
該方法對(duì)于線性、平穩(wěn)隨機(jī)時(shí)間序列的預(yù)測(cè)能夠起到較好的預(yù)測(cè)效果,應(yīng)用范圍受到限制。
4)基于灰色理論的預(yù)測(cè)方法
該方法僅適用于有一定上升或下降趨勢(shì)的弱隨機(jī)性時(shí)間序列的預(yù)測(cè),對(duì)于復(fù)雜電子設(shè)備中隨機(jī)性較強(qiáng)的系統(tǒng)進(jìn)行預(yù)測(cè)時(shí),還需進(jìn)一步改進(jìn)。
5)人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法
人工神經(jīng)網(wǎng)絡(luò)以其獨(dú)特的聯(lián)想、記憶、存儲(chǔ)和學(xué)習(xí)功能以及高度的非線性映射能力在設(shè)備的故障診斷和故障預(yù)測(cè)中被廣泛應(yīng)用。但是,在實(shí)際應(yīng)用中也存在著以下問題:
a)訓(xùn)練樣本的獲取常常存在一定困難,神經(jīng)網(wǎng)絡(luò)的泛化能力有待提高;
b)神經(jīng)網(wǎng)絡(luò)的收斂速度和收斂性無(wú)法保證;
c)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練容易陷入局部最小。
技術(shù)實(shí)現(xiàn)要素:
(一)要解決的技術(shù)問題
本發(fā)明要解決的技術(shù)問題是:如何設(shè)計(jì)一種復(fù)雜電子設(shè)備故障預(yù)測(cè)的方法,以便能夠有效的對(duì)復(fù)雜電子設(shè)備進(jìn)行故障預(yù)測(cè)。
(二)技術(shù)方案
為了解決上述技術(shù)問題,本發(fā)明提供了一種復(fù)雜電子設(shè)備故障預(yù)測(cè)的方法,所述方法包括以下步驟:首先利用差別矩陣的屬性約簡(jiǎn)方法建立復(fù)雜電子設(shè)備最小故障診斷特征子集,并對(duì)屬性樣本進(jìn)行歸一化處理;然后根據(jù)改進(jìn)的遺傳算法獲得最佳神經(jīng)元初始權(quán)值和閾值;對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),動(dòng)態(tài)調(diào)整學(xué)習(xí)速率,并用改進(jìn)后的訓(xùn)練算法訓(xùn)練網(wǎng)絡(luò)的連接強(qiáng)度;最后對(duì)預(yù)測(cè)的故障樣本進(jìn)行反歸一化處理,得到復(fù)雜電子設(shè)備的故障樣本的預(yù)測(cè)值。
(三)有益效果
本發(fā)明利用粗糙集屬性約簡(jiǎn)方法對(duì)樣本數(shù)據(jù)進(jìn)行預(yù)處理,粗糙集理論具有很強(qiáng)的定性分析能力,能在保留關(guān)鍵信息的前提下對(duì)樣本數(shù)據(jù)進(jìn)行約簡(jiǎn),達(dá)到簡(jiǎn)化訓(xùn)練樣本的目的;根據(jù)改進(jìn)的遺傳算法獲得最佳神經(jīng)元初始權(quán)值和閾值,對(duì)經(jīng)典遺傳算法進(jìn)行改進(jìn),以網(wǎng)絡(luò)誤差最小作為進(jìn)化準(zhǔn)則,經(jīng)過多次迭代,最后獲得BP神經(jīng)網(wǎng)絡(luò)開始訓(xùn)練的初始權(quán)值和閾值;基于改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法訓(xùn)練網(wǎng)絡(luò)的連接強(qiáng)度,計(jì)算BP神經(jīng)網(wǎng)絡(luò)輸出層的預(yù)測(cè)值,為進(jìn)一步縮短訓(xùn)練時(shí)間,對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),動(dòng)態(tài)調(diào)整學(xué)習(xí)速率,提高了網(wǎng)絡(luò)的收斂速度。對(duì)樣本數(shù)據(jù)進(jìn)行反歸一化處理,得到復(fù)雜電子設(shè)備故障樣本數(shù)據(jù)的預(yù)測(cè)值。
具體實(shí)施方式
為使本發(fā)明的目的、內(nèi)容、和優(yōu)點(diǎn)更加清楚,下面結(jié)合實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。
對(duì)于復(fù)雜電子設(shè)備,可以設(shè)為自定義的一些電子設(shè)備。
本發(fā)明實(shí)施例的復(fù)雜電子設(shè)備故障預(yù)測(cè)的方法包括以下步驟:首先利用差別矩陣的屬性約簡(jiǎn)方法建立復(fù)雜電子設(shè)備最小故障診斷特征子集,并對(duì)屬性樣本進(jìn)行歸一化處理;然后根據(jù)改進(jìn)的遺傳算法獲得最佳神經(jīng)元初始權(quán)值和閾值;對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),動(dòng)態(tài)調(diào)整學(xué)習(xí)速率,并用改進(jìn)后的訓(xùn)練算法訓(xùn)練網(wǎng)絡(luò)的連接強(qiáng)度;最后對(duì)預(yù)測(cè)的故障樣本進(jìn)行反歸一化處理,得到復(fù)雜電子設(shè)備的故障樣本的預(yù)測(cè)值。該方法具體包括以下步驟:
S1:將采集得到的復(fù)雜電子設(shè)備的原始數(shù)據(jù)通過特征提取獲得每一個(gè)故障對(duì)應(yīng)的所有故障征兆,選取能體現(xiàn)復(fù)雜電子設(shè)備狀況的特征參數(shù)作為條件屬性,發(fā)生故障的類型作為決策屬性。對(duì)復(fù)雜電子設(shè)備的條件屬性和決策屬性進(jìn)行編碼,建立復(fù)雜電子設(shè)備的決策表T。
假設(shè)C是復(fù)雜電子設(shè)備的條件屬性(是決策表T的差別矩陣,是一個(gè)n乘以n的方陣),D是復(fù)雜電子設(shè)備的決策屬性,c(w)是記錄w在屬性c(c∈C)上的值,Cij為差別矩陣中第i行第j列的元素,則差別矩陣C可表示為:
基于差別矩陣的屬性約簡(jiǎn)方法如下:(A是屬性約簡(jiǎn)后的條件屬性集合,C是決策表T的差別矩陣,)ak∈{cij},C0為核屬性集合)
1)定義集合B、集合Q、集合R,且初始值均為空集;
2)將核屬性集合C0中的內(nèi)容復(fù)制到集合R中;
3)求出所有包含核屬性的條件屬性集合Q;
4)差別矩陣C變?yōu)?C-Q),將條件屬性集合A中去除集合R后的內(nèi)容復(fù)制到集合B中;
5)對(duì)所有的ak∈B,計(jì)算在C中屬性出現(xiàn)次數(shù)最多的屬性ak,并將其添加到集合R中;
6)返回步驟2,直至C為空。
經(jīng)過上述處理后,集合R就是最后的約簡(jiǎn)結(jié)果,即復(fù)雜電子設(shè)備最小故障診斷特征子集。
S2:輸入樣本歸一化處理
將S1中得到的復(fù)雜電子設(shè)備最小故障診斷特征子集作為輸入的屬性樣本。則經(jīng)過歸一化處理后得到其中,x(ii)表示歸一化前的屬性樣本值,y(ii)表示歸一化后的屬性樣本中的最大值,xmax表示屬性樣本中的最大值,xmin表示屬性樣本中的最小值。y(ii)的取值范圍是[0,1]。
將歸一化前的屬性樣本分成k組,每組有m+1個(gè)值。前m個(gè)值作為BP神經(jīng)網(wǎng)絡(luò)輸入節(jié)點(diǎn)的輸入值,后一個(gè)作為輸出節(jié)點(diǎn)的期望值,見下表1。
S3:個(gè)體編碼:
將所述復(fù)雜電子設(shè)備最小故障診斷特征子集作為輸入層神經(jīng)元。復(fù)雜電子設(shè)備的個(gè)體編碼方式選擇實(shí)數(shù)編碼,每個(gè)個(gè)體均為一個(gè)實(shí)數(shù)串,由BP神經(jīng)網(wǎng)絡(luò)輸入層與隱含層連接權(quán)值、隱含層閾值、隱含層與輸出層連接權(quán)值以及輸出層閾值4部分組成。
S4:建立適應(yīng)度函數(shù),并計(jì)算種群適應(yīng)度
根據(jù)個(gè)體得到的BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,用訓(xùn)練數(shù)據(jù)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)后預(yù)測(cè)復(fù)雜電子設(shè)備系統(tǒng)輸出,把預(yù)測(cè)輸出和期望輸出之間的誤差絕對(duì)值和作為個(gè)體適應(yīng)度F,計(jì)算公式為:
上式中,n為神經(jīng)網(wǎng)絡(luò)輸出節(jié)點(diǎn)數(shù),dl為神經(jīng)網(wǎng)絡(luò)第l個(gè)節(jié)點(diǎn)的期望輸出,ol為第l個(gè)節(jié)點(diǎn)的預(yù)測(cè)輸出,t為系數(shù),為預(yù)設(shè)值。
S5:判斷是否滿足終止條件:
算法終止條件:如果當(dāng)連續(xù)繁殖很多代的最優(yōu)BP神經(jīng)網(wǎng)絡(luò)權(quán)值的適應(yīng)值沒有變化時(shí),則轉(zhuǎn)步驟S9,否則轉(zhuǎn)步驟S6。
S6:選擇算子:
由于操作簡(jiǎn)單,傳統(tǒng)的遺傳算法大多采用“輪盤賭”選擇算子。但是該方法一方面容易導(dǎo)致局部最優(yōu)而無(wú)法進(jìn)化,另一方面無(wú)法體現(xiàn)個(gè)體優(yōu)劣,造成搜索精度不夠。
本發(fā)明對(duì)傳統(tǒng)遺傳算法的“選擇算子”進(jìn)行改進(jìn),改進(jìn)后的選擇方式可確保適應(yīng)度比平均適應(yīng)度大的一些個(gè)體一定能夠被遺傳到下一代群體中,所以該方法的選擇誤差較小。具體操作如下:
d)設(shè)S2得到的BP神經(jīng)網(wǎng)絡(luò)的權(quán)值的數(shù)目為N,每個(gè)權(quán)值的適應(yīng)度為Fs(s=1,2,…,N),計(jì)算BP神經(jīng)網(wǎng)絡(luò)的權(quán)值在下一代權(quán)值中的期望生存數(shù)目
e)用Ns的整數(shù)部分確定各個(gè)對(duì)應(yīng)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值在下一代權(quán)值中的生存數(shù)目,其中表示取不大于Ns的最大整數(shù),這樣可確定下一代權(quán)值中的個(gè)權(quán)值;
f)以為各個(gè)權(quán)值新的適應(yīng)度,用“輪盤賭”選擇算子隨機(jī)確定下一代權(quán)值中還未確定的個(gè)權(quán)值。
S7:
采用自適應(yīng)交叉率和變異率
本發(fā)明使用BP神經(jīng)網(wǎng)絡(luò)權(quán)值的適應(yīng)度值來(lái)衡量遺傳算法的收斂情況。對(duì)于適應(yīng)值高的解,取較低的交叉率Pc和變異率Pm,使得該解進(jìn)入下一代的機(jī)會(huì)增大;對(duì)于適應(yīng)值低的解,應(yīng)取較高的交叉率Pc和變異率Pm,使該解被淘汰掉。式(4)是交叉率Pc和變異率Pm隨適應(yīng)值的變化而自適應(yīng)改變的計(jì)算方法。
其中,kc和km是小于1的常數(shù),fc是要交叉的兩個(gè)權(quán)值中適應(yīng)值大的一個(gè),fm是要變異的權(quán)值的適應(yīng)值,fmax和分別是群體的最大適應(yīng)值和平均適應(yīng)值,表明群體的收斂程度,該值越小,表明群體已趨向收斂。
S8:如果算法執(zhí)行次數(shù)達(dá)到了進(jìn)化次數(shù)的上限時(shí)群體仍不收斂,則算法停止,否則轉(zhuǎn)步驟S4。
S9:獲取BP神經(jīng)網(wǎng)絡(luò)初始值,計(jì)算BP神經(jīng)網(wǎng)絡(luò)誤差
在上述遺傳算法中,以BP神經(jīng)網(wǎng)絡(luò)誤差最小作為進(jìn)化準(zhǔn)則,經(jīng)過多次迭代操作,最后獲得一組權(quán)值和閾值,該組值是遺傳算法所能遍歷的值中網(wǎng)絡(luò)誤差最小的,作為BP神經(jīng)網(wǎng)絡(luò)的初始值。
設(shè)BP神經(jīng)網(wǎng)絡(luò)中每一個(gè)樣本p的輸入輸出模式的二次型誤差函數(shù)定義為:
系統(tǒng)的平均誤差代價(jià)函數(shù)為:
上式(5)和(6)中,P為訓(xùn)練樣本的數(shù)量,L為BP神經(jīng)網(wǎng)絡(luò)輸出層的神經(jīng)元數(shù),dpk為BP神經(jīng)網(wǎng)絡(luò)輸出層節(jié)點(diǎn)的期望輸出,Opk為BP神經(jīng)網(wǎng)絡(luò)輸出層節(jié)點(diǎn)的實(shí)際輸出。
S10:動(dòng)態(tài)調(diào)整學(xué)習(xí)速率:
若BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練初期的功效較好的學(xué)習(xí)率,對(duì)后來(lái)的訓(xùn)練未必合適,因此,本發(fā)明對(duì)BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法進(jìn)行改進(jìn),采用動(dòng)態(tài)調(diào)整學(xué)習(xí)速率的方法,使得BP神經(jīng)網(wǎng)絡(luò)的實(shí)際輸出盡可能地接近期望輸出,增加了學(xué)習(xí)算法的可靠性,縮短了BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間。
選取BP神經(jīng)網(wǎng)絡(luò)輸出層節(jié)點(diǎn)的實(shí)際輸出和期望輸出的平均絕對(duì)誤差e1及其變化率e2兩個(gè)變量:
e2=e1(t)-e1(t-1) (8)
其中,e1(t)和e1(t-1)表示第t和t-1時(shí)的平均絕對(duì)值誤差。
學(xué)習(xí)速率η的表達(dá)式為:
η=f1(e1)+f2(e2) (9)
其中:
k1和k2為比例因子,調(diào)整f1和f2的比例;b1和b2為權(quán)重因子,修正f1和f2的權(quán)重。k1、k2和b1、b2的值需根據(jù)實(shí)際需要和反復(fù)實(shí)驗(yàn)確定。
S11:修改BP神經(jīng)網(wǎng)絡(luò)的權(quán)值:
設(shè)BP神經(jīng)網(wǎng)絡(luò)有r個(gè)輸入節(jié)點(diǎn),輸出層有v個(gè)輸出節(jié)點(diǎn),隱含層有q個(gè)節(jié)點(diǎn),ωgh是輸入層和隱含層節(jié)點(diǎn)之間的連接權(quán)值,ωhu是隱含層和輸出層節(jié)點(diǎn)之間的連接權(quán)值。
BP神經(jīng)網(wǎng)絡(luò)輸入層的第g個(gè)節(jié)點(diǎn)的輸入為netg=xg,輸出為Og=netg。
隱含層的第h個(gè)節(jié)點(diǎn)的輸入為輸出為Oh=f(neth);輸出層的第u個(gè)節(jié)點(diǎn)的輸入為輸出為Ou=f(netu)。其中,g=1,2,…,r,h=1,2,…,q,u=1,2,…,v。
定義反傳誤差信號(hào)
輸出層權(quán)值的調(diào)整公式為:
Δωjk=ηδkOj (13)
隱含層權(quán)值的調(diào)整公式為:
Δωij=ηδjOi (14)
S12:判斷是否達(dá)到要求的精度:
如果達(dá)到了BP神經(jīng)網(wǎng)絡(luò)要求的精度,則執(zhí)行S13,否則執(zhí)行S9。
S13:判斷是否完成訓(xùn)練次數(shù):
如果完成了訓(xùn)練的總次數(shù),則保存已訓(xùn)練的樣本;否則執(zhí)行S9。
S14:反歸一化處理得到預(yù)測(cè)值:
針對(duì)上述BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練后的樣本,利用S2中的歸一化公式進(jìn)行反歸一化運(yùn)算,得到
其中表示復(fù)雜電子設(shè)備故障樣本的預(yù)測(cè)值。
上述方法能夠減少神經(jīng)網(wǎng)絡(luò)輸入層個(gè)數(shù),簡(jiǎn)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),提高神經(jīng)網(wǎng)絡(luò)泛化能力,減少了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間;同時(shí),利用遺傳算法的快速學(xué)習(xí)網(wǎng)絡(luò)權(quán)值得能力,擺脫了神經(jīng)網(wǎng)絡(luò)容易陷入極小點(diǎn)的困擾,并加快了收斂速度。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也應(yīng)視為本發(fā)明的保護(hù)范圍。