江勛林
(陸軍步兵學院, 南昌 330103)
柴油機是一個復雜的系統(tǒng), 其故障往往表現為多故障的強關聯耦合, 是機械故障診斷的技術難題[1].正是由于這種強關聯耦合, 表現為故障征兆的不確定性, 采用傳統(tǒng)的人工診斷或者一般的專家系統(tǒng)進行診斷, 往往效率不高而且出現誤判的概率較高. 人工神經網絡方法(ANN)和支持向量機(SVM)方法等智能診斷方法能較好地處理征兆與故障之間的復雜映射關系,更適合于多故障強關聯耦合的柴油機故障診斷問題[2,3].其中人工神經網絡可以構建出更復雜的映射關系, 卻需要更充分的訓練, 當樣本量少時會出“欠學習”現象,往往應用于大數據量的情況[4]. 在少樣本問題識別上,支持向量機在模型復雜度和學習能力上表現出更好的綜合性能, 效率更高, 泛化能力更強[5,6].
支持向量機理論簡單, 實用性很強, 被大量應用于模式識別問題中[7]. 然而, 支持向量機分類效果與其核函數參數的選擇存在強烈的關系, 不恰當的參數極可能導致不同的分類結果[8]. 采用啟發(fā)式優(yōu)化方法可以很好地提升支持向量機的分類性能[9]. 粒子群(PSO)算法是一種典型的啟發(fā)式智能搜索算法, 經過多年的發(fā)展, 具有較好的全局尋優(yōu)能力, 適合于支持向量機參數優(yōu)化這種多峰問題[10].
支持向量機本質上是通過核特征空間的非線性映射, 將低維的非線性特征映射為高維的線性特征. 然而這種復雜映射難于實現人們對分類的真正期望. 因此,只是將支持向量機的等效間隔距離作為目標是不夠的,而是應該從等效間隔距離、樣本分類誤差等多個方面同時尋優(yōu)[11]. 多目標優(yōu)化問題的求解需要采用多目標優(yōu)化算法進行求解, 常用的多目標優(yōu)化算法有MOPSO、NSGA-II、NPGA等[12]. 其中多目標粒子群優(yōu)化(MOPSO)是一種采用粒子群解決多目標優(yōu)化問題的非常經典的算法[13]. 該算法具有較高的收斂速率, 且能夠保證解分布的均勻性和寬廣性, 從而保證了最終解的多樣性, 是最常用于求解多目標問題的算法.
本文在分析支持向量機參數優(yōu)化對結果影響的基礎上, 選取負等效間隔距離、支持向量的數量、樣本的錯分率作為分類器的3個目標, 提出一種基于粒子群的多目標支持向量機, 并將其應用于少樣本的柴油機異響故障診斷問題中.
支持向量機不同的參數所獲得的最優(yōu)超平面大不相同. 如圖1所示, 該圖為一個三分類問題, 3個類別的數據以各自中心隨機分布的樣本. 在分類時都采用的是高斯徑向基核函數, 兩者采用的規(guī)則化參數C分別為800和500, 而兩者采用的徑向基函數系統(tǒng)方差δ分別為1和0.1. 其中, 圖中圈出來的樣本點為支持向量,底色表示最終分類的結果.
圖1 不同參數的分類結果
圖1顯示, 當參數取C=800, δ=1時, 支持向量較少, 而且支持向量主要集中在兩個類別的邊界附近, 分類邊界近似為直線; 當參數取C=500, δ=0.1時, 支持向量較多, 分布于每種類別的外圈, 分類邊界線為復雜的曲線. 從分類結果來看, 就第1組參數得到的分類結果更符合人們對分類期望.
為了能夠訓練獲得最佳的分類超平面, 需要特征樣本(即支持向量)具有一般代表性, 能夠均勻分布于樣本空間. 而事實上, 從上述三分類問題中可以看出,特征樣本與核函數及其參數的選取密切相關. 不恰當的參數選擇不可避免地會帶來“欠學習”或“過學習”現象, 上述問題的分類結果就是典型的“過學習”現象. 通常選取合適的支持向量機參數需要依靠研究人員的實踐經驗或者不斷嘗試, 這大大影響了工作效率. 因此,采取啟發(fā)式方法來優(yōu)化支持向量機參數的方法能較好地解決了這個問題.
傳統(tǒng)的支持向量機是基于等效間隔距離作為尋優(yōu)目標的, 本質上是對泛化能力和經驗誤差的加權, 力示達到結構風險最低[14]. 然而, 該分類模型并沒有考慮到數據樣本不充分、樣本分布不平衡的問題. 從前述三分類問題不難發(fā)現, 在少樣本分類問題中, 當樣本不能夠均衡分布在樣本空間中時, 特征樣本應更具有一般代表性, 應越少越好, 如圖1(a)所示.
在樣本空間中, 支持向量決定著整個分類超平面,體現著整個樣本集的分類特征. 支持向量的數量越多,分類邊界越細致, 但“過學習”的概率也越大, 如圖1(b)所示. 從分類的角度來看, 并不是支持向量越多, 分類器性能就越好, 而是支持向量在滿足分類超平面的基礎上,越少反而越好. 越少的支持向量說明越少的樣本能夠體現出分類特征, 對于最終的分類計算以及找出分類模式也是有好處的. 因此, 探尋最優(yōu)分類超平面的過程不僅僅是要等效間隔距離大, 也要支持向量的數量盡量地少.
同時在訓練集和測試集上的分類準確才是支持向量機的最終目標. 因此, 對樣本的分類錯誤率也應作為模型的尋優(yōu)目標[11].
綜上所述, 在采用支持向量機進行分類時, 找到最優(yōu)化超平面時的目標應該同時滿足:
(1) 負等效間隔距離(記為tobj) 盡量地小. 在進行支持向量機求解時, 原本的求分類間隔最大問題, 已經被轉換為求最小二次規(guī)劃的問題.
(2) 支持向量的數量(記為tnsv)盡量地少. 用更少的支持向量來支撐分類超平面, 更不容易產生“過學習”現象, 同時被選中為支持向量的個體更能體現出故障的模式.
(3) 對樣本的分類錯誤率(記為 terr)盡量地小, 也即要求支持向量機對樣本識別更加準確.
這樣, 在原先的單目標優(yōu)化的支持向量機就被轉換成了多目標支持向量機. 人們對分類問題的最終期望, 往往是在對這3個目標的協(xié)調權衡和折中處理后得到. 但首先需要使這些目標盡可能地達到最優(yōu), 由此可得到由若干個解組成的Pareto最優(yōu)解集[15].
多目標優(yōu)化問題是指含有兩個或兩個以上的目標需要同時進行優(yōu)化的問題[16]. 在多目標優(yōu)化問題中, 約束條件會對目標產生嚴重的影響. 在求解多目標優(yōu)化問題時,多個目標之間往往是相互排斥的. 不失一般性, 含n個決策變量, m個目標變量的多目標優(yōu)化問題可以表述為:
其中, x =(x1,x2,···,xn)為 n維的決策向量, F (x)為m維的由目標函數構成的目標向量. 在多目標支持向量機問題中, 決策變量有3個, 分別為規(guī)則化參數C, 徑向基函數系統(tǒng)方差δ和順序最小化算法時梯度容忍系數ε, 即決策向量 x=(C,δ,ε). 目標變量也有3個, 分別為負等效間隔距離tobj, 支持向量數量tnsv, 以及錯分率terr,即目標向量 F (x)=(tobj,tnsv,terr).
MOPSO算法的尋優(yōu)過程與粒子群算法一樣, 通過調整速度和粒子位置來實現全局尋優(yōu). 粒子的運動過程中同時向自身歷史最優(yōu)pi和全局最優(yōu)g學習, 并不斷更新速度以及位置:
采用精英保留策略, 需要構建兩個種群, 分別是內部種群和外部種群, 其中內部種群是固定的, 而外部種群是變化的. 在迭代過程中, MOPSO從內部種群中選取一部分精英個體, 加入到外部種群中. 而在外部種群中, 又依據Pareto支配關系保證解的最優(yōu)性. 當且僅當:
則稱 xA支配 xB, 記為 xA? xB. 外部種群中的個體一旦被新的個體支配, 其將從種群中排除. 所以外部種群的個體就是當前時刻的非劣解, 或者叫Pareto最優(yōu)解. 因此,當迭代到終止條件時, 只需要取出外部種群即可得到問題的最優(yōu)解集.
如圖2所示, 種群在開始進化時, 盡量地均勻分布在整個變量空間內, 以便更多地發(fā)現局部“深谷”, 這種能力即為算法的全局尋優(yōu)能力. 但是當算法迭代到一定程度后, 內部種群會集中在某些局部區(qū)域進行局部尋優(yōu). 局部尋優(yōu)不利于全局尋優(yōu), 因此需要在迭代一定次后重啟內部種群部分個體, 這里設定為每隔50次迭代后重啟10%的個體.
個體在尋優(yōu)過程中需要向自身最優(yōu)和全局最優(yōu)學習, 學習因子的大小決定了學習速率的快慢, 也決定了算法進行全局尋優(yōu)和局部尋優(yōu)的能力差異. 這里采用動態(tài)學習因子策略, 即:
其中, k為當前迭代次數, K為最大迭代次數, cmax=2,cmin=1. 不難看出, 開始時學習因子較大, 加快算法收斂, 而到后面學習因子變小, 有利于算法拓展新的區(qū)域進行全局尋優(yōu).
同時, 為了保證解空間的均勻性和寬廣性, 在保證新解不被支配的基礎上, 設定外部種群的最大數量, 然后基于目標空間擁擠距離來淘汰外部種群中的個體.具體做法是當外部種群的個體數超過設定的最大數量時, 找出種群中密度距離最小的一個, 并將其排除, 從而維持均衡的外部種群. 基于以上分析, 得到算法1.
算法1. 基于粒子群的多目標支持向量機1 Initialize xi, vi of the population 2 calculate the objective value ti =( tobj, tnsv, terr)i of each particle xi 3 for i=1 to N do 4 for j=1 to Nnp do 5 if xi ?xj (np) then remove xj (np) from the non-dominated population 6 if xj (np) ?xi then break 7 if xi is not dominated then add to the non-dominated population 8 while iteration 28 if xi is not dominated then add to the non-dominated population 29 update the non-dominated population to keep it in a certain size 30 output the non-dominated population and their objective values 將算法1應用于前文所述的三分類問題中, 實驗時采用徑向基函數作為核函數, 內部種群大小設定為15, 外部種群大小為50. 為了更加直觀, 達到更好的計算效率, 精簡問題目標為F (x)=(tobj,tnsv). 最后得到Pareto前沿如圖3所示. 可以看出, 在該問題中為了支撐三分類的分類線, 支持向量最少的數量為5個, 而最多的數量為41個, 當然也不排除一些被支配的解. 最大的目標值為-500, 最小的目標值為-2 836.27. 該問題最終得到的Pareto前沿較為平滑, 分布也較為均勻, 說明該非支配解集具有一定的代表性. 圖3 三分類問題Pareto前沿 柴油機在正常工況下, 也會發(fā)出有節(jié)奏的聲響, 但是其聲響與產生故障時的聲響不一樣. 有經驗的技術人員可以通過聲響的節(jié)奏、音色、負荷、溫度以及潤滑等情況對發(fā)動機異響故障進行診斷. 因此, 在對其進行故障診斷時, 首先得確定其特征指標. 當柴油發(fā)動機發(fā)生異響時, 其產生異響可能來源于某個具體部位, 這些異響故障和正常聲響構成了一個柴油機異響故障決策集合{曲軸主軸承響、連桿軸承響、活塞銷響、活塞敲缸響、氣門響、汽缸的漏氣異響、正時齒輪響}, 將其標記為D={F1, F2, F3, F4,F5, F6, F7}. 如表1所示, 為了快速定位故障, 可以從異響節(jié)奏、響聲音色、怠速時聲響等12個方面進行診斷. 而這12個方面故障現象, 可以認為是柴油機不同異響來源的征兆, 從而構成了故障特征集合, 記為S, 其中每種故障特征又包含多個特征現象. 表1 故障特征指標 由于以上特征指標都是定性描述的, 因此需要對其采用模糊隸屬關系進行量化, 將這種隸屬關系離散化為μ={0.1, 0.3, 0.5, 0.7, 0.9}. 0.1表示不存在現象或減弱等, 0.9表示存在現象或增強, 而0.5表示介于兩種現象之間或無現象變化等. 數值大小表示趨向于某一現象的嚴重程度. 當特征指標只包含2項時, 則從{0.1, 0.9}中選取隸屬度值, 這些故障特征有{S1, S6, S9, S11, S12}; 當特征指標包含3項時, 則從{0.1, 0.5, 0.9}中選取隸屬度值,這些故障特征有{S2, S5, S7, S8, S10}; 但是故障特征S3例外, 其從{0.1, 0.3, 0.9}中選取隸屬度值; 而故障特征S4包含5項, 則需要從{0.1, 0.3, 0.5, 0.7, 0.9}選取隸屬度值. 采用這種不是精確的0.1和0.9來表示0和1的方法可以更容易實現模糊關系的轉換. 然而這些故障現象信息是通過歷史經驗總結得到, 大量信息是不確定的. 比如當正時齒輪故障產生異響時,異響可能有節(jié)奏, 也可能沒有. 而且信息的收集也并不能保證所有信息都能夠收集完備, 這種情況也可以當作不確定性信息, 在處理時采用模糊處理方式, 隨機從給定序列中取值. 最后, 得到柴油發(fā)動機產生異響時故障特征隸屬度矩陣(見表2). 其中, “—”表示信息不完備,即產生該故障時并不清楚是否產生對應的故障特征. 表2 故障特征隸屬度矩陣 在獲取的柴油機異響故障征兆信息表中包含不確定信息. 如果通過屬性約簡的方式, 可以提取一系列規(guī)則, 從而達到診斷故障的目的. 但是, 這就會導致一些非規(guī)則信息無法處理. 例如異響節(jié)奏屬性, 通過約簡后就會排除“無節(jié)奏”這一項, 因為其只在不確定性信息中存在, 而當異響產生且無節(jié)奏時, 現有的規(guī)則將無法判別. 因此, 需要采用蒙特卡羅模擬的方法可以得到一個確定的集合. 由于信息是離散化的, 在隨機模擬時產生相同信息的可能性很大, 在狀態(tài)識別前需要對這些信息進行整合得到有效集. 模擬仿真時以原樣本集仿真100次,對重復信息整合, 最后再將得到的信息集隨機分成兩個集合, 分別進行訓練和測試, 得到209個有效集, 其中125個用于訓練, 84個用于測試. 在柴油機異響故障診斷問題中, 問題本身的不確定導致了部分訓練樣本并不可信, 或者說是實際不存在的, 但是又不清楚哪些信息不可信. 由于信息的不確定性, 雖然能過核函數的映射, 在高維空間中樣本點之間不可分情況也大量存在. 因此, 需要對向量機的參數進行優(yōu)化, 而且優(yōu)化目標需要考慮分類器的錯分率. 綜上所述, 該多目標支持向量包含以下3個目標: 負等效間隔距離tobj, 支持向量數量tnsv, 錯分率terr. 需要說明的是, 在廣義線性可分的情況下, terr與 tobj是一致的. 采用多目標支持向量機對該問題求解. 求解時采用徑向基函數作為核函數, 內部種群大小設定為15, 外部種群大小為50, 自身歷史最優(yōu)數量最大為5, 采用定期重啟和動態(tài)學習因子. 最后得到非劣解集如表3所示, 共包含46個非劣解. 根據支持向量機的原理, 在廣義線性可分的情況下, terr與 tobj是一致的. 但是從表3中的結果來看, 負等效間隔距離tobj最小的為序號1的解, 值為-3 890, 而它對應的錯分率terr為 19.2%, terr的 值并沒有隨著tobj減小而減小, 說明該問題實現不了廣義線性完全可分. 而且,解1的支持向量達到24個, 是解46 (tnsv=11)的2倍多, 說明其已經出現了“過學習”問題, 很明顯不是最優(yōu)解. 如果不進行參數優(yōu)化, 用支持向量機對該問題進行求解, 得到結果可能是表3中的任一個解, 顯然不是最優(yōu)的. 如果以tobj、 terr或 tnsv中 的某一個作為目標進行優(yōu)化, 得到的也并不一定是最優(yōu)的. 表3 非劣解集的目標值 采用多目標支持向量機, 既可以排除人為設定參數時需要依靠經驗的風險, 也可以排除單一目標產生“過學習”的風險. 多目標支持向量機基于目標互不支配的思想產生一系列解, 至于哪個解是需要的, 可以根據人的偏好來確定. 模糊綜合評判法[17]具有結果清晰, 系統(tǒng)性強的特點, 能較好地解決模糊的、難以量化的問題, 適合于上述這種非確定性問題的評判. 最后, 采用模糊綜合評判法從結果集中篩選出期望的綜合最優(yōu)解. 在該問題中, 由于測試集的存在, 所以在最佳的評判時需要考慮測試的情況, 而且還應考慮“過學習”的情況. 因此評價指標要比原問題要多, 可以定為以下指標: 負等效分類間隔u1、訓練樣本錯分率u2、訓練集分類間隔u3、測試樣本錯分率u4、測試集分類間隔u5、“過學習”情況u6等. 從而得到因素集U={u1,u2,u3,u4,u5,u6}. 其中分類間隔u1采用式(6)計算: u5參照式(6)計算, 而“過學習”情況u6可以通過訓練集和測試集的錯分情況對比得到: 因素集與評判集之間的關系可以通過隸屬度函數[17]計算. 因素{u2, u5} 采用正相關的隸屬函數, 因素{u1, u3, u4, u6}采用負相關的隸屬函數. 計算各因素的隸屬度值, 得到模糊關系矩陣 R =(rij)6×46. 再采用加權平均模型M(·, ⊕)評價最優(yōu)解. 加權的時候突出錯分率指標, 確定權重系數為: 再根據式(8)計算得到綜合評判指標如表4所示. 表4 綜合評判指標 根據上述綜合評判指標, 第43個解為綜合最優(yōu)解(如圖4所示), 其對應的支持向量機參數(C, δ, ε)為(792.5, 10.43, 0.571 3), 其對應的3個目標值分別為: 負等效間隔距離 tobj=-1304, 支持向量數量tnsv=16, 訓練集錯分率terr=0.032. 該分類器對測試集的錯分率也只有0.0357. 綜合對比發(fā)現, 該解的錯分率以及等效分類間隔在訓練集和測試集上都是最好的. 說明采用該組參數的支持向量機不僅具有較高的正確識別率, 而且結構風險最低, 達到了最佳的分類期望. 圖4 柴油機異響故障問題非劣解集及綜合最優(yōu)解 在綜合評判指標中, 次綜合最優(yōu)解為第42個解,當u1得到的權重調整為0.2時, 該解將成為綜合最優(yōu)解. 因此, 當人們的期望不同時, 可以適當調整評判權重, 即可篩選出期望的綜合最優(yōu)解. 圖5所示為分類器的迭代性能曲線. 從圖中的在線性能曲線可以看出, 算法開始迭代后能快速收斂, 并很快脫離局部最優(yōu)點展開全局尋優(yōu). 從離線性能曲線可以看出, 算法大約在迭代至150次后找到全局最優(yōu),并不再收斂. 綜合來看, 算法針對此類問題收斂速度較快, 且有效避免了局部陷阱, 工作效率高. 圖5 分類器迭代性能曲線 支持向量機作為當前最好的分類工具之一, 在少樣本、非線性問題上表現出了許多優(yōu)勢, 在故障診斷、模式識別等多個領域具有廣泛的應用. 然而, 不恰當的參數選擇就如同給機器下錯了“指令”, 往往得不到最好的結果. 啟發(fā)式優(yōu)化算法的引入, 可以快速找到支持向量機的最佳參數. 但是單純以等效間隔距離為目標的尋優(yōu)方法,但是也可能導致結構風險增加, 從而發(fā)生“欠學習”或“過學習”現象. 使用多目標粒子群算法對其優(yōu)化, 能得到一系列均衡分布的非支配解集, 擴大了目標范圍, 從而降低了結構風險. 柴油機異響故障診斷問題表明, 該方法能夠快速收斂, 并得到一系列非劣解, 有效解決少樣本、不完備或不確定故障征兆問題, 通過綜合評判方法篩選得到的綜合最優(yōu)解更符合人們的期望.4 柴油機異響故障診斷
4.1 特征指標的確定
4.2 故障狀態(tài)識別
4.3 綜合最優(yōu)解篩選
5 結論與展望