吳慧玲1 ,丁曉彬,賀廣生1,劉久富
(1.河南牧業經濟學院 智能制造與自動化學院,河南 鄭州450046;2.南京航空航天大學 自動化學院,江蘇 南京210016)
貝葉斯網絡[1](Bayesian networks,BN)是一種利用概率統計方法,對不確定性問題進行分析和推理的工具。貝葉斯網絡被認為是不確定性知識表達和推理的最有效理論模型之一。一方面,貝葉斯網絡能夠通過圖論清晰地解釋問題的結構;另一方面,貝葉斯網絡能夠利用明確的問題結構簡化概率推理的復雜性。而貝葉斯網絡分類器(Bayesian network classifiers,BNC)是一種基于統計的典型分類模型,不僅具有貝葉斯網絡的優點,而且適用于處理分類問題。目前,貝葉斯網絡分類器的高效訓練是研究的熱門話題。其中,生成學習和判別學習方法是主要的參數學習方法。生成學習方法解決聯合分布的參數估計問題;而判別學習方法解決后驗分布的參數估計問題,直接計算P(y|x),對分類問題更加高效。
貝葉斯網絡及其分類器被廣泛應用于各大領域中。在圖像處理方面,文獻[2]將非靜態貝葉斯網絡用于處理視頻檢測問題;在故障診斷方面,文獻[3]基于貝葉斯網絡,提出一種高效聯合樹推理算法;在醫療診斷方面,文獻[4]從不完全統計中構建出貝葉斯醫學診斷網絡。在處理液體火箭發動機的故障診斷與分類方面,文獻[5]采用動態云BP網絡進行故障診斷,但神經網絡需要大量的訓練數據,這對于故障數據獲取困難的液體火箭發動機來說,無疑是一個難題。
提出的貝葉斯網絡分類器的判別類條件網絡模型,是由類條件貝葉斯網絡模型經過對數形式重新參數化得到的。通過量子粒子群算法對其優化求解,得到各節點的概率,完成分類任務。改進后的分類器用于液體火箭發動機的故障診斷與分類中,能夠高效完成分類任務,與樸素貝葉斯分類器和TAN分類器相比,分類準確率和訓練效率顯著提高。
貝葉斯網絡B=〈G,Θ〉由結構G(一個有向無環圖,其中每個節點表示一個變量Zi)和一組參數Θ組成,其中,Θ是與貝葉斯網絡相關的參數集,這些參數可以量化結構內的依賴關系。變量Y=Z0表示類別,變量X1=Z1,X2=Z2,…,Xn=Zn,稱為屬性,其中n表示屬性的數量。參數Θ由結構G中的每個節點的一組表示局部條件概率分布的參數θΣn|Πn(x)和θzi|y,∏i(x)組成,其中1≤i≤n,Πi(.)是一個函數,其功能是給定數據實例x=〈x1,x2,…,xn〉作為輸入,返回結構G中節點i的父節點值,其中xi∈Xi,表示屬性Xi的第i個屬性值。為了標記簡單,將θZ0=z0|Π0(x)和θZi=zi|y,Πi(x)記為θz0|Π0(x)和θzi|y,Πi(x)。其中,θZi=zi|Πi(z)表示給定父節點時,變量Zi取值為zi的概率;Π0(.)表示類的父節點。
若給定某一數據實例x=〈x1,x2,…,xn〉,則貝葉斯網絡的聯合概率分布為:
(1)
式中,y∈Y,表示類變量的取值,與z0相同。
根據貝葉斯定理,相應的條件概率分布PB(y|x)為:
(2)
在本文的分類問題中,類變量是所有屬性變量的父節點,將θy|∏0(x)記為θy,即θy|∏0(x)=θy。
給定一組數據D={x(0),…,x(N)},其中N表示數據點的數量,那么貝葉斯網絡的對數似然函數(Log-Likelihood,LL)為:
(3)
約束條件為:
(4)
在公式(4)的約束條件下,通過使公式(3)取最大值的方法優化參數θ即為參數的最大似然估計。
使用貝葉斯網絡分類器進行分類,通常按照兩個步驟,其中步驟1涉及最大化聯合概率P(y,x),步驟2則是根據貝葉斯定理獲得條件概率P(y|x)。而本文直接通過最大化條件對數似然函數(Conditional Log-Likelihood,CLL)來優化P(y|x),由于直接優化了從樣本特征到類標簽的映射,因此對于分類問題更加高效。
根據貝葉斯定理,條件對數似然函數定義為:
(5)

如果貝葉斯網絡結構是正確的,最大化對數似然函數和條件對數似然函數應該具有相同的結果[9]。因為θ沒有閉形解,使得條件對數似然函數取最大值;因此,必須在參數空間上求助于數值優化方法。
與任何貝葉斯網絡模型一樣,類條件貝葉斯網絡模型由圖形結構和量化屬性間依賴關系的參數θ組成。對于貝葉斯網絡B,相應的類條件貝葉斯網絡模型基于網絡B*(其中B*是基于貝葉斯網絡B的類條件貝葉斯網絡),通過將條件對數似然函數最大化求得其參數。將Ross等[10]提出的定義稍作修改:
定義1對具有嚴格正參數集θB*的網絡B*,若從屬性集(X1,X2,…,Xn)到類變量Y上的分布的所有函數集合采用等式(2)的形式,則稱這類基于網絡B*的條件分布集合為類條件貝葉斯網絡模型,記為MB*。
本文類變量的父節點為空集合,則表示類變量的參數記為θv(j)。
樸素貝葉斯結構是生成模型,通過優化公式(3)獲得模型參數。邏輯回歸(logistic regression,LR)與樸素貝葉斯結構存在一定的聯系,但LR是一種通過優化公式(2)獲得相關參數的類條件貝葉斯網絡模型。通常,邏輯回歸學習每個屬性變量(每個類)的權重。然而,可以通過考慮合理的二次、三次或更高階特征的全部子集或部分子集來擴展邏輯回歸。根據Roosetal[9],將判別類條件貝葉斯網絡定義為:

重新定義公式(5)中的P(y|x):
(6)
根據定義2,重新定義公式6中與每個參數θ相關聯的參數β:
logθy=βy,logθxi|y,Πi(x)=βy,xi,Πi
現在公式(6)變為:
(7)
(8)
由于上式沒有閉形解,本文將采用量子行為粒子群的優化算法對模型進行優化求解。
傳統的PSO(particle swarm optimization,粒子群優化)算法的主要缺點是容易陷入局部最優解。針對這一問題,孫俊等[10]提出一種量子行為粒子群算法(quantum behaved PSO,QPSO),使粒子擁有跳出局部最優解的機制。在QPSO算法中,粒子的運動與傳統的PSO算法完全不同。在量子領域里,速度和位置的更新不能同時確定,因此牛頓定理在量子領域是不成立的。粒子的新狀態由波函數ψ(x,t)確定。另外,文獻[11]指出,粒子位置的概率密度函數由|ψ|2表示。文獻[12]的軌跡分析表明,如果種群中的每個粒子收斂到定義的局部吸引子,則PSO算法收斂。其中,局部吸引子的定義為:
(9)
(10)
其中,i=1,2,3,…,N且j=1,2,3,…,D。N為種群中粒子的數量,D為粒子的維數。r1和r2服從均勻分布,c1和c2是PSO算法部分的固定值。粒子群的新位置由以下公式確定:
(11)
其中,xi,j表示第i個粒子的第j維位置;β是收縮-擴展系數[11],通過調整β可以加速算法的收斂。u和rnd是0到1之間服從均勻分布的隨機數;pi,j是式(10)中定義的局部吸引子;Mbest是種群中粒子Pbest位置的均值。則Mbest可由下式計算:
(12)
另外,在種群中具有最佳適應度值的被稱為全局最優,記作Gbest,是這一代粒子的最佳解決方案。
設置的終止條件為迭代次數大于200次。
綜合上文所述算法的主要思想,量子行為粒子群優化(QPSO)算法的具體實現步驟為:
1)初始化種群中的粒子位置為隨機位置;
2)計算每個粒子的適應度值;
3)根據式(12)計算Mbest向量;
4)將每個粒子的適應度值與Pbest進行比較,如果當前適應度值優于Pbest,則將當前適應度值設置為新的Pbest值,并在D維空間中更新;
5)將Pbest與Gbest進行比較,如果Pbest優于Gbest,則用當前Pbest替換Gbest;
6)根據式(11)更新粒子的位置;
7)重復步驟2)到6),直至滿足算法的終止條件。
Weka系統是由新西蘭Waikato大學開發的一個開放源碼的機器學習及數據挖掘系統。本研究采用的驗證工具基于Weka系統,并對其在功能上進行補充和修改,使之成為適用于液體火箭發動機故障診斷的數據挖掘平臺。
采用的數據樣本是某大型氫氧發動機36次仿真試車的數據,通過建立大型氫氧液體火箭發動機的數學模型,對該型號的液體火箭發動機可能發生的各類故障進行多次仿真得到測試數據。其中30次為正常數據,6次為故障數據,共7 500個樣本。6組故障數據分別是:發生器氫副控閥泄露、氫渦輪出口燃氣泄露、氧穩壓閥出口泄露、發生器氧副控閥泄露、氧渦輪入口燃氣泄露及氧泵后泄露。原始樣本數據量非常龐大,而且測量的參數種類繁多,如果不進行數據預處理,將會在很大程度上影響分類的精度與優化速度。
首先選取原始仿真數據中共同存在的70多個參數數據,從其中選擇數值相對穩定的數據40多個。再進一步從中選擇易發故障部分組件的相應參數22個,作為最終參與分類的屬性參數。同時,由于實際數據變化較大,數據的數量級有可能差別很大,為了提高分類及優化效率,采用如下公式對數據進行歸一化處理:
(13)
式中,Xij為第i個樣本中第j個屬性的值,Xj為數據樣本中第j個屬性的均值。
3.2.1 改進分類器的構建
樹擴展樸素貝葉斯網絡(tree-augmented naive Bayesian network,TAN)利用貝葉斯網絡中的依賴關系,對樸素貝葉斯結構進行擴展,放寬了樸素貝葉斯網絡中的獨立性假設條件,是對樸素貝葉斯網絡的改進。TAN分類器能夠接納屬性之間的依賴關系,使其更加符合實際情況。
將判別類條件貝葉斯網絡模型與TAN分類器相結合,通過最大化條件對數似然函數,獲得各節點的參數。將新的分類器記為TANd分類器。TANd分類器在數據量較小時分類優勢不夠明顯,但是當數據量的規模增加,各參數的屬性之間的獨立性假設條件不再被滿足時,普通的貝葉斯網絡分類器的分類精度會大幅下降,而TANd分類器的分類效果依然能夠保持很高的分類精度。利用TANd分類器對液體火箭發動機進行故障診斷的具體步驟如下:
步驟1將預處理后的故障數據和常規數據組合構成訓練集,根據訓練集生成TANd分類器模型;
步驟2利用生成的TANd分類器模型對液體火箭發動機進行故障診斷。
由于液體火箭發動機的各參數之間并非完全相互獨立,因此,采用TANd分類器時,各屬性參數之間存在一定的聯系。TANd分類器通過計算不同屬性之間的條件互信息函數,在屬性間添加弧,建立一個有向無環圖。
根據樣本集訓練生成的TANd分類器模型如圖1所示。除類節點外,每個節點至多只有一個屬性節點作為其父節點。例如,PK為燃燒室壓力。除類節點外,POR(代表氫泵入口壓力)也是其父節點。圖中各節點的依賴關系也反映出實際情況中屬性之間的依賴關系。

圖1 基于仿真數據集的TANd網絡模型Fig.1 TANd model based on simulation data
3.2.2 改進分類器與各分類器的診斷結果對比
為了驗證提出方法的有效性,將其與樸素貝葉斯分類器和TAN分類器進行比較。其中,樸素貝葉斯分類器和TAN分類器采用WEKA平臺提供的算法,分別記為NBC和TNC。實驗采用10重交叉驗證,采用最小描述長度離散化方法對連續型數值進行離散化。采用的訓練集為完整數據訓練集,不含缺失值,其中包含液體火箭發動機的正常運行數據及6種故障數據,共計7個類變量,得到集合{發生器氫副控閥泄露、氫渦輪出口燃氣泄露、氧穩壓閥出口泄露、發生器氧副控閥泄露、氧渦輪入口燃氣泄露及氧泵后泄露,正常},記為{Fault1,Fault2,Fault3,Fautl4,Fault5,Fault6,Normal}。
使用三種貝葉斯分類器對仿真數據集進行故障診斷與分類,實驗結果如表1~2所示。

表1 三種分類器的實驗結果對比Tab.1 Comparison of experimental results of three classifiers

表2 三種分類器對故障類型的具體分類結果對比Tab.2 Comparison of specific classification results of various types of fault types by three classifiers
表1~2中TP Rate表示被模型預測為正的正樣本率,FP Rate表示被模型預測為正的負樣本率,Precision為查準率,Recall為召回率,F-Measure為Precision和Recall的加權調和平均,其值越接近1,表明診斷方法越有效。從表1中可以看出,在分類準確率、召回率這兩項指標上,本研究的改進分類器要優于TAN分類器,且上述兩個分類器都明顯優于樸素貝葉斯分類器。從F-measure指標中可以看出,本研究的改進分類器的評價結果最接近于1。
從表2中的三種分類器的詳細分類結果可以看出,本方法對于每種故障分類的準確率均能達到95%左右,明顯優于樸素貝葉斯分類器,同時也略優于TAN分類器。

表3 三種分類器的均方根誤差對比Tab.3 Comparison of root mean square error of three classifiers
由表3可知,本方法對分類結果的均方根誤差小于樸素貝葉斯分類器和TAN分類器,同樣表明了本方法的分類效果好,分類結果穩定,驗證了本方法的有效性。
針對PSO算法容易陷入局部極值,隨機性和智能性不足的缺點,本研究采用的QPSO優化算法不依賴于粒子的速度、粒子的位置及概率密度由波函數產生。在粒子位置有界的情況下,算法滿足全局收斂性條件,能夠依概率收斂至全局最優解。
設置算法的參數,令c1=c2=2,設置種群規模N=20。當算法迭代次數大于200次時,算法終止。
圖2所示為量子粒子群算法優化TANd分類器的演化曲線。可以看出,算法在進化開始時,收斂速度很快,能夠快速逼近問題的最優解。此外,算法根據粒子位置的有界性,能夠依概率收斂至全局最優解,在大約80次迭代之后,就會限制粒子的搜索范圍,圍繞最優解進行搜索,且沒有陷入局部極值,算法具有良好的穩定性。
與神經網絡等智能算法相比,所驗證的分類器不需要大量的數據集,且分類器的訓練用時很短,分類的準確率較高,在對算法進行優化時,迭代次數少,且能夠快速逼近最優解,這對于數據樣本收集困難的故障分類工作具有重要的意義。

圖2 分類器在仿真數據集上的演化曲線Fig.2 The evolutionary curve of simulation data
1)針對液體火箭發動機的故障診斷問題,基于類條件貝葉斯網絡的參數學習,將判別貝葉斯網絡模型與TAN分類器結合,構建TANd分類器,并根據貝葉斯定理和最大后驗概率原則對訓練集進行分類,判斷是否屬于故障數據,或者是故障中的哪一類。
2)改進的分類器在分類精度上優于樸素貝葉斯分類器和TAN分類器,同時分類的誤差較小,分類器的穩定性較好,能夠有效處理分類問題。
3)采用的量子行為粒子群優化算法能夠有效對TANd模型進行優化,迭代次數少,優化效率高。
下一步將針對模型的優化問題,將貝葉斯網絡的生成和判別參數方法結合起來,構建基于參數權重的判別網絡模型,進一步提高模型的優化效率。