丁曉彬, 劉久富, 鄭銳, 王彪, 劉海洋, 楊忠, 王志勝
1.南京航空航天大學 自動化學院,江蘇 南京 210016 2.東南大學 電子信息工程學院,江蘇 南京 211189
在當前的航天推進系統研究中,液體火箭發動機的故障檢測與分類是迫切需要解決的關鍵技術問題[1]。收集故障樣本較為困難,缺乏故障診斷經驗,知識更新不及時等都是液體火箭發動機的故障診斷存在的難題。同時,對診斷的實時性、準確性和完整性提出了更高的要求[2-3]。為了解決這些困難,一般將液體火箭發動機的檢測與診斷方法歸納為三大類[1]:1)基于直接測量及信號處理的方法;2)基于模型的方法;3)基于人工智能的方法。
近年來,隨著人工智能技術的發展與革新,基于人工智能的方法被大量應用于各類系統的故障診斷中。徐宗本等[4]提出了一種用于空間推進系統的方法,該方法將神經網絡與云理論相結合,是一種靜態網絡的故障診斷方法;黃強等[5]采用類似神經網絡的方法實現了液體火箭發動機的故障診斷。但是,訓練神經網絡需要大量的樣本和訓練時間,難以滿足故障診斷的實時性要求。彭小輝[6]等構建出云分類器,將液體火箭發動機的故障問題變為模式分類問題,與神經網絡相比,該方法的結構和參數具有明顯的物理含義,能夠挖掘到數據樣本中的深層含義,但對數據樣本的依賴程度太強,需要訓練數據中具有完整的故障模式。
本文提出的貝葉斯網絡分類器的判別類條件網絡模型,是由類條件貝葉斯網絡模型經過對數形式重新參數化得到的。然后,通過改進粒子群算法對其優化求解,得到各節點的概率,完成分類任務。改進后的分類器對訓練樣本要求較少,且分類器的訓練效率高,算法收斂速度快,分類準確率高。
貝葉斯網絡B=〈G,Θ〉是由結構G(一個有向無環圖,其中每個節點表示一個變量Zi)和一組參數Θ組成的,其中,Θ是與貝葉斯網絡相關的參數集,這些參數可以量化結構內的依賴關系。變量Y=Z0表示類別,變量X1=Z1,X2=Z2,…,Xn=Zn,稱為屬性,其中,n表示屬性的數量。參數Θ由結構G中的每個節點的一組表示局部條件概率分布的參數θz0|∏0(x)和θzi|y,∏i(x)組成。
若給定某一數據實例x=〈x1,x2,…,xn〉,則貝葉斯網絡的聯合概率分布為
(1)
式中:y∈Y,表示類變量的取值,與z0相同。
根據貝葉斯定理,相應的條件概率分布PB(y|x)為
(2)
本文直接通過最大化條件對數似然函數(conditional log-likelihood,CLL)來優化P(y|x)。這種方法直接優化了從樣本特征到類標簽的映射,因此對分類問題更加高效。
根據貝葉斯定理,本文將條件對數似然函數定義為
(3)
將Roos等[7]提出的定義稍作修改:
定義1 對具有嚴格正參數集θB*的網絡B*,若從屬性集(X1,X2,…,Xn)到類變量Y上的分布的所有函數集合采用式(2)的形式,則稱這類基于網絡B*的條件分布集合為類條件貝葉斯網絡模型,記為MB*。
根據Roos等[7]提出的貝葉斯網絡,將判別類條件貝葉斯網絡定義如下。

重新定義式(2)中的P(y|x):
(4)
根據定義2,重新定義式(4)中與每個參數θ相關聯的參數β:
logθy=βy,logθxi|y,∏i(x)=βy,xi,∏i
現在式(4)變為
(5)
(6)
由于式(6)沒有封閉形式的解,本文將采用基于改進粒子群的迭代優化方法對其進行優化求解。
文獻[8]認為,每個蝙蝠在位置xi,d具有隨機飛行速度vi,d,同時蝙蝠有不同的頻率Qi和脈沖發射率r。如果蝙蝠追蹤到食物,則蝙蝠改變頻率、脈沖發射率,選擇最優方案,直到算法滿足終止條件。
根據上述思想,任意粒子i,j在一定的范圍內具有不同的頻率Qi、Qj,這樣能夠保證每個粒子不被其他粒子發出的聲波所干擾。粒子通過自身的頻率范圍確定下一步的步長。其數學描述為:
Qi=Qmin+(Qmin-Qmax)×rand
(7)
式中:Qmax和Qmin是最高頻率和最低頻率。
粒子的更新公式為
(8)
(9)
粒子在高維空間中運動時,為了避免算法在局部最優解處收斂,本文將采用式(10)衡量多樣性度量:
(10)
式中:D為空間的維數;t為迭代次數;L為空間的最大長度;pd為粒子在第d維的平均值;N為種群的規模。D(t)減小,則種群集中,種群的多樣性減小。
計算種群多樣性D(t)后,如果D(t)<ε,則調整種群的多樣性:提供脈沖發射率r,比較r與rand的大小,并按照式(11)對粒子當前位置進行調整:
(11)

綜合上文所述算法的主要思想,算法的具體實現步驟如下。
procedure BAPSO
for each particlei
Initializevi,dandxi,dfor particlei
Evaluate particle i and setpi=xi,d
SetQmin,Qmax
end for
pg=min{pi}
while(termination condition)
fori= 1 toN
CalculateQiby Eq.7
Updatevi,dandxi,dby Eq.8 and Eq.9
CalculateD(t)by Eq.10
if(D(t)<ε)
setr
if(r< rand)
xi,d=pg,d+0.01×randn(1,D)
else
xi,d=pg,d
Evaluate particlei
if fit(xi,d) < fit(pi)
pi=xi,d
if fit(pi) < fit(pg)
pg=pi
end for
end while
printpg
end procedure
Weka系統是由新西蘭Waikato大學開發的一個開放源碼的機器學習及數據挖掘系統。
本文采用的數據樣本是某大型氫氧發動機36次仿真試車數據,通過建立大型氫氧液體火箭發動機的數學模型,對該型號的液體火箭發動機可能發生的各類故障進行多次仿真,得到了仿真數據。其中30次為正常數據,6次為故障數據,共7 500個樣本。6組故障數據分別是:發生器氫副控閥泄露、氫渦輪出口燃氣泄露、氧穩壓閥出口泄露、發生器氧副控閥泄露、氧渦輪入口燃氣泄露及氧泵后泄露。
本文從易發故障部分組件選擇相應屬性參數,共 22個。同時,由于實際數據變化較大,數據的數量級有可能差別很大,為了提高分類及優化效率,本文采用式(12)對數據進行歸一化處理:
(12)
式中:Xij為第i個樣本中第j個屬性的值;Xj為數據樣本中第j個屬性的均值。
3.2.1 TANd分類器的構建及故障診斷方法
將判別類條件貝葉斯網絡模型與TAN分類器相結合,通過最大化條件對數似然函數,獲得各節點的參數。將新的分類器記為TANd分類器。液體火箭發動機的各參數之間并非完全相互獨立,因此,采用TANd分類器時,各屬性參數之間存在一定的聯系。TANd分類器通過計算不同屬性之間的條件互信息函數,能夠在屬性間添加弧,建立一個有向無環圖。
3.2.2 第1次仿真數據的故障診斷結果
利用生成的TANd分類器對仿真數據集1進行故障診斷與分類。
根據樣本集訓練生成的TANd分類器結構如圖1所示。

圖1 TANd網絡模型
仿真數據集1的分類結果用錯分矩陣表示,如表1所示。

表1 仿真數據集1的故障診斷結果

表2 仿真數據集1的故障分類評價指標
表1、2給出了分類結果和各項評價指標。可以看出,判別類條件貝葉斯網絡模型應用于TAN分類器時,進一步提高了模型精度,分類效果很好。改進的分類器對于故障診斷與分類的正確率較高,且誤分類率很低,在查全率和查準率上也有較好表現。另外,各種故障類型的F-Measure指標均接近于1,表明該算法對故障診斷具備相當高的可靠性。
3.2.3 第2次仿真數據的故障診斷與分類
為了進一步驗證TANd分類器的分類性能,證明其在樣本數據的屬性變量及類變量的數量增加時,依然能夠保持較高的分類精度,本文通過對液體火箭發動機模型多次仿真,得到了第2次仿真數據集,共有76個屬性變量。從這些數據中,選擇10類故障數據:發生器氫副控閥泄露、氫渦輪出口燃氣泄露、氧穩壓閥出口泄露、發生器氧副控閥泄露、氧渦輪入口燃氣泄露、氧泵后泄露、氧主文氏管后泄露、氧渦輪出口燃氣泄漏、氫渦輪入口燃氣泄露及氧穩壓閥入口泄露,再從每一類故障數據中選擇1 000個樣本,共計10 000個數據樣本。為了標記方便,將這10類故障類型記為Fault1~Fault10。
在進行分類任務前,依照前面所述方法對數據進行歸一化處理。同時采用最小描述長度離散化方法對連續數據離散化。
利用生成的TANd分類器對仿真數據訓練集進行故障分類,分類結果如表3、4。

表3 仿真數據集2的故障分類結果

表4 仿真數據集2的故障分類指標統計
設置算法的參數,令Qmax=1,Qmin=0。設置種群規模。當由算法給出的適應度值的改進小于10-32時,算法終止。圖2是2次仿真數據集的目標函數采用負對數似然函數(negative-log-likelihood,LL)形式的收斂性比較。

圖2 TANd分類器在不同數據集上的演化曲線
圖2的演化曲線的x軸采用了對數刻度。由圖可以看出,算法通過引入粒子的頻率,使得算法能夠快速逼近問題的最優解,收斂速度比較快。此外,在仿真數據集1的優化過程中,算法能夠極快地逼近最優解,在大約10次迭代之后,就會限制粒子的頻率,圍繞最優解進行搜索,且沒有陷入局部極值。與第1次仿真數據相比,第2次仿真數據中包含的類變量和屬性變量增加,分類器模型更復雜,目標函數變為多峰函數。但在優化過程中,算法能夠在陷入局部極值點時,通過改變粒子的頻率,快速擺脫出來,并且逼近全局最優解。
1)針對液體火箭發動機的故障診斷問題,本文基于貝葉斯網絡的參數學習,將判別類條件貝葉斯網絡模型與TAN分類器結合,構建TANd分類器,并根據貝葉斯定理和最大后驗概率原則對訓練集進行分類,判斷是否屬于故障數據,或者是故障中的哪一類。
2)改進的分類器對數據量需求較少,分類精度很高,適用于液體火箭發動機這類數據樣本收集困難的對象。
3)TANd分類器放寬了貝葉斯網絡的獨立性假設條件,能夠反映出不同屬性之間的聯系。增加訓練集的樣本數量,并增加屬性變量和類變量,分類器依然能夠保持分類精度。但目標函數較為復雜,因此算法優化過程中的迭代次數增加。