汪 猛,胡以懷,曾 存,方云虎,張 陳,王 東
(1.上海海事大學商船學院,上海 201306;2.招商局金陵鼎衡船舶(揚州)有限公司,江蘇揚州 225217)
柴油機是船舶的核心設備。據統計,在船舶機艙設備中,主機系統仍然是事故發生率最高的設備,主機(柴油機和廢氣渦輪增壓器)各部件的損傷占機損事故的35%~45%[1]。柴油機系統的故障診斷可以極大地提高維修效率,降低維修成本,保護生命和財產安全,所以研究船舶的故障診斷具有深遠的意義。由于大型船用二沖程柴油機故障數據很難通過實驗方法獲得[2],目前對柴油機的性能故障診斷都是利用熱工參數,但柴油機熱工參數不僅受多種性能故障的影響,柴油機還與運行工況有關。
隨著機器學習算法在工程領域的應用與發展,越來越受到眾多學者的重視,在船舶故障診斷領域也進行了大量的研究。曾存等[3]采用交叉驗證方法對SVM進行了模型參數的尋優,并且應用于船用低速柴油機換氣系統的故障診斷,采用SVM對模擬參數進行分類識別,將分類效果與基于BP神經網絡的故障檢測效果相比,驗證了在小樣本數據條件下SVM分類效果優于BP神經網絡;張茜等[4]提出了遺傳算法對SVM參數進行尋優,將其應用于船舶機艙火災溫度的快速預測,采用GA-SVM比SVM和BP神經網絡模型預測效果優異,但樣本的特征參數較少,使GA-SVM的優越性表現有局限性;楊遠達[5]運用了網格搜索算法和粒子群算法優化SVM參數,然后應用于船舶輔鍋爐中,經過參數優化的SVM故障診斷模型比未優化的參數支持SVM性能表現更佳,但是沒有進行不同運行工況下船舶輔鍋爐的故障診斷,忽略運行工況的影響,缺乏一定的說服力。本文主要研究對船舶柴油機增壓換氣系統的故障類型進行識別分類,對于上述所提到的近年來利用SVM在船舶領域研究來看,關鍵在于選擇適當的SVM模型,而SVM模型的參數尋優又是重中之重,所以對于復雜且故障頻發的增壓換氣系統,選擇何種方法對SVM模型的參數進行優化,對最終的分類效果取到至關重要的作用。在這里提出4種方法來進行SVM模型參數尋優并進行對比分析,為船用柴油機故障診斷方法的推廣應用提供參考。
本文以船用二沖程柴油機增壓換氣系統為例,在Matlab∕Simulink中搭建該系統的平均值熱力學模擬計算模型[6],運用模型對不同工況下主要性能故障進行了模擬計算獲得故障診斷的訓練樣本。最后采用支持向量機對柴油機增壓換氣系統模擬參數進行識別分類,為柴油機故障診斷提供訓練樣本和趨勢分析。本文提出了利用熱工參數的相對偏差進行標準建模,在診斷分析之前先對各運行工況下的熱工參數相對偏差進行歸一化處理的方法,使不同工況的相對偏差統一在相同的尺度下,可以克服運行工況對柴油機性能故障診斷的影響。
支持向量機(Support Vector Machine,SVM)是一種基于統計學習理論的模式識別方法[7],在解決小樣本、非線性及高維模式識別問題中表現出特有的優勢[8]。SVM包含兩類分類和多類分類。本文把換氣系統的故障診斷歸為兩類分類問題,1代表正常狀態,-1代表故障狀態。SVM方法是從線性可分情況下的最優分類超平面提出的,對于n個樣本的訓練集能被一個超平面H:w·x+b=0有效地分開,并且離超平面最近的向量與超平面之間的距離是最大的,該超平面就稱為最優超平面[9]。如圖1所示,實心點和空心點分別代表兩類樣本。
圖1 支持向量機最優超平面Fig.1 Schematic diagram of optimal hyperplane for support vector machines
定義兩個標準超平面:H1:w·x+b=-1和H2:w·x+b=1,其中H1和H2分別為過各類中離分類超平面最近的樣本且平行于分類超平面的平面,它們之間的距離就是分類間隔[10]。則H1到分類超平面H:w·x+b=0的距離為 |w·x+b|∕‖w‖,H1與H2之間的距離為2∕‖w‖。使間隔最大等價于使‖w‖(或‖w‖2)最小[11],并且保證H1與H2之間沒有樣本存在,即訓練集D中所有的n個樣本(xi,yi)都應該滿足:
由上述可知,在線性可分的條件下,構造最優超平面的問題可以轉化為求解如下式的最值問題:
式(2)為一個凸二次規劃問題,可以定義如下拉格朗日函數將其轉化為對偶問題處理,即:
式(3)中αi≥0,為拉格朗日乘子,分別對w和b求偏導,可求得:
將式(4)代入到式(3),可得優化函數ψ(α):
根據對偶理論,構建最優超平面的問題就可以轉化成一個對偶二次規劃問題:
由序列最小優化算法(SMO),可以求解出α*,然后代入求出最優的w*。根據KKT條件,該優化問題還必須滿足:
將不為零的α*代入到式(7)中,可以求得分類閾值b*。
求解上述問題后得到最優的分類函數為:
對于線性不可分軟間隔情況,需要引入非負松弛變量,式(3)問題就轉變為:
式中:ξi≥0,為引入的非負松弛變量;C(C≥0)為懲罰因子[4]。
為了避免在高維特征空間進行復雜的運算,還需要引入核函數,式(6)就轉換成如下式對偶二次規劃問題:
本文選用Matlab中的Libsvm工具箱對模擬故障數據進行訓練,其核函數選擇RBF函數,即:
式中:K(xi,xj)為引入核函數。
本文以自動化機艙實驗室MAN B&W 6S35ME-B9型船用二沖程低速柴油機為模擬對象,將柴油機增壓換氣系統劃分為空氣濾器、壓氣機、中冷器、掃氣箱、缸內燃燒、排氣管及渦輪,利用Matlab∕Simulink建立系統主要模塊的熱力學模型。在自動化機艙記錄柴油機在25%、50%、75%、90%工況下的轉速、功率、機艙溫度、增壓器轉速等熱工參數,與模擬計算結果對比分析表明,除少數參數外大部分實測參數與仿真模型計算參數的誤差在5%以內,說明所建立的柴油機模型的溫度、壓力、轉速、燃油消耗率等熱工參數可基本反映柴油機不同工況的熱工參數的變化,證明所建立的仿真模型基本正確。基于上述柴油機熱力學模型,通過改變模型參數來模擬增壓換氣系統的一些典型故障[11],并獲得不同故障狀態的熱工參數。本文針對機艙溫度過高、空氣濾器臟堵、中冷器水側污垢、中冷器冷卻水溫過高、掃氣口臟堵、增壓器軸承磨損、渦輪排氣道臟堵等典型故障進行模擬,表1所示為不同性能故障的模型參數設置和各熱工參數的變化情況。表中Tcin、l∕d、e、Tw、hv、hm、Pb分別表示環境溫度、濾網長徑比、冷卻系數、冷卻水溫度、充氣系數、渦輪轉子機械效率、渦輪背壓。
表1 柴油機不同故障下熱工參數設置Tab.1 Setting of thermal parameters of diesel engine under different failures
不同故障和不同運行工況下的柴油機熱工參數的相對偏差:
式中:δ為熱工參數相對偏差;x為故障工況下熱工參數;x0為正常工況下的熱工參數。
研究表明,熱工參數的相對偏差可以很好地揭示柴油機增壓換氣系統不同的性能故障,盡管不同的運行工況下各參數相對偏差變化程度不一樣,但各偏差值之間的相互關系還是比較確定的,受運行工況的影響較小。
用支持向量機作分類時,由于懲罰因子c和核函數參數g對分類效果影響較大[12],選擇合適的c和g直接關系到SVM模型分類的準確率。現有常用的參數尋優方式主要有交叉驗證方法(K-CV)、粒子群算法(PSO)、網格搜索算法(GR)、遺傳算法(GA)這4種常用方法,具體算法見有關資料,這里不再贅述。本文選取這4種方式分別對仿真數據進行訓練來尋找最佳的參數(c,g),提高支持向量機對樣本分類的準確性。7種典型故障在不同運行工況下部分熱工參數的相對偏差數據樣本,部分樣本數據相對偏差如表2所示。
表2 部分故障樣本數據相對偏差Tab.2 Relativedeviation of partial fault sampledata
分別對表1中提到的7種故障類型的參數樣本進行參數選優和SVM分類,基于4種算法尋優后SVM對各故障類型樣本分類準確率對比如表3~9所示。
表3 機艙溫度過高故障樣本分類效果Tab.3 Classification effect of failure samples with excessivecabin temperature
表4 空氣濾器臟堵故障樣本分類效果Tab.4 Classification effect of air filter foulingfailuresamples
表5 中冷器水側污垢故障樣本分類效果Tab.5 Classification effect of dirt failure samples at the water sideof theintercooler
表6 中冷器冷卻水溫過高故障樣本分類效果Tab.6 Classification effect of failure samples with excessive cooling water temperature of intercooler
表7 掃氣口臟堵故障樣本分類效果Tab.7 Classification effect of scavenging port dirty plugging failure samples
表8 增壓器磨損故障樣本分類效果Tab.8 Classification effect of supercharger wear failure sampleclassification effect
表9 渦輪排氣道臟堵故障樣本分類效果Tab.9 Classification effect of turbineexhaust duct fouling fault samples
可以看出,交叉驗證和網格搜索算法總體上還是比較穩定的,準確率也相對較高。雖然在個別故障情況下,粒子群算法和遺傳算法尋優后SVM故障數據分類準確率也能達到與交叉驗證和網格搜索算法參數尋優的準確率,但是由于前兩者尋優的參數對比,懲罰因子c與核函數參數g相對較大,懲罰因子c較大,會出現過學習的情況,從經驗來看,選擇c、g較小的參數值比較合理。所以在這種情況下,優先考慮交叉驗證方法和網格搜索算法來對船用柴油機增壓換氣系統進行支持向量機的故障診斷。鑒于網格搜索算法的基本原理是讓懲罰因子c和核函數參數g在一定范圍內劃分網格,并且遍歷了在搜索范圍內的所有參數組合,搜索到最優參數,對于較小樣本數據的識別預測有較好的優勢,比較適合本文的研究內容,并能為下一步改進的網格搜索算法在SVM故障診斷中的應用提供保障。
以中冷器水側污垢故障為例,利用傳統的交叉驗證方法、網格搜索算法、粒子群算法和遺傳算法尋優結果和驗證效果如圖2~5所示。從各方法尋優結果圖看出,不同的尋優方法得到的c和g各異,比較使用各方法得到得訓練效果準確度,交叉驗證和網格搜索算法的訓練準確度達90.909 1%,要高于粒子群算法和遺傳算法訓練準確度的81.818 2%;利用這4種方法尋優等到的c和g,得到4個SVM模型,采用樣本空間的測試集法,比較各方法驗證效果圖可以看出,使用網格搜索算法的驗證效果達到100%,要高于基于交叉驗證方法的驗證效果的90%,粒子群算法和遺傳算法的驗證效果80%和60%。可見本文提出的熱工參數相對偏差,在經過歸一化處理之后,可以充分利用不同性能故障下各熱工參數的相對偏差關系。再利用支持向量機方法進行柴油機增壓換氣系統的故障診斷,充分考慮柴油機不同運行工況下熱工參數的變化,可有效地解決了柴油機不同運行工況下性能的故障診斷問題。
圖2 基于交叉驗證方法優化的SVM的故障診斷Fig.2 Failure diagnosis of SVM optimized by cross validation method
圖4 基于粒子群算法優化的SVM的故障診斷Fig.4 Failure diagnosis of SVM optimized by particle swarm optimization algorithm
圖5 基于遺傳算法優化的SVM的故障診斷Fig.5 Failurediagnosisof SVM based on genetic algorithmoptimization
通過前文的分析,肯定了通過網格搜索算法優化SVM用于船用柴油機換氣系統的故障診斷,但是根據圖3(a)(b)可以看出,基于傳統網格搜索算法進行的參數尋優,懲罰因子c和核函數參數g在一定的區間上對應的分類準確率較高,達到了90.909 1%,但是絕大部分范圍內的分類準確率卻相當的低,而且用時相對較長。為了實現對本文中提到的7種柴油機增壓換氣系統典型故障的故障診斷,使SVM模型的參數尋優結果最佳,尋優過程耗時最短,在這里提出一種對傳統網格搜索算法尋優的改進思路。首先,使用交叉驗證的方法,選擇c的初始范圍為[2-10,210],g的初始范圍也設置為[2-10,210],采用的K-CV方法對訓練樣本進行測試,此時的K選擇為3,得到此時準確率最高的(c,g);然后以這組(c,g)為區間搜索中心,在其附近選擇一個小區間,在這個小范圍內若采用越小步長,搜索的精確率理論上也越高,相應的耗時也將會非常長,但鑒于本文的樣本數據較少,本章節提出的改進方法僅需要證明優于傳統網格搜索算法優化SVM對換氣系統的故障診斷即可,所以沒必要選擇非常小的步長,而且為了提高改進后的網格搜索算法尋優效果與采用傳統的網格搜索算法尋優效果對比的嚴謹性,故采用與傳統網格搜索算法中相同的中等步長(即步長為0.1),以此進行二次精確尋優。改進后的網格搜索算法和傳統的網格搜索算法尋優效果對比如表10所示。
圖3 基于網格搜索算法優化的SVM的故障診斷Fig.3 Failurediagnosisof SVMbased on grid search algorithmoptimization
表10 兩種網格搜索算法尋優效果對比Tab.10 Comparison of optimization resultsof thetwogrid search algorithms
通過以上的尋優效果對比得出,傳統的網格搜索算法雖然能夠得到較高的準確率,但是耗時相比于改進后的網格搜索算法較長,將近3倍左右,而且改進后的網格搜索算法優化SVM應用于船用柴油機換氣系統的故障診斷中分類準確率也較高,與傳統的網格搜索算法優化的SVM分類準確率相差不大,但是對于船用柴油機換氣系統這種復雜且特殊的裝備,故障診斷的研究就顯得很有意義,而進行故障診斷所需的時間就尤為重要,所以本文提出改進的網格搜索算法可以滿足柴油機換氣系統故障診斷對時間的要求。
本文利用柴油機熱工參數的相對偏差可以較好地反映增壓換氣系統主要性能故障的特征,經過歸一化處理后可以消除柴油機運行工況對熱工參數不同運行工況下柴油機的影響,得出如下結論:
(1)支持向量機診斷方法,基于網格搜索算法優化的SVM分類效果比交叉驗證方法、粒子群算法和遺傳算法相比更為優異;
(2)本文選擇對傳統的網格搜索算法提出改進,結果顯示改進的網格搜索算法優化SVM對柴油機換氣系統進行故障診斷準確率較高,與傳統的網格搜索算法相差不大,但是大幅度減少了尋優時間,能滿足船舶柴油機換氣系統對時間的要求;
(3)雖然有些不同工況的樣本分類準確率沒有達到100%,但是總體上可以驗證支持向量機在不同運行工況下故障診斷的有效性,可以克服柴油機運行不同工況下故障診斷的標準建模困難。