常瑞,白楊森,孟慶濤
(1.華北水利水電大學(xué) 電力學(xué)院,河南 鄭州 450045;2.鄭州新力電力有限公司,河南 鄭州 450013;3.河南省預(yù)建工程管理有限公司,河南 鄭州 450000)
在D -S 理論、決策理論和規(guī)則庫的基礎(chǔ)上,YANG 等[1]提出了基于證據(jù)推理方法的置信規(guī)則庫推理方法(RIMER).這是一種新的建模方法和專家系統(tǒng),具有對帶有含糊或模糊不確定性、不完整性或概率不確定性以及非線性特征的數(shù)據(jù)進行建模的能力.目前該方法廣泛應(yīng)用在故障診斷[2-3]、數(shù)據(jù)逼近[4]、輸油管道的泄漏檢測及漏油估計[5]、裝備的壽命評估[6]等問題中. 但由于RIMER 專家系統(tǒng)容許專家直接人為設(shè)定置信度、規(guī)則權(quán)重、輸入和輸出的參考值等,而專家知識并不總是精確的,這就使RIMER 方法逼近函數(shù)的精度和能力降低. 因此,為提高系統(tǒng)的性能,需要對這些參數(shù)進行優(yōu)化.YANG等[1]給出了優(yōu)化訓(xùn)練模型,該模型是一個關(guān)于解決復(fù)雜的非線性高維優(yōu)化問題的模型,已有多名學(xué)者針對該模型提出了不同的優(yōu)化方法;并基于MATLAB 中FMINCON 函數(shù)針對置信度和規(guī)則權(quán)重進行了優(yōu)化. 常瑞等[4]基于梯度法提出了參數(shù)訓(xùn)練方法,但是訓(xùn)練對象僅為規(guī)則的置信度以及規(guī)則權(quán)重,對參數(shù)的優(yōu)化程度不足,因此降低了該系統(tǒng)模擬實際系統(tǒng)的能力. CHEN 等[7-8]將前提屬性參考值作為新增的訓(xùn)練參數(shù),之后采用MATLAB 中的FMINCON 函數(shù)對系統(tǒng)進行了優(yōu)化訓(xùn)練.蘇群等[9]提出了一種基于變速粒子群[10]的置信規(guī)則庫訓(xùn)練方法.但是文獻(xiàn)[7 -9]的訓(xùn)練參數(shù)中均不包含輸出變量的參考值.吳偉昆等[11]在文獻(xiàn)[4]的基礎(chǔ)上提出了基于加速梯度法的置信規(guī)則庫參數(shù)訓(xùn)練方法,訓(xùn)練參數(shù)包含了置信度、權(quán)重、前提屬性參考值、輸出參考值.但是該方法較為復(fù)雜,程序編寫較為困難.
筆者在以上文獻(xiàn)的基礎(chǔ)上,訓(xùn)練除了置信度和規(guī)則權(quán)重外的優(yōu)化參數(shù),增加了輸入和輸出的參考值,根據(jù)訓(xùn)練參數(shù)的不同,將優(yōu)化分為局部優(yōu)化、局部擴展優(yōu)化、全局優(yōu)化,并且采用MATLAB 中的FMINCON 函數(shù)進行優(yōu)化;基于RIMER 理論建立了發(fā)動機故障診斷系統(tǒng),同時將該方法應(yīng)用在了數(shù)據(jù)逼近中,通過實例研究參數(shù)的優(yōu)化程度對系統(tǒng)性能的影響.
YANG 等[1]在傳統(tǒng)IF-THEN 規(guī)則的結(jié)果部分引入分布式置信框架,提出了一種更接近實際的表達(dá)機制,稱為置信規(guī)則.假設(shè)
為規(guī)則前提屬性的集合,而
為前提屬性Ui的參考值集合. 置信規(guī)則的形式如下:
Rk:IF U1is A1n1and U2is A2n2and…and UTis ATnT,
式中:Aini∈Ai(ni= 1,2,…,Ji),為第i 個前提屬性的第ni個參考值;Di為結(jié)果的第i 個參考值,該參考值可以為語義值也可為數(shù)字量;(i = 1,2,…,N)為結(jié)果,屬于輸出的參考值Di的置信度且有1;L 為規(guī)則庫中規(guī)則的數(shù)目.
步驟1 將輸入信息轉(zhuǎn)化為分布形式信息. 假設(shè)前提屬性Ui的值為A*,其分布式形式表示為:
如果Aij≤A*≤Ai(j+1),則
式中m = 1,2,…,Ji.
步驟2 激活規(guī)則. 當(dāng)輸入信息轉(zhuǎn)化為分布式信息之后,規(guī)則庫中的某些規(guī)則將被激活進入下一步的推理計算中.第k 條規(guī)則的激活權(quán)重為:
式中:θk為第k 條規(guī)則的相對權(quán)重;為第k 條規(guī)則中第i 個輸入相對于參考值集合Ai的匹配度;δki為第k 條規(guī)則中第i 個前提的相對權(quán)重;ai為第i 條規(guī)則中輸入變量相對于前提屬性U 的整體匹配度;θi為第i 條規(guī)則的權(quán)重.
如果ωk>0,表示第k 條規(guī)則被激活,否則第k條規(guī)則未被激活.
步驟3 集結(jié)規(guī)則,得到結(jié)果.在步驟1 和步驟2 的基礎(chǔ)上,根據(jù)證據(jù)推理方法來集結(jié)被激活的規(guī)則,得到以分布式形式表示的結(jié)果,即
其中
RIMER 專家系統(tǒng)中規(guī)則的置信度、權(quán)重、前提屬性和輸出的參考值由專家知識初始給定,這就限制了該系統(tǒng)模擬實際系統(tǒng)的能力. 因此需要對該專家系統(tǒng)進行訓(xùn)練優(yōu)化,以減小仿真系統(tǒng)和實際系統(tǒng)間的誤差.訓(xùn)練優(yōu)化過程如下:
步驟1 由初始專家知識確定規(guī)則置信度、權(quán)重、前提屬性和輸出結(jié)果的參考值,建立初始置信規(guī)則庫.
步驟2 將輸入數(shù)據(jù)轉(zhuǎn)化為分布式形式.
步驟3 基于置信規(guī)則庫和輸入數(shù)據(jù)進行正向推理得到仿真輸出,計算誤差.
步驟4 如果誤差在允許范圍內(nèi),結(jié)束訓(xùn)練優(yōu)化;否則,轉(zhuǎn)步驟5.
步驟5 根據(jù)訓(xùn)練數(shù)據(jù),通過MATLAB 中的FMINCON 函數(shù)實現(xiàn)對訓(xùn)練參數(shù)的優(yōu)化,并且將優(yōu)化結(jié)果保存,更新置信規(guī)則庫,轉(zhuǎn)步驟3.
假設(shè)共有M 組訓(xùn)練數(shù)據(jù),在給定輸入x^m(m =1,2,…,M)下,實際系統(tǒng)和模擬系統(tǒng)的輸出有兩種形式:
1)一種實際輸出直接以分布式結(jié)果出現(xiàn),即實際輸出為:
仿真輸出為
此時,訓(xùn)練模型的目標(biāo)函數(shù)定義如下:
式中p 為訓(xùn)練優(yōu)化參數(shù)向量.
由于此時輸出為分布式形式,輸出變量的參考值為固定值,不需要進行優(yōu)化訓(xùn)練,因此訓(xùn)練參數(shù)向量
p = p(θk,βik)或p = p(Aij,θk,βik).
式中:βik(i = 1,2,…,N;k = 1,2,…,L)為第k 條規(guī)則中結(jié)果屬于參考值Di的置信度;θk(k = 1,2,…,L)為第k 條規(guī)則的權(quán)重;Aij為第i 個輸入變量的第j個參考值.優(yōu)化參數(shù)應(yīng)滿足的約束條件為:
①置信度滿足:
0 ≤βjk≤1;j = 1,2,…,N;k = 1,2,…,L.
②置信度的和應(yīng)滿足:
③規(guī)則權(quán)重滿足:
0 ≤θk≤1;k = 1,2,…,L.
④假設(shè)輸入變量xi(i = 1,2,…,T)的定義域為[ai,bi].前提屬性參考值A(chǔ)ij(i =1,2,…,T;j =1,2,…,Ji=)應(yīng)滿足:
ai≤Aij≤bi.
不失一般性,假設(shè)前提屬性參考值依次增大,即:
Aij- Ai(j+1)<0
(i = 1,2,…,T;j = 1,2,…,Ji-1).
圖1 為RIMER 專家系統(tǒng)學(xué)習(xí)優(yōu)化的過程示意圖.
圖1 置信規(guī)則庫的訓(xùn)練優(yōu)化過程
當(dāng)目標(biāo)函數(shù)為公式(7)時,訓(xùn)練參數(shù)向量
p = p(θk,βik),
即訓(xùn)練參數(shù)為權(quán)重和規(guī)則置信度,并且滿足約束條件①—③時,稱為局部優(yōu)化;訓(xùn)練參數(shù)向量
p = p(Aij,θk,βik),
即訓(xùn)練參數(shù)為輸入的前提屬性權(quán)重、置信度,并且滿足約束條件①—④時,稱為全局優(yōu)化.
2)另外一種是實際輸出以數(shù)字量y^m的形式出現(xiàn),此時需將RIMER 專家系統(tǒng)經(jīng)過正向推理得到的仿真結(jié)果
{(Dj,βj(m)),j = 1,2,…,N}
轉(zhuǎn)化為數(shù)字量的形式:
此時,訓(xùn)練模型的目標(biāo)函數(shù)定義如下:
式中p 為訓(xùn)練優(yōu)化參數(shù)向量,p = p(θk,βik)、p =p(Aij,θk,βik)或p = p(Aij,Hn,θk,βik),其中βik、θk和Aij與前面所述意義相同,Hn(n = 1,2,…,N)為輸出的第n 個參考值.
訓(xùn)練優(yōu)化參數(shù)除了應(yīng)滿足約束條件①—④外,還應(yīng)滿足第5 個約束條件:
⑤假設(shè)輸出的值域為[c,d].因此,當(dāng)輸出參考值Dj為數(shù)字量時,應(yīng)有輸出參考值保持依次增大的順序,即
c ≤Dj≤d(j = 1,2,…,N),
Dj- Dj+1<0(j = 1,2,…,N -1).
另外,前提屬性、輸出的第一個和最后一個參考值在訓(xùn)練優(yōu)化中如果偏離其上限和下限,即使只有很小的偏差,也會影響仿真系統(tǒng)的精度,故設(shè)定前提屬性、輸出變量的第一個和最后一個參考值分別為其上限和下限,即:
Ai1= ai, AiJi= bi,
以及D1= c, DN= d.
當(dāng)訓(xùn)練目標(biāo)為公式(8)時,訓(xùn)練參數(shù)向量
p = p(θk,βik)
滿足約束條件①—③時,稱為局部優(yōu)化;訓(xùn)練參數(shù)向量
p = p(Aij,θk,βik)
滿足約束條件①—④時,稱為局部擴展優(yōu)化;訓(xùn)練參數(shù)向量
p = p(Aij,Hn,θk,βik)
滿足約束條件①—⑤時,稱為全局優(yōu)化.
系統(tǒng)
假設(shè)發(fā)動機故障診斷中有3 個前提屬性,分別為進氣壓力、轉(zhuǎn)速、噴油時間. 發(fā)動機的4 種工作狀態(tài)為正常怠速、進氣系統(tǒng)漏氣、怠速電機不工作和某缸噴油器堵塞.每個前提屬性分為3 個評價等級,即進氣壓力分為{高,正常,低},轉(zhuǎn)速為{高,正常,低},噴油時間{長,正常,短},對應(yīng)的參考值分別為:
{39.9,33.8,23.8},
{1982.2,896.3,848.9},
{5.5,3.6,1.5}.
正常怠速、進氣系統(tǒng)漏氣、怠速電機不工作和某缸噴油器堵塞所對應(yīng)的輸出代碼分別為:
{1 0 0 0},{0 1 0 0},
{0 0 1 0},{0 0 0 1}.
根據(jù)以上設(shè)定的評價等級及輸出代碼,根據(jù)發(fā)動機的怠速工作原理,建立關(guān)于怠速狀態(tài)的故障診斷規(guī)則庫,初始置信度由專家給定.由于文中選取3個前提屬性,每個前提屬性有3 個評價等級. 因此,在RIMER 中包含27 條規(guī)則,具體規(guī)則見文獻(xiàn)[3].
本實例中的輸出結(jié)果為分布式,因此不需要對輸出的參考值進行優(yōu)化.采用MATLAB 中的FMINCON 函數(shù)對發(fā)動機故障診斷系統(tǒng)的參數(shù)進行優(yōu)化,其中文中的訓(xùn)練數(shù)據(jù)和檢驗數(shù)據(jù)與文獻(xiàn)[3]中的相同.對專家系統(tǒng)進行優(yōu)化后,基于檢驗數(shù)據(jù)得到系統(tǒng)的仿真輸出,與文獻(xiàn)[3]中的輸出結(jié)果進行比較,比較結(jié)果見表1.
表1 局部優(yōu)化和全局優(yōu)化后RIMER 專家系統(tǒng)輸出結(jié)果比較
從表1 中可以看出,相同輸入下,本文采用FMINCON 函數(shù)進行優(yōu)化時,不論是全局優(yōu)化還是局部優(yōu)化均取得了比文獻(xiàn)[3]更精確的診斷結(jié)果. 另外,與局部優(yōu)化相比,總體上全局優(yōu)化后系統(tǒng)的診斷結(jié)果更準(zhǔn)確.這意味著對參數(shù)的優(yōu)化程度越深,系統(tǒng)越能更好地模擬實際系統(tǒng).
以第2 組數(shù)據(jù)為例,當(dāng)進氣壓力為34.1 kPa,轉(zhuǎn)速為904.1 r/min,噴油時間為3.4 ms 時,實際的發(fā)動機狀態(tài)為正常怠速,局部優(yōu)化和全局優(yōu)化的仿真結(jié)果分別為:
{0.982 8,0.006 9,0.000 4,0.009 9},
{0.991 5,0.002 9,0.000 7,0.004 9}.
由仿真結(jié)果知:發(fā)動機故障類型為正常怠速的可能性分別為0.982 8和0.991 5,進氣系統(tǒng)漏氣的可能性分別為0.006 9 和0.002 9,怠速電機不工作的可能性分別為0.000 4 和0.000 7,某缸噴油器堵塞的可能性分別為0.009 9 和0.004 9.該試驗結(jié)果表明了每種故障的可能性,可為維修人員查找故障原因提供參考.
以二元函數(shù)
z=(x+1)2+(y-1)2
為例進行數(shù)據(jù)逼近. 假設(shè)輸入x 的取值范圍為[0,2],初始確定5 個參考值
{0.0,0.5,1.0,1.5,2.0};
輸入變量y 的范圍為[-1,1],初始確定5 個參考值
{-1.0,-0.5,0.0,0.5,1.0};
輸出z 的范圍為[1,13],初始確定6 個參考值
{1,3,4,6,9,13}.
建立的置信規(guī)則庫見表2,共有5 ×5 =25 條規(guī)則.
表2 初始置信規(guī)則庫
置信規(guī)則庫建立完成之后,選
x=0.05,0.10,1.95,
y= -0.95,0.10,0.95
為檢驗數(shù)據(jù),基于初始置信規(guī)則庫完成正向推理,得到RIMER 專家系統(tǒng)的輸出,如圖2 所示.計算得到系統(tǒng)的平均絕對誤差為0.439 9.
圖2 訓(xùn)練前RIMER 專家系統(tǒng)的輸出
從圖2 以及此時的平均誤差可知,未訓(xùn)練的專家系統(tǒng)的推理結(jié)果與實際結(jié)果間總體上誤差較大,因此,有必要對該置信規(guī)則庫進行訓(xùn)練學(xué)習(xí).
選輸入
x=0.0,0.1,2.0,
y= -1.0,0.1,1.0.
相應(yīng)的輸出
z=(x+1)2+(y-1)2
為訓(xùn)練數(shù)據(jù).局部訓(xùn)練時,以規(guī)則的權(quán)重θk(25 個)和置信度βik(150 個)構(gòu)建訓(xùn)練參數(shù)向量
p=p(θk,βik)(175 維).
局部擴展訓(xùn)練時,以2 個輸入變量x、y 的輸入?yún)⒖贾礎(chǔ)1n1(5 個)和A2n2(5 個),規(guī)則權(quán)重θk和置信度βik構(gòu)建訓(xùn)練參數(shù)向量
p=p(A1n1,A2n2,θk,βik)(185 維).
全局訓(xùn)練時,以2 個輸入變量x、y 的輸入?yún)⒖贾礎(chǔ)1n1和A2n2,輸出變量z 的輸出參考值Hn(6 個),規(guī)則權(quán)重θk及置信度βik構(gòu)建訓(xùn)練參數(shù)向量
p=p(A1n1,A2n2,Hn,θk,βik)(191 維).
局部擴展優(yōu)化后輸入x 的參考值
{0,1.027 8,1.150 7,1.265 5,2},
輸入y 的參考值
{-1,-0.433 5,-0.246 4,-0.054 3,1}.
全局優(yōu)化后輸入x 的參考值
{0,0.927 3,1.132,1.269 2,2},
輸入y 的參考值
{-1,-0.337 3,-0.144 4,0.133 9,1}.
全局優(yōu)化之后輸出z 的參考值
{1,1.489,3.054,5.574,9.363,13}.
置信規(guī)則庫優(yōu)化完成之后,選
x=0.05,0.10,1.95,
y= -0.95,0.10,0.95
為檢驗數(shù)據(jù),基于3 種優(yōu)化訓(xùn)練下的置信規(guī)則庫完成正向推理,得到RIMER 專家系統(tǒng)的輸出,圖像和誤差分析結(jié)果如圖3—5 所示.
圖3 局部訓(xùn)練后RIMER 專家系統(tǒng)的仿真輸出
圖4 擴展局部訓(xùn)練后RIMER 專家系統(tǒng)的仿真輸出
對比分析圖3—5,雖然訓(xùn)練后仿真系統(tǒng)和實際系統(tǒng)間還有一定的誤差,但是計算得到局部優(yōu)化、局部擴展優(yōu)化、全局優(yōu)化后系統(tǒng)的平均絕對誤差分別為0.035 2、0.024 5、0.022 8,與訓(xùn)練前的平均絕對誤差值0.439 9 相比,優(yōu)化訓(xùn)練后仿真系統(tǒng)和實際系統(tǒng)間的結(jié)果差異得到了很大的改善,仿真精度得到了提高,這就表示,經(jīng)過學(xué)習(xí)訓(xùn)練的專家系統(tǒng)可以很好地模擬仿真原系統(tǒng).另外,從平均絕對誤差可以看出,對訓(xùn)練參數(shù)的優(yōu)化越深,即全局優(yōu)化后的系統(tǒng)的誤差越小,這就表示全局優(yōu)化的RIMER 系統(tǒng)能夠更好地模擬實際系統(tǒng),這與3.1 節(jié)的結(jié)論一致.
圖5 全局訓(xùn)練后RIMER 專家系統(tǒng)的仿真輸出
針對目前對RIMER 專家系統(tǒng)參數(shù)優(yōu)化訓(xùn)練不夠的現(xiàn)狀,根據(jù)對專家系統(tǒng)的參數(shù)訓(xùn)練程度將優(yōu)化分為局部優(yōu)化、局部擴展優(yōu)化、全局優(yōu)化. 在試驗分析中,將RIMER 理論應(yīng)用在發(fā)動機故障診斷和數(shù)據(jù)逼近中,并采用FMINCON 函數(shù)對其系統(tǒng)進行了優(yōu)化訓(xùn)練.結(jié)果表明,對參數(shù)的優(yōu)化程度越深,RIMER系統(tǒng)的精度越高.未來可針對全局優(yōu)化參數(shù)較多的情況,尋找精度更高、速度更快的算法來提高系統(tǒng)模擬實際系統(tǒng)的能力.
[1]YANG J B,LIU J,WANG J,et al.An generic rule-base inference methodology using the evidential reasoning approach-RIMER[J]. IEEE Transactions on Systems,Man and Cybernetics-part A:Systems and Humans,2005,14(2):1 -20.
[2]張邦成,尹曉靜,王占禮,等.利用置信規(guī)則庫的數(shù)控機床伺服系統(tǒng)故障診斷[J]. 振動、測試與診斷,2013,33(4):694 -700.
[3]張偉,石菖蒲,胡昌華,等. 基于置信規(guī)則庫專家系統(tǒng)的發(fā)動機故障診斷[J]. 計算機仿真技術(shù),2011,7(1):11 -15.
[4]常瑞,張速.基于優(yōu)化步長和梯度法的置信規(guī)則庫參數(shù)學(xué)習(xí)方法[J]. 華北水利水電學(xué)院學(xué)報,2011,32(1):154 -157.
[5]XU D L,LIU J,YANG J B.Inference and learning methodology of belief-rule-based expert system for pipeline leak detection[J]. Expert Systems with Applications,2007,32(1):103 -113.
[6]劉佳俊,胡昌華,周志杰,等.基于證據(jù)推理和置信規(guī)則庫的裝備壽命評估[J].控制理論與應(yīng)用,2015,32(2),231 -238.
[7]CHEN Yuwang,YANG Jianbo,XU Dongling,et al. Inference analysis and adaptive training for belief rule based systems[J]. Expert Systems with Applications,2011,38(10):12845 -12860.
[8]CHEN Yuwang,YANG Jianbo,XU Dongling,et al. On the inference and approximation properties of belief rule based systems[J].Information Sciences,2013,234:121 -135.
[9]蘇群,楊隆浩,傅仰耿,等.基于變速粒子群優(yōu)化的置信規(guī)則庫參數(shù)訓(xùn)練方法[J]. 計算機應(yīng)用,2014,34(8):2161 -2165.
[10]熊俊華,沈海蓮,吳莉莉,等. 求解自動化藥房儲位優(yōu)化問題的GA-PSO 混合粒子群算法[J].華北水利水電大學(xué)學(xué)報(自然科學(xué)版),2014,35(6):84 -88.
[11]吳偉昆,楊隆浩,傅仰耿,等. 基于加速梯度法的置信規(guī)則庫參數(shù)訓(xùn)練方法[J].計算機科學(xué)與探索,2014,8(8):989 -1001.