?

數據基故障診斷算法更新問題研究*

2020-05-06 01:45趙晨旭劉冠軍
國防科技大學學報 2020年2期
關鍵詞:訓練樣本故障診斷代表

趙晨旭,涂 遺,邱 靜,劉冠軍

(國防科技大學 裝備綜合保障技術重點實驗室, 湖南 長沙 410073)

1 問題分析

機內測試系統是傳感器、數據處理器、診斷軟件等部分結合的產物,作為裝備的一部分,可以使使用者盡快開展故障診斷與預測。隨著計算機技術的不斷發展,基于機器學習的故障診斷,尤其是基于數據的分類在故障檢測與隔離過程中受到了越來越多的重視和應用[1]。將傳感器采集到的數據經過一定的數據處理后得到裝備運行的實時特征,將其與裝備研制和運行中累積的運行狀態“知識”作對比,可快速確定裝備的運行狀態。對于基于機器學習的故障診斷算法,足夠的訓練樣本是保證得到高精度診斷結論的必要條件,只有經過充分訓練的算法才能達到故障診斷設計要求。由于裝備實際工作剖面復雜多樣,在裝備測試性設計時,受限于設計時間和經費,上述前提一般是不成立的;尤其是設計之初,往往難以得到裝備故障數據的全樣本空間,對于缺少相似產品的新研裝備而言,得到正常狀態的全樣本空間通常也是比較困難的。在這種情況下,為了保證診斷結論的準確性,故障診斷決策算法需要隨著試驗或者使用過程中數據的累積而不斷迭代更新[2]。在這個過程中,機器學習算法通常面臨著分類器更新訓練問題[3-5]、訓練樣本不平衡問題[6-8]和硬件存儲容量限制[9]等問題。隨著機器學習熱度的不斷增加,上述問題受到了越來越多的關注。但是從目前的文獻來看,成果多集中在某個單一問題的解決上,統籌考慮上述三個問題,提出一套系統解決方案的成果還未發現。針對該情況,本文試圖提出一套簡單實用的方法,解決在測試性設計改進過程中如何開展診斷算法更新工作的問題。

2 問題解決

2.1 基于密度的大樣本數據壓縮

數據壓縮是一種用少量樣本表征完整原始樣本集大部分特征區域的數據縮減方法[10]?;诿芏鹊木垲愂浅S玫木垲惙椒ㄖ?,本文參考該方法開展大樣本數據壓縮,在緩解樣本量不平衡的同時,解決算法更新時原始樣本不斷增多、存儲耗費大的問題。

(1)

式(1)右側第一項為用歐氏距離表征的實數特征距離,第二項為用相異匹配測度表征的屬性特征距離,λ用以調整屬性特征在距離測度中的權重,δ(·)為示性函數。

(2)

根據定義,d(xi,xj)可以用來衡量兩個樣本之間的相似程度:d(xi,xj)=0時,兩個樣本最相似,甚至相同;距離越大,兩個樣本之間的相似性越差。

對于容量為N的樣本集,在距離函數的基礎上,可以用式(3)定義任一樣本x附近的樣本分布密度。

(3)

ρ(x)越大說明樣本集中與樣本x相似的樣本點越多;反之則說明樣本集中與樣本x相似的樣本點較少。

定義以xi為中心、以ε為半徑的超球為xi的ε鄰域,令Nε(xi,X)表示樣本集X與該鄰域交集的樣本點個數,則Nε(xi,X)越大,表示ρ(xi)越大。 對于閾值q,若Nε(xi,X)≥q,則可稱xi為樣本集的核心對象。 核心對象通常作為代表樣本點被保留至代表樣本集中。 根據定義可知,ε越大,核心對象需要代表的區域越大,核心對象數量越少;q越大,核心對象的代表性越強,核心對象數量也越少。 于是通過調整{ε,q}取值可調整代表樣本集的樣本個數。 為保證代表樣本點的均勻分布,在實際應用中通常令q=1,通過調整ε取值控制代表樣本容量,樣本數量隨著ε的減小而增多。

令Xun表示待選樣本集,其中待選樣本按ρ(x)取值從大到小的順序依次編號。 令P={p1,…,pND}表示數據壓縮后得到的代表樣本集,其中ND為要求的代表樣本集容量,于是可以給出如算法1所示的代表樣本集生成過程。 該代表樣本集即可作為數據壓縮后的訓練樣本。 該方法能夠保證生成的訓練樣本既涵蓋待選樣本集的核心對象,又包含奇異特征點,從而張滿原始樣本集分布空間。

算法1 獲取代表樣本集Alg.1 Get the sample set

2.2 基于人工免疫的小樣本數據擴充

基于啟發式算法的數據擴充是常見的偽數據生成方法之一。特征聯合分布密度函數是啟發式樣本擴充的基礎。隨著特征維數的增高,聯合分布函數也會逐漸復雜,并且當數據量較小時通常難以得到準確的分布函數參數估計。受人工免疫系統[12]啟發,將原始樣本x看作抗原,與免疫系統生成的抗體組成新樣本集,則可以在擴充樣本容量的同時,豐富數據分布的多樣性,并且該方法不需要給出特征聯合分布函數,具體流程如下。

Step1:計算原始樣本集X中每個樣本x的分布密度系數ρ(x),同時隨機生成樣本集X對應的未成熟抗體種群A。

Step2:對原始樣本集X中的每個樣本x執行如下步驟:

1)計算未成熟抗體種群A中每個抗體aj與原始樣本x的親和度Afj=1/d(aj,x),其中d(aj,x)如式(1)所示。

由于屬性特征的取值通常是有限并且少量的,如果對其進行變異操作,極可能產生大量實際上不存在的樣本屬性特征,從而引入不必要的人為分類誤差。于是,本文對屬性特征采取不變異僅繁殖的處理方法。

利用上述過程進行樣本擴充,既能保持原樣本的重要信息,又能得到多種近似樣本。通過控制參數{n,T}取值可以調整擴充樣本集的容量,調整參數α∈[0,1]取值能夠控制新樣本與原始樣本的相似程度,α取值越大,新樣本與原始樣本相似度越高。

2.3 基于代表樣本點的混合學習

常見的分類器更新學習方法主要包括批量學習和增量學習兩種。傳統的批量學習雖然能夠較好地處理樣本容量限制與知識空間退化的矛盾,但算法更新需要利用所有歷史樣本,導致存儲開銷大,并且隨著訓練樣本的增多,更新訓練時間也相應變長。傳統的增量學習雖然能解決歷史樣本存儲的問題,但是又可能存在知識空間隨學習過程逐漸退化的問題。本文提出基于代表樣本點的混合學習方法,力圖在緩解訓練樣本存儲和算法更新訓練時間成本的同時,又能較好地解決知識空間退化的問題。第i+1次支持樣本集與診斷算法更新過程如下。

Step2:將P′i+1和原有代表樣本集Pi合并后,按照式(4)對合并后的樣本集進行元素合并,得到新的臨時代表點。

Step3:不斷重復Step2直至元素個數滿足要求,即可獲得用于第i+1次算法更新的最終代表樣本集Pi+1。

(4)

3 案例應用

Coraddu等利用Combined Diesel Electric And Gas公司建立的護衛艦推進系統仿真模型開展了大量的數值仿真,并獲得了豐富的推進系統運行仿真數據[13-14]。本文利用Coraddu等在加利福尼亞大學爾灣分校機器學習數據庫中提供的數據驗證第2節所研究方法的有效性。根據文獻[14],燃氣機壓縮系統退化量kMc和燃氣機總體退化量kMt能夠較好地表征推進系統故障狀態,但這兩個參數需要利用16種信號綜合建模獲取。

按照kMc和kMt的取值,當滿足kMc∈[0.95,0.97)∪kMt∈[0.975,0.985)時認為系統處于故障狀態,機內測試設備(Built-In Test Equipment, BITE)需要及時報警;否則認為系統處于正常狀態,BITE無須報警。

3.1 數據準備

相關研究表明,當用于分類的特征屬性過多時可能降低分類效果,因此本文選用了如表1所示的7種測試信號開展系統故障診斷。需要說明的是,選用這些信號并不能說明這些信號是最佳信號,僅能說明這些信號能夠較好地驗證本文所述方法的有效性。另外為了繪圖展示的方便,后文僅選用左側螺旋槳推進扭矩和渦輪機出口溫度兩個參數來繪制二維圖形。

表1 推進器監測信號Tab.1 Monitored signals of the propulsion plant

為了模擬設計改進過程中因受限于時間和經費,僅能獲取系統部分運行狀態數據的情況,本文利用均勻抽樣提取了如表2所示的兩批訓練和測試數據。第一批數據用于模擬原有數據,第二批數據用于模擬新增加數據。

表2 訓練與測試用樣本集樣本數量Tab.2 Data size of the training and testing data

3.2 評價標準

對于BITE設計,故障檢測率(Fault Detection Rate,FDR)以及虛警率(Fault Alarm Rate,FAR)是常用評價指標[7]。在概念上,故障檢測率與查全率概念相似,用于衡量故障成功檢測的概率;虛警率可視為查準率的余集,表征了正常狀態被識別為故障狀態的概率。

為了與衡量不平衡數據分類效果的F測度相對應,定義如式(5)所示的損失函數,用于對故障檢測率和虛警率開展綜合衡量。

FL=γFAR+η(1-FDR)

(5)

式中,γ與η分別表示虛警和漏檢造成的損失。因為損失函數僅用來定量刻畫實際損失,γ與η不必具有實際意義,本文假設虛警和漏檢造成的損失相當,并且γ=η=2。

為了評價結果的客觀性,采用經典支持向量機(Support Vector Machine, SVM)方法開展故障診斷,未專門研究SVM改進算法改進,而是直接利用MATLAB 2010a軟件提供的svmtrain( )函數和svmclassify( )函數開展狀態分類,將函數設置高斯核函數,方差0.2,并選用序貫最小優化(Sequential Minimal Optimization, SMO)優化函數作為超平面分類函數。

3.3 性能評估

為了全面驗證所提方法有效性,設計兩個驗證案例:案例A用來驗證所提方法在處理數據不平衡方面的應用效果;案例B用來驗證基于樣本點的混合學習方法在分類器算法更新方面的應用效果。

3.3.1 案例A

Case1:首先利用2.2節所提方法擴大故障狀態樣本量,使故障狀態樣本量與正常狀態樣本量相同。然后利用2.1節所提方法對擴充后的故障樣本和原始正常樣本進行數據壓縮,并設定代表樣本集的容量限制為90~100。最后將處理后的代表樣本集作為訓練樣本。

Case2:首先利用2.1節所提方法對原始正常狀態樣本進行數據壓縮,然后和原始故障狀態樣本組成訓練樣本集。

Case3:首先利用2.2節所提數據擴充方法擴大故障狀態訓練樣本量,使故障狀態樣本量與正常狀態樣本量相當,然后和原始正常狀態樣本組成訓練樣本集。

Case4:不對原始訓練樣本進行任何處理,直接將其作為訓練樣本集。

利用上述4個不同訓練樣本集訓練得到SVM分類器之后,利用3.1節處理的第一批測試數據測試SVM分類效果。為了消除數據處理隨機性對分類測試效果的影響,利用一次數據處理結果重復開展了20次SVM訓練,并分別開展分類測試,分類效果評價標準的算術平均值如表3所示。

表3 案例A診斷分類平均結果Tab.3 Diagnosis results of scenario A

對比表中數據可知:①前3個示例訓練樣本集中正常狀態與故障狀態的樣本數量比分別為91 ∶90, 45 ∶40, 200 ∶226,從訓練樣本數量上看,三種方法都能較好地解決數據不平衡問題;②Case2的故障檢測率雖然與Case4接近,但虛警率明顯偏高,主要是由于Case2用于訓練的數據較少造成分類器識別效果不佳;③Case3的故障檢測率比Case4高出50%,同時虛警率也相對較低,主要是因為訓練樣本量較多,如果不考慮支持向量(Support Vector,SV)個數,可以認為Case3中的數據處理方法最佳;④Case1中故障檢測率比Case4提高了將近25%,虛警率也不高,并且與Case3相比,SV個數明顯較少;⑤綜合SV個數以及分類效果兩個評價指標,Case1中的雙向數據處理方法既提高了SVM分類準確度,SV的個數也得到了縮減,可以降低診斷算法對機內測試系統存儲容量的要求,縮短故障診斷時間。

另外,對比4個示例的F測度和損失函數值可知:損失函數不會因為某個單一因素的極端取值而得到極端結果(如Case4中FAR對F測度的影響),因此從故障診斷的角度出發,損失函數能比F測度更好地綜合反映故障漏檢和錯檢對裝備維修造成的損失。

綜上所述,由于評價標準不同,在處理具體問題時,是采用單側數據擴充或壓縮,還是采用雙側處理,需要根據實際情況具體判斷,但是無論采用何種處理方式,本文所提方法均能較好地解決數據不平衡問題。

3.3.2 案例B

Case1:利用案例A中Case4的支持向量和表2所列的第二批原始訓練數據更新SVM,該示例用于模擬簡單增量學習過程。

Case2:利用2.3節所提混合學習方法更新SVM,并將正常和故障狀態的代表樣本集容量分別設置為90~100。

Case3:將表2所列的兩批原始訓練樣本合并組成完整訓練樣本集,利用傳統的批量學習方法更新SVM。

案例B中Case2和Case3用到的訓練樣本集分別如圖1中原始樣本和代表樣本所示。從圖中可以看出原始數據的分布特征在代表樣本集中得到了較好的保留。

在更新SVM之后,利用表2所列的第二批測試數據驗證SVM更新效果。同樣,為了降低數據處理隨機過程對測試效果的影響,案例B也利用一次數據處理結果進行了20次訓練和測試,分類效果的算術平均值如表4所示。圖2直觀展示了Case1的原支持向量的分布情況。

(a) 正常狀態下原始樣本與代表樣本點特征分布(a) Distribution of raw data and delegates in normal state

(b) 故障狀態下原始樣本與代表樣本點特征分布(b) Distribution of raw data and delegates in fault state圖1 原始數據與代表樣本集分布情況Fig.1 Distribution of raw data and delegates set

表4案例B診斷分類平均效果
Tab.4 Diagnosis results of scenario B

Case1Case2Case3FDR0.65670.66980.6567FAR0.08330.00820.0833FL0.85320.67680.8532F測度0.13410.01600.1341SV個數469.00196.85465.00

(a) 原始樣本特征分布(a) Distribution of raw data

(b) 支持向量特征分布(b) Distribution of SVs圖2 Case1原支持向量與第一批原始樣本分布Fig.2 Distribution of the original SVs and the 1st batch raw data in Case1

比較表4和圖2數據可知:①除了少量故障狀態數據外,絕大部分原始訓練樣本都被處理為Case1的原始支持向量,因此可以認為Case1和Case3的訓練樣本幾乎相同,從而造成Case1和Case3的分類測試結果完全相同;②由于訓練樣本數量和分布空間的擴充,無論采用哪種方法,故障診斷系統的分類效果與案例A相比都得到了明顯提高;③無論是與Case1還是Case3相比,Case2在保持與Case1和Case3幾乎相同的故障檢測率的同時,虛警率有了明顯的下降,并且需要的支持向量數量也明顯減少。

4 結論

首先針對數據不平衡問題提出數據壓縮方法和數據擴充方法,其中基于密度的大樣本數據壓縮既能生成滿足樣本量要求的代表樣本集,又能保持較好的原始數據分布規律;基于人工免疫的小樣本數據擴充方法在豐富樣本數量及分布特征的同時,又有效降低了噪聲數據的引入。然后針對分類器更新訓練需求給出了一種新的增量式批量學習方法——基于樣本代表點的混合學習方法,既可以降低訓練樣本硬件存儲要求,又能縮短分類器更新訓練時間,同時保持較高的分類準確性。最后利用公開仿真數據驗證了所提方法的有效性。理論分析和仿真結果表明:所提方法可以有效支持基于數據的故障診斷算法更新,并且對其他領域的機器學習應用問題研究也有一定的借鑒意義。

猜你喜歡
訓練樣本故障診斷代表
詮釋代表初心 踐行人大使命
四季的代表
基于包絡解調原理的低轉速滾動軸承故障診斷
“代表通道”新觀察
這個代表咋這么拗
人工智能
數控機床電氣系統的故障診斷與維修
寬帶光譜成像系統最優訓練樣本選擇方法研究
基于稀疏重構的機載雷達訓練樣本挑選方法
因果圖定性分析法及其在故障診斷中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合