(1.西北工業大學 自動化學院, 西安 710072; 2. 西安電子科技大學 理學院, 西安 710071)
摘 要:提出一種基于改進貝葉斯優化算法的故障模式聚類算法,通過結合貝葉斯優化算法中的先驗知識來提高算法的可靠性和全局收斂性。將改進的優化算法應用到高維數據最優統計聚類分析中,可快速優化聚類參數,得到全局最優解。以飛行控制系統操縱面的故障診斷為例進行仿真驗證,結果表明該算法結構簡單、故障識別可靠。
關鍵詞:飛行控制系統; 貝葉斯優化算法; 故障診斷
中圖分類號:TP18 文獻標志碼:A
文章編號:10013695(2009)01012903
Method offault diagnosis using Bayesian optimization algorithm
LIU Xiaoxiong1, WU Yan2, SHI Jingping1, ZHANG Weiguo1
(1.College of Automation, Northwestern Polytechnical University, Xi’an 710072, China; 2.School of Science, Xidian University, Xi’an 710071, China)
Abstract:A fault identification method based improved Bayesian optimization algorithm (BOA) is introduced to identify aircraft actuator system failures. The information provided by the previous generation is considered as prior knowledge to be incorporated in the Bayesian networks learning. So the reliability and convergence of the proposed algorithm are improved. Using the improved BOA, clustering analysis algorithm achieves a stronger ability in searching the global optima. The scheme is illustrated through simulations applying the flight control system of a fighter. The simulation results show the proposed algorithm is reliable and simple.
Key words:flight control system; Bayesian optimization algorithm(BOA); fault identification
0 引言
現代先進飛行控制系統是一個復雜的系統,結構復雜,故障模式多樣,傳統的故障診斷大多采用具有詳細系統信息的基于模型的方法[1,2]。然而現實中,由于系統的非線性、強耦合和高維數的關系,建立模型非常困難。同時飛機上有多個數據采集和自診斷設備。那么根據系統產生的實時報文、維護技術文檔以及自檢測信息等,采用故障模式分類方法,及時地發現和預測故障,并且對各個部件進行故障推理判斷,這樣能夠極大地利用飛行控制系統的測試數據,提高維修維護效率。
故障模式分類方法是解決復雜設備狀態檢測與故障診斷的有效方法。從傳統的模式識別與聚類算法如K均值、EM算法、模糊聚類算法到智能計算的故障診斷方法都進行了大量的研究[3~6]。近年來,隨著進化算法在解決優化問題方面的優良特性,基于進化算法的故障模式分類方法受到了人們的廣泛關注。貝葉斯優化算法(Bayesian optimization algorithms,BOA)是近年逐漸興起的一種基于概率分布的進化算法[7~9],是對遺傳算法的一種改進。針對飛行控制系統故障的特點,以及對高維數據進行故障辨識的困難,本文提出了一種基于改進貝葉斯優化算法的故障模式聚類算法。應用改進的算法結合數據最優聚類分析方法,對飛行控制系統執行機構故障進行診斷,根據聚類分析的相似度和聚類目標函數進行故障判斷。仿真研究表明了所提算法的有效性。
1 故障模式識別
所謂模式識別就是從模式空間到類別隸屬空間的正確映射。在傳統的模式識別技術中,模式識別的基本方法是利用判別函數來劃分每個類別。通常情況下對故障模式識別是通過選擇敏感特性和進行簡單比較實現的,這對于簡單系統容易做到,而對于復雜系統和復雜現象,就涉及到故障模式和正常模式的識別問題。因此故障診斷問題就是一個特征選擇問題。聚類分析方法是一種有效的故障診斷和特征選擇算法。作為一種重要的模式識別工具,聚類分析已經積累了各種領域的相似度和聚類目標函數[2]。
本文以飛行控制系統執行機構的測量數據和飛機傳感器所采集的飛行參數為研究對象,根據故障監控狀態下系統的測量值進行聚類分析來進行系統的故障診斷。采樣數據向量定義如下:
V={v1,v2,…,vt}O={c1,c2,…,ct}(1)
其中:vi∈Rd(1≤i≤T)為采樣數據向量;ci∈Rd(1≤i≤C)是聚類中心向量。
那么數據x和y之間的方向相似度S(x,y)定義為
S(x,y)=cos(x,y)=(xT#8226;y)/‖x‖#8226;‖y‖(2)
定義如下的聚類目標函數
J(W,O)=∑Ci=1∑Tj=1uijcos(vj,cj)=∑Ci=1∑Tj=1uijS(vj,cj)(3)
其中:W=uij為隸屬矩陣。選擇如下優化目標函數:
max J(W,O)=max ∑Ci=1∑Tj=1uij cos(vj,cj)(4)
其中:s.t. ∑Ci=1uij=1,uij∈{0,1},L(l)≤ci(l)≤R(l),1≤l≤d,1≤i≤C。ci(l)是聚類中心向量的第l個元素;L(l)=minj(vj(l)),R(l)=maxj(vj(l)),1≤j≤T。
迭代終止條件為
|J(Wt,Ot)-J(Wt-1,Ot-1)|≤ε(5)
其中:ε取任意小的正數。
對采樣數據V的聚類就是在上述約束條件下優化J(W,O)。 那么故障模式分類問題就轉換為求解帶約束的最優化聚類問題。
2 改進貝葉斯優化算法的故障識別
2.1 貝葉斯優化算法
貝葉斯優化算法是一種基于概率分布的進化算法[7~9]。BOA利用當前種群的優秀解所提供的信息,建立貝葉斯概率模型以反映變量之間的依賴關系以及優秀解的分布,并通過此概率模型抽樣產生新的解作為下一代種群來指導算法的搜索。BOA由概率模型取代遺傳算法中的變異和雜交算子,是對遺傳算法的一種改進。
在Bayesian優化算法中,建立Bayesian網絡是算法的核心和關鍵。Bayesian網絡是聯合概率分布的圖形表示形式。一個Bayesian網絡由兩部分組成:結構B和參數θ。結構B是一個有向無環圖,其節點表示各個變量,節點之間的有向邊表示變量之間的條件依賴關系。參數θ是各變量條件概率分布表的集合,即{θXi|∏i}。其中θXi|∏i=P(Xi|∏i),表示變量Xi在其父節點(若有從vi到vj的有向邊,則vi稱為vj的父節點)集∏i下的條件概率分布。由Bayesian網絡可以將個體的聯合概率分布分解為
P(X)=P(X1,X2,…,Xn)=∏ni=1P(Xi|∏i)
(6)
這里Bayesian網絡是用來描述所選擇的優秀解的特征和分布,以此來指導新解的生成。為了能夠快速學習Bayesian網絡結構,通常采用基于打分測度的貪婪算法學習Bayesian網絡。本文使用BD(Bayesian dirichlet metric)[8]打分。
BD(B)=P(B|D)=P(B)∏ni=1∏πi (Γ(m′(πi)))/
(Γ(m′(πi)+m(πi)))#8226;∏xi (Γ(m′(xi,πi)+
m(xi,πi)))/Γ(m′(xi,πi))(7)
其中:P(B)是網絡結構B的先驗概率;對xi的連乘表示對節點Xi的所有取值進行乘積,對πi的連乘表示對節點Xi的父節點Πi的所有取值的乘積;m(xi,πi)表示數據中Xi=xi和Πi=πi的例子數,m(πi)表示數據中Πi=πi的例子數;m′(xi,πi)和m′(πi)分別表示m(xi,πi)和m(πi)的先驗信息,如果無先驗信息則令m′(xi,πi)=1。
2.2 改進的貝葉斯優化算法
貝葉斯優化算法是基于種群的優化算法,它利用當前代種群提供的優秀解學習Bayesian網絡,通過分析發現,常規算法中,沒有考慮前一代種群提供的優秀解及學習的Bayesian網絡結構的特點,這樣造成了信息浪費,影響學習網絡的可靠性。因此可以把前一代網絡學習的信息和結構作為后一代學習的先驗知識,利用先驗知識來修正Bayesian網絡。這樣不但可以充分利用數據,而且可以提高所學習網絡的可靠性,從而提高算法的收斂速度和全局收斂性。
綜上所述,本文提出改進的貝葉斯優化算法的基本思想是:把上一代種群提供的優秀解作為先驗信息結合到BD打分和當前代Bayesian網絡參數的學習中。在BD打分和參數學習中m′(xi,πi)和m′(πi)分別表示m(xi,πi)和m(πi)的先驗信息,即m′(xi,πi)表示先驗信息數據中Xi=xi和Πi=π的例子數,m′(πi)表示先驗信息數據中Πi=πi的例子數。其中參數為
θXi|Πi=(m′(xi|πi)+m(xi|πi))/(m′(πi)+m(πi))
(8)
2.3 故障模式分類
根據上文的聚類分析方法,基于改進的BOA,本文提出如下的故障模式分類算法:
a)根據仿真系統實測數據,采用均勻分布產生N個個體組成初始群體,P(t),t←0;
b)設x=(n1,n2,…,nT)為算法的一個解,那么把它轉換為隸屬矩陣W={uij},并且更新聚類中心向量:ci=(∑Tj=1uijvj)/(∑Tj=1uij);
c)由式(3)計算聚類目標函數J(W,O),作為適應度函數;
d)根據某種選擇機制從P(t)中選擇部分優秀解構成D(t)(本文采用截斷選擇,D(t)所含個體的個數本文取為N/2);
e)利用本文所提結合先驗知識的BD打分及貪婪算法學習Bayesian網絡概率模型建立D(t)的概率分布;
f)依據概率分布抽樣產生后代OP(t);
g)從P(t)及OP(t)中選擇前N個優秀解作為下一代種群,P(t+1);
h)若終止條件不滿足,t←t+1,轉b);
i)群體P(t)為所求解;
j)根據所得的聚類中心和相似度函數值,對測試數據進行測試,以判斷所采集的數據屬于哪一類,也就是進行故障模式分類。
3 仿真分析
針對某飛機六自由度非線性動力學模型進行仿真,飛機在5 000 m高度,0.6馬赫的平飛狀態,采樣時間為0.01 s。系統的輸出測量狀態為
x(t)=[θ,ψ,,p,q,r,α,β]T
輸入控制向量為
u=[δe,δa,δf,δr]T
輸出測量狀態向量包括:俯仰角θ,偏航角ψ,滾轉角,俯仰速率q,偏航速率r,滾轉速率p,迎角α,側滑角β。控制面的輸入量分別為:升降舵偏角δe,差動副翼δa,平尾δf和方向舵δr。
飛行控制系統作動系統的典型故障包括操縱面損傷、卡死、飽和松浮故障。各種故障狀態都可以從輸出信號反映出來。因此,可以通過測量系統的輸出數據來得到這四種故障數據。有了系統輸出的正常數據和各種故障模式下的故障數據,就可以進行故障模式的分類從而判斷系統是否發生了故障。圖1為正常情況下的系統輸出。
為了表明改進算法的效果,與傳統的聚類分析故障辨識方法比較如圖2所示(圖2中,實線為改進算法,點畫線為傳統算法),圖2為采用兩種算法最優解的目標函數值,可以看出改進算法能快速收斂,并且達到全局最優。
根據仿真模型采集如下的狀態數據:無故障數據(10組),升降舵故障、副翼故障、平尾和方向舵故障數據(各30組)。每組數據包含飛機測量的8個狀態。對所采集數據進行歸一化處理,如表1所示。同時,從仿真系統中采集測試數據如表2所示。
表1 故障模式標準特征表
故障狀態序號θψpqrαβ
從仿真結果可以得到如下結論:
a)在貝葉斯優化算法設計中,結合先驗知識充分發掘了算法的特性,使得其快速收斂,達到全局最優。
b)基于進化算法的聚類分析方法,克服了常規算法早熟和局部收斂的缺點。應用其進行故障模式分類簡單可靠。
c)本文主要提出一種故障模式分類的新方法。對飛行控制系統的故障診斷只進行了有無故障的判斷,詳細的故障信息還需要算法的進一步改進和應用。
4 結束語
考慮到傳統故障模式分類方法的局限性,本文題出一種基于改進貝葉斯優化算法的聚類分析方法,對飛行控制系統執行器故障進行診斷。算法結合了貝葉斯優化算法全局收斂的特點和故障分類方法不需要控制系統模型的優點,從而完成了故障模式分類。本文的方法拓寬了故障模式分類方法的研究領域。
參考文獻:
[1]劉小雄,章衛國,李廣文. 基于智能解析余度的容錯飛控系統設計[J]. 傳感技術學報, 2007,20(8):5862.
[2]周東華,葉銀忠. 現代故障診斷與容錯控制[M]. 北京:清華大學出版社,2000:117127.
[3]劉守生,丁盛林,丁勇. 基于進化FCM算法的故障診斷方法[J]. 系統工程與電子技術,2004,26(9):12871290.
[4]熊浩, 張曉星. 基于動態聚類的電力變壓器故障診斷[J]. 儀器儀表學報,2007,28(3):456459.
[5]SUN Ruixiang, FUGEE T, QU Liangsheng. Evolving kernel principal component analysis for fault diagnosis[J]. Computers Industrial Engineering, 2007,53: 361371.
[6]YANG Wenxian. Establishment of the mathematical model for diagnosing the engine valve faults by genetic programming[J]. Journal of Sound and Vibration, 2006,293:213226.
[7]SCHWARZ J, OENEK J. The knowledgebased evolutionary algorithm KBOA for hypergraph bisectioning[C]//Proc of the 4th Joint Conference on Knowledge based Software Engineering. Brno, Czech: IOS Press, 2000:5158.
[8]HECKERMAN D, GEIGER D, CHICKERING D M. Learning bayesian networks:the combination of knowledge and statistical data[J]. Machine Learning, 1995,20(3):197243.
[9]PELIKAN M, SASTRY K. Fitness inheritance in the Bayesian optimization algorithm, Report2004009[R].[S.l.]: IlliGAL, 2004.