劉浩然,張力悅,劉永記,范瑞星,劉 彬
(燕山大學(xué)信息科學(xué)與工程學(xué)院,河北秦皇島 066004; 燕山大學(xué)河北省特種光纖與光纖傳感重點實驗室,河北秦皇島 066004)
貝葉斯網(wǎng)絡(luò)是描述不確定性的概率性手段,由節(jié)點集、有向邊、條件概率表組成,通過圖論和概率論相結(jié)合的方法來表述數(shù)據(jù)間的相互聯(lián)系,在數(shù)據(jù)挖掘、故障診斷領(lǐng)域具有較為廣泛的應(yīng)用[1].
貝葉斯網(wǎng)絡(luò)學(xué)習(xí)包括結(jié)構(gòu)學(xué)習(xí)、參數(shù)學(xué)習(xí),由結(jié)構(gòu)和數(shù)據(jù)可以確定參數(shù),所以結(jié)構(gòu)學(xué)習(xí)一直是貝葉斯網(wǎng)絡(luò)研究的重點[2].構(gòu)建貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)最常見的方法是基于評分搜索的方法,該方法的兩個關(guān)鍵是評價函數(shù)的選取與搜索策略的選擇.目前搜索方法主要有蟻群算法[3]、細(xì)菌覓食算法[4]、遺傳算法[5]等元啟發(fā)算法.劉浩然等將最大支撐樹與爬山算法結(jié)合提出簡化爬山算法(simplify hill-climbing,SHC)[6],該算法在縮短時間上有一定的提升,但仍有許多冗余邊產(chǎn)生,尋找效率也有待提升.劉寶寧等人將遺傳算法引入貝葉斯結(jié)構(gòu)學(xué)習(xí)中,利用鄰接矩陣的尋優(yōu)區(qū)域作為初始種群,使用交叉和變異算子尋找最佳的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)[7].但由于無法確定遺傳算法何時搜索到最優(yōu)結(jié)構(gòu),初始種群的規(guī)模通常設(shè)置很大,導(dǎo)致算法運行時間過長.Vafaee F等基于獨立性測試與遺傳算法提出了基于遺傳的混合結(jié)構(gòu)算法(hybrid structure learning using genetic algorithm,HSL–GA)算法,先利用獨立性測試限制搜索空間,然后結(jié)合遺傳算法搜索最優(yōu)貝葉斯結(jié)構(gòu)[8],與爬山算法相比搜索效率更高,但是單一的交叉與變異算子不能根據(jù)具體情況對個體進(jìn)行自動調(diào)整,易破壞種群的多樣性而陷入局部最優(yōu).Contaldi C等提出了基于精英遺傳自適應(yīng)的算法(adaptive elite-based structure learner using genetic algorithm,AESL–GA)算法,該算法采用自適應(yīng)的控制參數(shù)來避免參數(shù)設(shè)置對結(jié)果的影響,在小網(wǎng)絡(luò)中學(xué)習(xí)到了較優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu),但在大網(wǎng)絡(luò)中由于縮小搜索空間導(dǎo)致學(xué)習(xí)的結(jié)果不太理想[5].遺傳算法的局部搜索能力較差[9],許多學(xué)者通過引入爬山算法優(yōu)化遺傳算法的搜索,但并沒有從根本上提升局部搜索的能力.
針對上述現(xiàn)狀,提出一種改進(jìn)遺傳算法(improved immune genetic algorithm,IIGA).該算法使用最大支撐樹和評價函數(shù)組成雙初始種群,在群內(nèi)引入改進(jìn)免疫策略和自動交叉變異策略:種群內(nèi)的每個個體根據(jù)具體情況自動選擇免疫位數(shù),交叉和變異方式;在群間引入改進(jìn)的聯(lián)姻策略和師生交流機制,即選取兩個種群內(nèi)的部分優(yōu)秀個體進(jìn)行聯(lián)姻,選取聯(lián)姻后更優(yōu)秀個體與各種群內(nèi)部的較差個體進(jìn)行師生交流.IIGA改善了遺傳算法(genetic algorithm,GA)算法應(yīng)用于貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)時耗時較長,易收斂于局部最優(yōu)的問題.
由數(shù)據(jù)樣本計算當(dāng)前貝葉斯網(wǎng)絡(luò)所有節(jié)點之間的互信息,通過互信息得到最大支撐樹,并將其設(shè)為初始狀態(tài)S1.互信息作為變量之間關(guān)系的衡量標(biāo)準(zhǔn),而最大支撐樹作為以互信息得到的樹形結(jié)構(gòu)[10].假設(shè)存在變量X和Y,其互信息I(X,Y)表示為
式中:p(X,Y)為X和Y 的聯(lián)合概率;p(X),p(Y)分別為X,Y 的邊緣概率.
將初始狀態(tài)S1代入式(2)得到狀態(tài)S2
圖1 一步狀態(tài)轉(zhuǎn)例圖Fig.1 One step state transition diagram
將S1,S2代入式(3)得到其對應(yīng)的適應(yīng)度值f1,f2.若f2>f1則將S2儲存到初始種群G2,S1存儲至初始種群G1,并利用式(4)所示接受狀態(tài)轉(zhuǎn)移即將S2轉(zhuǎn)移到S1,否則將拒絕狀態(tài)轉(zhuǎn)移.重復(fù)該過程直到得分不再增加.由此構(gòu)建兩個初始種群G1,G2.
式中: θMV為參數(shù)的最大似然估計;Dim(W)為網(wǎng)絡(luò)結(jié)構(gòu)B的維數(shù);N為輸入的數(shù)據(jù)樣本量;n為節(jié)點個數(shù);f1為S1的適應(yīng)度值;f2為S2適應(yīng)度值.
種群G1,G2內(nèi)使用鄰接矩陣表示貝葉斯網(wǎng)絡(luò)結(jié)構(gòu),具體如圖2所示.
圖2 貝葉斯結(jié)構(gòu)例圖Fig.2 Example of Bayesian structure
文獻(xiàn)[11]提出的自適應(yīng)免疫遺傳算法,將免疫算法的最優(yōu)特性與自適應(yīng)遺傳算法進(jìn)行混合,改進(jìn)了算法的全局尋優(yōu)能力.本文為了自適應(yīng)調(diào)整種群G中每個個體的免疫位置,對文獻(xiàn)[11]算法進(jìn)行改進(jìn),將自適應(yīng)因子引入免疫算子,根據(jù)種群內(nèi)的個體的分布情況構(gòu)建自適應(yīng)的免疫算子σ,如式(5)所示.在算法的迭代初期種群的個體分布較為分散即大部分個體與最佳個體的距離較大,因而閾值σ較小,但隨著迭代的進(jìn)行種群的個體分布趨于集中即較多個體分布于最佳個體周圍,因而閾值σ逐漸增大.
式中: fmax為種群的最佳適應(yīng)度,為大于種群平均適應(yīng)值個體的平均值.
將式(5)代入式(6)建立了種群G的自適應(yīng)免疫算子,即當(dāng)種群G內(nèi)個體評分f(Gl)與最佳評分fmax之間的差距小于閾值σ時,Gl與通過與操作確定免疫位置,否則Gl與通過與操作確定免疫位置.
式中:G表示初始種群,Gl表示種群中的個體.IM1(·)表示Gl與中元素同時為1的位置,IM2(·)表示Gl與中元素同時為1的位置.由上式可以知道IM1(·)免疫位數(shù)較多,可保證個體優(yōu)良特性;IM2(·)免疫位數(shù)較少,可以增加種群多樣性.
將G1,G2代入式(7),得到免疫后的結(jié)構(gòu)空間NG1,NG2.
式中:Gi(i1,2,···)表示G1中的隨機個體,Gt(t1,2,···)表示G2中的隨機個體.C1(·)表示IM1免疫操作后個體集合,C2(·)表示IM2免疫操作后的個體集合,∪表示兩個集合的并集.
在NG1,NG2內(nèi)部引入自適應(yīng)免疫遺傳算法[11]中的自動交叉變異算子,由于在迭代初期,個體的差異較大,采用兩點交叉就可獲得較廣的搜索空間;而在迭代后期,個體差異較小,需要采用兩點變異擴(kuò)大搜索空間.因而根據(jù)當(dāng)代種群個體之間的相對值構(gòu)建如式(8)控制交叉與變異操作的閾值μ.
將式(8)代入式(9)得到自動交叉變異算子,若個體得分sc>μ則進(jìn)行兩點交叉,增快種群收斂;若個體得分scμ則進(jìn)行兩點變異,保持個體具有大部分優(yōu)良基因,并以一定概率產(chǎn)生更好的個體,提升全局搜索的能力.
式中:Cr2(·)為兩點交叉函數(shù);Mu2(·)為兩點變異函數(shù);NG為結(jié)構(gòu)空間;NGl為結(jié)構(gòu)空間內(nèi)任意個體.
在執(zhí)行交叉算子和變異算子過程中,個體(鄰接矩陣)的兩點交叉是將兩個矩陣的雙行或雙列之間進(jìn)行交換,個體(鄰接矩陣)的兩點變異是將位于同矩陣的單行內(nèi)的兩元素取反.如圖3為兩點交叉,即將矩陣M和矩陣N的第4列和第5列進(jìn)行交換得到矩陣P;圖4為兩點變異,即將矩陣Q的第4列和第5列的第1個元素進(jìn)行取反得到矩陣V.
將式(7)得到免疫后的結(jié)構(gòu)空間NG1,NG2的個體代入式(10),可得更新之后的結(jié)構(gòu)空間
式中:C3(·)是兩點交叉后的新個體集合,C4(·)是兩點變異后的新個體集合.
圖3 兩點交叉操作Fig.3 Two point crossing operation
圖4 兩點變異操作Fig.4 Two point mutation operation
文獻(xiàn)[12]在遺傳算法的基礎(chǔ)上提出聯(lián)姻策略[12],通過提升子種群間的信息交互能力,改善了遺傳算法局部搜索的能力.更新結(jié)構(gòu)為之后,為了提高其局部搜索能力構(gòu)建了改進(jìn)聯(lián)姻策略,即先選取中優(yōu)于得分Fscore?u的優(yōu)秀個體執(zhí)行聯(lián)姻操作,即利用式(11)將評分高于Fscore?u的個體存放在集合d1.
式中:MF(·)為聯(lián)姻函數(shù);G3?score為聯(lián)姻后的個體得分;Fscore?u為種群中兩個最佳評分中的較小值.C5(·)是聯(lián)姻策略后的新個體集合,C6(·)是新個體評分高于Fscore?u的個體集合,∩是兩個集合的交集.對聯(lián)姻策略的改進(jìn)改善了原聯(lián)姻策略執(zhí)行復(fù)制后兩種群中個體多樣性減少的問題.
為提高算法全局搜索的能力,IIGA算法在子種群中引入師生交流機制[13],即將聯(lián)姻策略得到的新個體作為師生交流機制中的教師種群Te,選取中較差個體作為學(xué)生種群St.搜索第k個教師Tek和第l個學(xué)生Stl的差異邊添加至學(xué)生Stl,經(jīng)過此學(xué)習(xí)過程,得到更新的學(xué)生實現(xiàn)了師生交流,具體如式(12)所示:
式中:Stl是第l個的學(xué)生,Tek為第k個老師,為更新后的貝葉斯結(jié)構(gòu),控制參數(shù)rl為第k是根據(jù)式(13)確定.
式中:Tek(i,j)表示的是教師Tek第i 行第j列的取值,Stl(i,j)表示的是學(xué)生Stl具體位置的取值,rl(i,j)表示的是控制參數(shù)rl具體位置的取值.
圖5 師生交流機制Fig.5 Teacher-student communication mechanism
對更新后的學(xué)生種群St′進(jìn)行優(yōu)化.從St′中隨機選擇兩個貝葉斯結(jié)構(gòu)并且通過評分低的個體向評分高的個體學(xué)習(xí),以保證下一代種群中的個體具有上一代的優(yōu)良基因.若f根據(jù)式(14)更新個體,否則根據(jù)式(15)更新個體.
式中: G1l表示優(yōu)化之后的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu). f(G1l)為G1l的評分,如果f(G1l)>f并且f(G1l)>將G1l作為最優(yōu)結(jié)構(gòu)進(jìn)行下一次迭代.將學(xué)習(xí)到的較佳結(jié)構(gòu)保存到集合St中.
式中Bl分別代表結(jié)構(gòu)集合,St.
將具有群內(nèi)和群間的最高評分的個體進(jìn)行比較得到最終的最高評分的個體(即貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)G?),如式(17)所示:
2.2.1 IIGA算法收斂性分析
引理1IIGA算法的最優(yōu)解空間Sgbest的概率測度大于0,即L[Sgbest]>0.
證已知IIGA算法的貝葉斯結(jié)構(gòu)群搜索空間S是可列集.顯然它的Lebesgue[14]總是大于0,即L[S]>0,其中IIGA 算法的最優(yōu)解空間Sgbest是屬于S 的一個Borel[14]子集,由IIGA算法的最優(yōu)解空間Sgbest的定義可知L[Sgbest]>0[15].證畢.
引理2IIGA算法中,當(dāng)滿足了L[Sgbest]>0時,式(18)成立:
式中μt(·)為第t次迭代結(jié)果的概率測度.
證當(dāng)滿足L[Sgbest]>0時,有0<μi,t(Sgbest)<1,可知由μt產(chǎn)生的對Sgbest的概率測度為
將式(19)代入式(20)可得
證畢.
根據(jù)引理1–2以及隨機搜索算法的收斂準(zhǔn)則[16]可知IIGA算法滿足式(21):
2.2.2 IIGA算法時間復(fù)雜度分析
假設(shè)在IIGA算法中,n表示貝葉斯節(jié)點數(shù),m表示樣本數(shù),M表示種群規(guī)模,t表示迭代次數(shù),則建立最大支撐樹的時間復(fù)雜度為O(n2)+O(2mn),進(jìn)行加邊、減邊、轉(zhuǎn)變一步狀態(tài)轉(zhuǎn)移的時間復(fù)雜度為O(3n),評分函數(shù)的時間復(fù)雜度為O(mn2),狀態(tài)轉(zhuǎn)移S2到S1的時間復(fù)雜度為O(2M),故種群初始化的時間復(fù)雜度為O(n2)+O(2mn)+O(3n)+O(mn2)+O(2M)O(m×n2);最佳適應(yīng)度的時間復(fù)雜度為O(M),計算種群適應(yīng)度的時間復(fù)雜度為O(Mn2)+O(mn2);免疫算子改進(jìn)的時間復(fù)雜度為O(Mn),自動交叉和變異算子的時間復(fù)雜度分別為O(2Mn2)和O(Mn);聯(lián)姻策略的時間復(fù)雜度為O(Mm),師生交流機制的時間復(fù)雜度為O(Mn2);因此結(jié)構(gòu)尋優(yōu)過程的時間復(fù)雜度表示t[O(M)+O(Mn2)+O(mn2)+O(Mn)+O(2Mn2)+O(Mn)+O(Mm)+O(Mn2)]O(t×(M +m)×n2)IIGA算法的時間復(fù)雜度為O(n2(t×(M +m)+m)).
上節(jié)詳細(xì)介紹了IIGA算法的收斂性分析,本節(jié)對IIGA算法的整體實現(xiàn)過程進(jìn)行描述,實現(xiàn)過程如下:
1)輸入網(wǎng)絡(luò)數(shù)據(jù),計算互信息,構(gòu)建最大支撐樹作為初始狀態(tài)S1,計算評分,設(shè)置Nc1,最大迭代次數(shù)Ncmax;
2)使用爬山算法的加邊算子,減邊算子和轉(zhuǎn)變算子對初始狀態(tài)進(jìn)行結(jié)構(gòu)變換,將變換后的狀態(tài)記為轉(zhuǎn)移狀態(tài)S2;
3)判斷S2>S1,若成立,則存儲S2至G2,存儲S1至G1,同時將S2標(biāo)記為當(dāng)前狀態(tài)S1并轉(zhuǎn)步驟2),否則拒絕狀態(tài)轉(zhuǎn)移轉(zhuǎn)步驟2),重復(fù)該過程直到評分不再增加,由此構(gòu)初始種群G1,G2;
4)根據(jù)改進(jìn)的免疫策略和自動交叉變異機制將G1,G2中的個體進(jìn)行免疫、交叉、變異操作,得到結(jié)構(gòu)集合
6)執(zhí)行師生交流機制更新St;
7)判斷Nc IIGA算法流程如圖6所示. 仿真實驗的操作系統(tǒng)為Windows 7,CPU為i3–3240內(nèi)存為4 G,軟件環(huán)境為MATLAB R2010a.基于貝葉斯網(wǎng)絡(luò)工具箱FullBNT–1.0.7[17]中的Asia網(wǎng)絡(luò)、Car網(wǎng)絡(luò)、Alarm網(wǎng)絡(luò)進(jìn)行仿真實驗.其中標(biāo)準(zhǔn)的Asia網(wǎng)絡(luò)具有8個節(jié)點、8 條邊;標(biāo)準(zhǔn)的Car網(wǎng)絡(luò)具有12個節(jié)點、9條邊;標(biāo)準(zhǔn)的Alarm網(wǎng)絡(luò)具有37個節(jié)點、46條邊. 根據(jù)IIGA算法收斂性分析可知:算法經(jīng)過有限次迭代后一定有存在最佳區(qū)域的個體,其中最大迭代次數(shù)是通過實驗確定的.為保證算法搜索到的結(jié)構(gòu)為最優(yōu)的,先將實驗中的迭代次數(shù)規(guī)定為搜索到與標(biāo)準(zhǔn)網(wǎng)絡(luò)得分相同時對應(yīng)的次數(shù),然后在Asia網(wǎng)絡(luò)、Car網(wǎng)絡(luò)、Alarm網(wǎng)絡(luò)隨機生成數(shù)據(jù)量為1000,3000,4000,5000,9000的數(shù)據(jù)樣本.每種樣本容量分別產(chǎn)生10個,且每個數(shù)據(jù)單獨運行10次,即每組數(shù)據(jù)運行100 次后取平均值作為最終實驗結(jié)果,圖7為不同的數(shù)據(jù)量下的平均迭代次數(shù). 圖6 IIGA算法流程Fig.6 Flow chart of IIGA 圖7 平均迭代次數(shù)Fig.7 The number of average iteration 由圖7可知,在不同的網(wǎng)絡(luò)中算法收斂的迭代次數(shù)是不同的,在Asia網(wǎng)絡(luò)中迭代次數(shù)在20~27左右,在Car網(wǎng)絡(luò)中迭代次數(shù)在25~32左右,在Alarm網(wǎng)絡(luò)中迭代次數(shù)在35~45左右,為保證所有的數(shù)據(jù)量下算法收斂,將不同的數(shù)據(jù)中迭代次數(shù)的平均值加上其標(biāo)準(zhǔn)差作為最大迭代次數(shù).因而設(shè)置Asia網(wǎng)絡(luò)的最大迭代次數(shù)為30,Car網(wǎng)絡(luò)的最大迭代次數(shù)為38,Alarm網(wǎng)絡(luò)的最大迭代次數(shù)為56. 將IIGA算法與GA算法,爬山算法(hill climbing,HC)進(jìn)行實驗對比.其中IIGA算法的初始種群為42,設(shè)定依據(jù)為種群規(guī)模越大越可能找到全局最優(yōu)解,但運行時間也相對較長,在小中規(guī)模變量的節(jié)點下,一般在40~100之間取值,本文在Asia網(wǎng)絡(luò)、Car網(wǎng)絡(luò)、Alarm網(wǎng)絡(luò)進(jìn)行多組多次預(yù)實驗,在Asia網(wǎng)絡(luò)和Car網(wǎng)絡(luò)中,種群規(guī)模大于等于30和38時搜索到全局最優(yōu)結(jié)構(gòu),在Alarm網(wǎng)絡(luò)中,種群規(guī)模等于42和大于42時搜索到算法評分函數(shù)最大的較優(yōu)結(jié)構(gòu)相同,因此IIGA算法統(tǒng)一選擇42作為初始種群規(guī)模,參數(shù)σ,μ,rl是根據(jù)種群個體自適應(yīng)產(chǎn)生.根據(jù)文獻(xiàn)[8]將遺傳算法的參數(shù)設(shè)置如下:初始種群為100,交叉概率為0.7,變異概率為0.3,最大迭代次數(shù)與IIGA算法相同.根據(jù)文獻(xiàn)[6]可知HC 算法是從一個初始模型出發(fā),利用加邊、轉(zhuǎn)邊、減邊3種算子隨機搜索,搜索過程無參數(shù).由于Asia網(wǎng)絡(luò)、Car網(wǎng)絡(luò)都是節(jié)點較少的網(wǎng)絡(luò),其實驗結(jié)果有相似性,因而根據(jù)Asia網(wǎng)絡(luò)與Alarm網(wǎng)絡(luò)的實驗結(jié)果分析算法.實驗結(jié)果如下所示. 表1–2是不同算法在不同網(wǎng)絡(luò)的平均BIC值. 表1 Asia網(wǎng)絡(luò)不同算法平均最佳得分Table 1 Average best score of different algorithms in Asia network 表2 Alarm網(wǎng)絡(luò)不同算法平均最佳得分Table 2 Average best score of different algorithms in Alarm network 由表1–2可知,在Asia網(wǎng)絡(luò)和Alarm網(wǎng)絡(luò)中利用IIGA算法進(jìn)行結(jié)構(gòu)訓(xùn)練得到的平均BIC值要高于GA算法和HC算法,這是由于IIGA算法中引入的改進(jìn)免疫算子與自動交叉策略在一定程度上提升了GA算法與HC算法的全局尋優(yōu)能力. 圖8–9是不同算法在不同網(wǎng)絡(luò)的結(jié)構(gòu)對比,其中正確邊數(shù)C為與標(biāo)準(zhǔn)結(jié)構(gòu)相同的邊,錯誤邊數(shù)W為冗余邊、丟失邊、反轉(zhuǎn)邊之和. 圖8 Asia網(wǎng)絡(luò)邊數(shù)對比Fig.8 The comparison of Asia edges 圖9 Alarm網(wǎng)絡(luò)邊數(shù)對比Fig.9 The comparison of Alarm edges 由圖8–9可知:在Asia網(wǎng)絡(luò)和Alarm網(wǎng)絡(luò)中,即使測試數(shù)據(jù)量較少,利用IIGA算法得到的準(zhǔn)確邊數(shù)也高于GA算法、HC算法.且隨著數(shù)據(jù)量的增加,利用IIGA得到的準(zhǔn)確邊數(shù)在3 種算法中最多,錯誤邊數(shù)均少于GA算法、HC算法.這是由于IIGA算法中引入的師生交流機制提高了算法的全局搜索能力,避免了算法陷入局部最優(yōu). 表3–4是不同算法在不同網(wǎng)絡(luò)的時間對比. 表3 Asia網(wǎng)絡(luò)不同算法的執(zhí)行時間Table 3 Execution time of different algorithms in Asia network 表4 Alarm網(wǎng)絡(luò)不同算法的執(zhí)行時間Table 4 Execution time of different algorithms in Alarm network 由表3–4可知,在Asia網(wǎng)絡(luò)和Alarm網(wǎng)絡(luò)中利用IIGA算法進(jìn)行結(jié)構(gòu)的訓(xùn)練時間要遠(yuǎn)少于GA算法與HC算法,這是最大支撐數(shù)縮小了搜索的范圍,且IIGA算法利用改進(jìn)聯(lián)姻策略提升算法的局部尋優(yōu)能力,提高了算法的搜索效率. 水泥篦冷機的主要任務(wù)是對回轉(zhuǎn)窯窯頭卸下的高溫熟料進(jìn)行冷卻,同時將熱交換得到的熱量引入回轉(zhuǎn)窯與分解爐進(jìn)行回收利用,從而達(dá)到熟料冷卻與熱量回收的目的[19].篦冷機的故障是篦冷機相關(guān)控制部件和調(diào)節(jié)器出現(xiàn)損壞和設(shè)置不合理,導(dǎo)致水泥生產(chǎn)中的冷卻和熱量回收受到一定程度的影響,表現(xiàn)為在相關(guān)節(jié)點測量的數(shù)據(jù)處于非正常范圍.由于篦冷機系統(tǒng)的工藝參數(shù)多且關(guān)系錯綜復(fù)雜等因素導(dǎo)致對篦冷機建模比較困難,目前國內(nèi)篦冷機的故障診斷大多采用人工排查的方式[20].而貝葉斯網(wǎng)絡(luò)具有強大的推理能力和方便的決策機制,因而可利用貝葉斯網(wǎng)絡(luò)對篦冷機進(jìn)行故障診斷.故障診斷根據(jù)不合理數(shù)據(jù)所處的情況(節(jié)點的狀態(tài)),運用貝葉斯故障診斷,進(jìn)行因果分析,診斷故障原因.篦冷機二次風(fēng)溫的故障診斷模型包括結(jié)構(gòu)學(xué)習(xí)、參數(shù)學(xué)習(xí)以及診斷推理,其中結(jié)構(gòu)學(xué)習(xí)是參數(shù)學(xué)習(xí)與診斷推理基礎(chǔ).模型的構(gòu)建過程是首先根據(jù)水泥篦冷機的運行原理,確定貝葉斯網(wǎng)絡(luò)的節(jié)點變量.然后對IIGA算法構(gòu)建的結(jié)構(gòu)進(jìn)行參數(shù)學(xué)習(xí)和診斷推理,最終得到水泥篦冷機二次風(fēng)溫的故障診斷模型. 篦冷機主要部件包括上殼體、下殼體、篦床、冷卻風(fēng)機、液壓傳動系統(tǒng)、熟料破碎機等,結(jié)構(gòu)簡圖如圖10所示. 圖10 篦冷機結(jié)構(gòu)簡圖Fig.10 Structural sketch of cement grate cooler 根據(jù)文獻(xiàn)[18]選擇了7個相關(guān)程度較高的篦冷機工藝參數(shù):篦速(V)、二室篦下壓力(Ps)、二室風(fēng)機轉(zhuǎn)速(R)、二次風(fēng)溫度(Ts)、生料入窯量(M)、三次風(fēng)溫度(Tt)和窯頭負(fù)壓(Ph),利用IIGA算法對量化的數(shù)據(jù)進(jìn)行訓(xùn)練得到篦冷機故障診斷結(jié)構(gòu).其中二次風(fēng)溫等工藝參數(shù)采集的現(xiàn)場數(shù)據(jù)及對應(yīng)量化處理值如表5所示(由于篇幅限制,僅列舉5 組),對應(yīng)狀態(tài)如表6所示,其中表5–6括號中的數(shù)字1,2,3是實際數(shù)據(jù)量化的變量,實際含義為:1表示測量值處于正常范圍內(nèi);2表示測量值低于正常范圍;3表示測量值高于正常范圍.以1000組數(shù)據(jù)為例,利用IIGA算法訓(xùn)練得到的故障診斷結(jié)構(gòu)如圖11所示,利用HC,GA訓(xùn)練得到的結(jié)構(gòu)分別如圖12–13所示. 表5 部分?jǐn)?shù)據(jù)樣本及量化舉例Table 5 Data samples and quantification 表6 變量狀態(tài)分類Table 6 States of variables 圖11 利用IIGA算法得到的診斷結(jié)構(gòu)Fig.11 Diagnosis structure obtained by IIGA 圖12 利用HC算法得到的診斷結(jié)構(gòu)Fig.12 Diagnosis structure obtained by HC 圖13 利用GA算法得到的診斷結(jié)構(gòu)Fig.13 Diagnosis structure obtained by GA 綜合圖11–13可知:利用HC,GA得到的診斷結(jié)構(gòu)偏差較大,如:利用HC算法得到的結(jié)構(gòu)忽略了喂料量對二次風(fēng)溫的影響,錯誤添加了二室風(fēng)溫對二室篦下壓力的影響.利用GA算法得到的診斷結(jié)構(gòu)忽略了二室風(fēng)機轉(zhuǎn)速以及篦速對二次風(fēng)溫的影響,錯誤添加了喂料量對窯頭負(fù)壓的影響. 上節(jié)分別利用IIGA,GA,HC算法構(gòu)建了篦冷機工藝參數(shù)的故障診斷模型,然后需要對模型進(jìn)行參數(shù)學(xué)習(xí)與故障診斷推理.常用的參數(shù)學(xué)習(xí)方法有最大似然估計法(maximum likelihood estimation,MLE)和貝葉斯估計法(Bayesian estimation)[17],本文直接利用MLE法對模型進(jìn)行參數(shù)學(xué)習(xí).然后利用變量消元法[19]進(jìn)行故障診斷,通過計算原因節(jié)點的后驗概率來查找導(dǎo)致故障的原因. 二次風(fēng)溫與三次風(fēng)溫是衡量熱回收效率的重要工藝參數(shù)[20],其中二次風(fēng)溫一般保持在980?C~1200?C,三次風(fēng)溫一般保持在880?C~980?C.二者的參數(shù)學(xué)習(xí)與推理過程是類似的,并且由IIGA算法構(gòu)造的診斷模型結(jié)構(gòu)可知,二次風(fēng)溫是三次風(fēng)溫的父節(jié)點,即二次風(fēng)溫的狀態(tài)變化會影響三次風(fēng)溫的狀態(tài),若二次風(fēng)溫偏高,會直接導(dǎo)致三次風(fēng)溫偏高;若二次風(fēng)溫偏低,同樣會導(dǎo)致三次風(fēng)溫偏低.因而以二次風(fēng)溫為例詳細(xì)說明診斷模型的參數(shù)學(xué)習(xí)與推理情況.以圖11為例,節(jié)點V,R對應(yīng)的條件概率如表7所示,節(jié)點Ph對應(yīng)的條件概率表如表8所示,其中表7的篦速V、風(fēng)機轉(zhuǎn)速R是圖11結(jié)構(gòu)的兩個根節(jié)點,表8的窯頭負(fù)壓Ph是圖11結(jié)構(gòu)的非根節(jié)點,所有節(jié)點(包括根節(jié)點和非根節(jié)點)的概率都是在結(jié)構(gòu)和樣本數(shù)據(jù)的基礎(chǔ)上,進(jìn)行參數(shù)學(xué)習(xí),得到的參數(shù)表,也稱概率表.表7篦速V、風(fēng)機轉(zhuǎn)速R的先驗概率表和表8窯頭負(fù)壓Ph的條件概率表是在通過IIGA得到的篦冷機貝葉斯結(jié)構(gòu)和數(shù)據(jù)樣本基礎(chǔ)上,進(jìn)行參數(shù)學(xué)習(xí)(本文使用最大似然估計法)得到的. 二次風(fēng)溫在窯頭負(fù)壓作用下進(jìn)入回轉(zhuǎn)窯進(jìn)行助燃,但二次風(fēng)溫偏低會使熱回收效率變差,造成燃料煤的大量浪費,同時產(chǎn)生了大量廢氣污染環(huán)境,適當(dāng)提高二次風(fēng)溫可節(jié)省燃煤,達(dá)到節(jié)約能源保護(hù)環(huán)境的目的;但二次風(fēng)溫偏高會造成熟料出篦的溫度偏高,使篦冷機對水泥熟料的冷卻效果變差.所以,本文利用IIGA算法對二次風(fēng)溫進(jìn)行故障診斷. 如:監(jiān)測到二次風(fēng)溫忽然偏低,由圖11可知導(dǎo)致二次風(fēng)溫忽然偏低的原因有3個:篦速V,二室風(fēng)機轉(zhuǎn)速R以及生料入窯量M,以1000組數(shù)據(jù)為例,利用變量消元法計算V,R和M的后驗概率,計算式如下: 通過比較后驗概率α可知,二次風(fēng)溫度忽然降低是由于二室風(fēng)機轉(zhuǎn)速偏高導(dǎo)致的,及時減小風(fēng)機轉(zhuǎn)速,提升二次風(fēng)溫度,從而最大程度上減少燃煤的浪費與氮氧化物等污染廢氣的排放.同理,分別利用HC,GA以及IIGA算法對篦冷機熟料換熱二次風(fēng)溫度進(jìn)行故障診斷,所得診斷結(jié)果統(tǒng)計表如表9所示(由于篇幅有限僅列舉5組). 通過診斷結(jié)果可得到各算法在每一組測試集的正確診斷故障數(shù),然后根據(jù)式(23)可以得到3種算法的準(zhǔn)確率對比.在相同的數(shù)據(jù)量下,為避免偶然性因素的影響,最后的實驗結(jié)果是50次的平均值,圖14為不同的數(shù)據(jù)下不同算法正確診斷率的對比. 式中: H為正確診斷率;|Dtrue|為診斷正確的數(shù)據(jù)數(shù);|Dtest|為測試集大小. 由圖14可知,在每組測試數(shù)據(jù)中,利用IIGA對二次風(fēng)溫進(jìn)行故障診斷的準(zhǔn)確率要高于HC算法和GA算法,在數(shù)據(jù)量為1000的時候,IIGA算法分別比HC算法和GA算法高8%和5%,且準(zhǔn)確率隨著數(shù)據(jù)量的增加而增加.基本滿足實際生產(chǎn)中二次風(fēng)溫故障診斷的需求. 表9 各算法診斷結(jié)果對比Table 9 Diagnosis results comparison of each algorithm 圖14 各算法診斷準(zhǔn)確率對比Fig.14 Diagnosis accuracy of each algorithm 本文提出的IIGA算法利用最大支撐樹與評分函數(shù)建立兩個初始種群,提升算法的收斂速度;引入自適應(yīng)免疫算子,自動交叉變異算子與師生交流機制改善了遺傳算法的全局尋優(yōu)能力;利用改進(jìn)聯(lián)姻策略提升了算法局部尋優(yōu)能力.實驗結(jié)果證明,利用IIGA算法進(jìn)行結(jié)構(gòu)訓(xùn)練,所得模型的準(zhǔn)確度要高于GA,HC算法,運行時間縮短.利用IIGA算法建立了水泥熟料換熱的工藝參數(shù)故障診斷模型,對二次風(fēng)溫度實現(xiàn)了較為準(zhǔn)確的故障診斷,避免了由于二次風(fēng)溫故障診斷不及時導(dǎo)致浪費煤等能源、產(chǎn)生大量污染廢氣等問題.同時也為篦冷機熟料換熱工藝參數(shù)建模以及故障診斷提供了一種新的思路.但在數(shù)據(jù)量較大時,故障診斷的效率有所下降,因而下一步計劃是增量學(xué)習(xí),即先在較少的數(shù)據(jù)量下學(xué)習(xí)到一個結(jié)構(gòu),然后在此基礎(chǔ)上增加數(shù)據(jù)并更新結(jié)構(gòu),保證最終學(xué)習(xí)到的結(jié)構(gòu)更加匹配數(shù)據(jù).3 IIGA算法仿真實驗
4 篦冷機水泥熟料換熱二次風(fēng)溫故障診斷
4.1 變量選取與工藝參數(shù)建模
4.2 參數(shù)學(xué)習(xí)與熟料換熱二次風(fēng)溫故障診斷
5 結(jié)論