馬立玲,郭凱杰,王軍政
(北京理工大學(xué) 自動(dòng)化學(xué)院,北京 100081)
車輛傳動(dòng)系統(tǒng)屬于整車系統(tǒng)中關(guān)鍵組成部分. 在車輛運(yùn)行過(guò)程中車載監(jiān)控系統(tǒng)會(huì)采集、存儲(chǔ)大量用于監(jiān)測(cè)實(shí)車運(yùn)行過(guò)程的數(shù)據(jù),對(duì)傳動(dòng)系統(tǒng)進(jìn)行故障分類和性能評(píng)估. 但是這些數(shù)據(jù)具有數(shù)據(jù)量大、維度高、不平衡等特征,使得很多傳統(tǒng)的數(shù)據(jù)分析方法無(wú)法滿足其需要.
支持向量機(jī)(SVM)是一種基于VC維理論和統(tǒng)計(jì)學(xué)習(xí)中結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理的機(jī)器學(xué)習(xí)方法. 與神經(jīng)網(wǎng)絡(luò)等傳統(tǒng)方法相比,處理小樣本、高維數(shù)和局部最小值時(shí)效果更好.
但是,在處理實(shí)際數(shù)據(jù)集的過(guò)程中,傳統(tǒng)的SVM算法也存在一些問(wèn)題. 首先,SVM[1-3]算法對(duì)數(shù)據(jù)集中的噪聲、野點(diǎn)和正常樣本賦予相同的權(quán)重,從而顯著降低SVM分類結(jié)果的準(zhǔn)確性. 此外,大量的實(shí)際數(shù)據(jù)集在樣本大小上是不平衡的,在這種情況下,機(jī)器學(xué)習(xí)分類器來(lái)自大的負(fù)(無(wú)關(guān))樣本,尋找少量陽(yáng)性(相關(guān))樣本. 傳統(tǒng)的SVM算法通常受到優(yōu)勢(shì)類數(shù)量的偏差,因?yàn)樗鼈兊膿p失函數(shù)試圖優(yōu)化相關(guān)性的數(shù)量,例如錯(cuò)誤率,而沒(méi)有將數(shù)據(jù)分布納入考慮范圍內(nèi),甚至忽略少數(shù)類樣本,從而造成傳統(tǒng) SVM的性能大大下降. 出于這個(gè)原因,許多研究人員提出了改進(jìn)的方法. Lin等[4]提出了模糊支持向量機(jī)(FSVM)算法,結(jié)合了模糊數(shù)學(xué)的理論,根據(jù)樣本數(shù)據(jù)到該類中心的距離遠(yuǎn)近,分配給每個(gè)訓(xùn)練樣本不同的權(quán)值,減少了噪聲和野點(diǎn)對(duì)分類器性能的影響. 同樣,張炤等[5]使用內(nèi)核方法在內(nèi)核空間中實(shí)現(xiàn)FSVM算法;Jiang等[6]提出了一種基于樣本之間緊密度的FSVM算法. 為了解決數(shù)據(jù)集不平衡的問(wèn)題,Hui等[7]將SVM算法與欠采樣或過(guò)采樣技術(shù)相結(jié)合,以平衡正負(fù)類的采樣率. Chang等[8]通過(guò)為正樣本和負(fù)樣本分配不同的誤差成本(DEC)來(lái)減少不平衡數(shù)據(jù)對(duì)SVM算法的影響. 該算法不僅給出了具有不同懲罰因子的正樣本和負(fù)樣本,而且還為約束添加了新的參數(shù),使分類表面更加靈活,提高算法的準(zhǔn)確性.
然而,用SVM進(jìn)行車輛故障分類時(shí),仍然存在一些問(wèn)題:①單純用一種SVM改進(jìn)算法無(wú)法同時(shí)有效地處理噪聲點(diǎn)和數(shù)據(jù)集不平衡的問(wèn)題;②FSVM算法在設(shè)計(jì)模糊隸屬度時(shí)使用歐氏距離,并且均等地處理樣本的不同屬性之間的差異;③傳統(tǒng)SVM僅僅輸出的是故障類別,無(wú)法輸出正常狀態(tài)下的故障概率,從而做出故障預(yù)警及性能評(píng)估. 針對(duì)以上問(wèn)題,本文提出了統(tǒng)一的解決辦法. 相比傳統(tǒng)的SVM算法優(yōu)點(diǎn)在于:①能夠有效處理數(shù)據(jù)不平衡問(wèn)題;②使用馬氏距離代替歐氏距離來(lái)設(shè)計(jì)模糊隸屬度,消除變量相關(guān)的干擾;③增加了正常狀態(tài)下的故障概率輸出模型,便于后續(xù)進(jìn)行車輛傳動(dòng)系統(tǒng)的故障預(yù)警和性能分析.
傳統(tǒng)的SVM 算法認(rèn)為,每一個(gè)樣本的重要性是相同的,算法分配給每一個(gè)樣本相同的權(quán)值. 給定訓(xùn)練集(X,T)={(xi,ti),i=1,2,…,l},其中xi為樣本,ti為樣本xi的標(biāo)簽;引入非線性映射φ(x),將訓(xùn)練集映入高維空間(φ(X),T)={(φ(xi),ti),i=1,2,…,l};選取適當(dāng)?shù)暮撕瘮?shù)K(x,y)=φ(x)Tφ(y);引入松弛變量ξi≥0,i=1,2,…,l. 標(biāo)準(zhǔn)支持向量機(jī)的一般形式可表示為
ti[ωTφ(xi)+b]≥1-ξi,
ξi≥0,i=1,2,…,l.
(1)
但在車輛傳動(dòng)系統(tǒng)試驗(yàn)數(shù)據(jù)集這樣的不平衡數(shù)據(jù)集中,如果給予正負(fù)類樣本同樣的權(quán)值,分類結(jié)果通常偏向于多數(shù)類,并且通常會(huì)忽略一些少數(shù)類,將其作為多數(shù)類的異常. 為此,DEC算法可以通過(guò)為較小的類分配較大的權(quán)重而為多數(shù)類分配較小的權(quán)重有效地減少不平衡對(duì)SVM算法的影響. 在式(1)中,假設(shè)前p個(gè)樣本是正類樣本,后l-p個(gè)樣本是負(fù)類樣本. 則變?yōu)橐韵虏黄胶釹VM的一般形式
ti[ωTφ(xi)+b]≥1-ξi,ξi≥0,i=1,2,…,l.
(2)
式中:C+和C-分別為陽(yáng)性和陰性樣本的懲罰因子,并提出了一系列方法選擇陽(yáng)性和陰性樣本的懲罰因子的比例. 文獻(xiàn)[9]將C+/C-設(shè)置為多數(shù)類與少數(shù)類樣本個(gè)數(shù)的比值,文獻(xiàn)[10]則搜索包含高維空間中正負(fù)樣本的所有樣本點(diǎn)的超球面,并比較兩個(gè)球體的半徑. 兩相比較,計(jì)算所有樣本點(diǎn)超平面的方法時(shí)間復(fù)雜度較高,而車輛傳動(dòng)系統(tǒng)試驗(yàn)數(shù)據(jù)不同樣例間的稀疏程度差別不大,再考慮到車輛傳動(dòng)系統(tǒng)試驗(yàn)數(shù)據(jù)集數(shù)據(jù)量大,維度高的特點(diǎn),本文采用文獻(xiàn)[9]中的方法,將懲罰因子設(shè)置為多數(shù)類與少數(shù)類樣本個(gè)數(shù)的比值.
懲罰因子為正負(fù)類樣本提供了不同的權(quán)值來(lái)平衡正負(fù)類樣本的類間差異,同樣,在同一類中每個(gè)樣本的重要性也是不同的.
定義正類樣本在特征空間的均值為φ+,負(fù)類樣本在特征空間的均值為φ-,前p個(gè)樣本是正類樣本,后l-p個(gè)樣本是負(fù)類樣本,即
(3)
(4)
則正負(fù)類在特征空間中的半徑分別為
i=p+1,p+2,…,l.
(6)
那么模糊隸屬度為
(7)
(8)
引入式(2)中有
ti[ωTφ(xi)+b]≥1-ξi,
ξi≥0,i=1,2,…,l.
(9)
也就是說(shuō),訓(xùn)練集中的不同訓(xùn)練樣本被給予不同的模糊隸屬度(即權(quán)重)以測(cè)量樣本對(duì)分類器的重要性.
然而,該方法僅使用從樣本到其類中心的歐式距離作為樣本重要性的指標(biāo). 雖然歐式距離簡(jiǎn)單易用,但缺點(diǎn)是顯而易見(jiàn)的,樣本的不同屬性之間的差異也是以同樣的方式處理,有時(shí)不能滿足實(shí)際需要. 然而,馬式距離不受維數(shù)影響,可以消除不同變量之間的相關(guān)干擾,可以計(jì)算樣本與不同種群之間的相似性,因此更適合判斷故障類別.
標(biāo)準(zhǔn)的SVM的無(wú)閾值輸出為
f(x)=h(x)+b,
(10)
式中
(11)
Platt利用sigmoid-fitting方法[11],將標(biāo)準(zhǔn)SVM的輸出結(jié)果進(jìn)行后處理,轉(zhuǎn)換成后驗(yàn)概率
(12)
式中:A,B為待擬合的參數(shù);f為樣本x的無(wú)閾值輸出.S形擬合方法的優(yōu)點(diǎn)在于,在保持SVM稀疏性的同時(shí),可以很好地估計(jì)后驗(yàn)概率.
SVM概率輸出使得SVM不僅能夠用于故障分類,還可以得到正常狀態(tài)下各個(gè)故障的發(fā)生概率,從而起到故障預(yù)警和性能分析的作用.
① 采集原始故障數(shù)據(jù),對(duì)原始數(shù)據(jù)進(jìn)行歸一化處理,并將處理后的數(shù)據(jù)分為兩部分:訓(xùn)練集和測(cè)試集.
② 根據(jù)正負(fù)類樣本的比例關(guān)系為他們?cè)O(shè)置合理的懲罰因子,用馬氏距離代替?zhèn)鹘y(tǒng)的歐式距離代入式(7)(8)中,為每個(gè)樣本分配具體的隸屬度權(quán)值.
馬氏距離的表達(dá)式為
(13)
式中Σ為兩個(gè)向量間的協(xié)方差矩陣.
由于高維空間中樣本點(diǎn)之間存在協(xié)方差矩陣的逆矩陣,文獻(xiàn)[12]給出了高維特征空間. 不需要求解協(xié)方差矩陣的逆矩陣,并且核函數(shù)用于求解采樣點(diǎn)到類的中心的馬爾可夫距離. 代入式(7)(8)中可得
(15)
式中:
(16)
(17)
③ 輸入訓(xùn)練集, 使用網(wǎng)絡(luò)搜索法[13]對(duì)懲罰因子C和核參數(shù)γ進(jìn)行尋優(yōu),從而達(dá)到最好的訓(xùn)練準(zhǔn)確度.
④ 用測(cè)試集對(duì)訓(xùn)練好的SVM模型進(jìn)行測(cè)試和故障分類. 對(duì)于正常狀態(tài)類的數(shù)據(jù),通過(guò)其概率輸出進(jìn)行故障預(yù)警和性能分析.
本實(shí)驗(yàn)依托于某車輛外場(chǎng)試驗(yàn)數(shù)據(jù)來(lái)驗(yàn)證算法的正確性. 該采樣數(shù)據(jù)共有10種不同狀態(tài)(包括正常狀態(tài)和9種故障狀態(tài),其中9種故障狀態(tài)分別為:潤(rùn)滑油壓異常,發(fā)動(dòng)機(jī)乏力,油溫過(guò)高,閉鎖油壓異常,風(fēng)扇轉(zhuǎn)速異常,各檔操縱件壓力異常(包括2檔、5檔、中心轉(zhuǎn)向檔、倒1檔共4個(gè)故障狀態(tài))). 原始數(shù)據(jù)包含有44個(gè)不同的屬性變量,本文選取與故障可能相關(guān)的10個(gè)屬性變量,分別為:潤(rùn)滑油壓,傳動(dòng)出油溫度,風(fēng)扇轉(zhuǎn)速,發(fā)動(dòng)機(jī)轉(zhuǎn)速,檔位,發(fā)動(dòng)機(jī)水溫,Cb閉鎖壓力,輸出轉(zhuǎn)矩,操縱油壓,風(fēng)扇驅(qū)動(dòng)壓力.
由圖1可以看出,故障3(油溫過(guò)高,后文用故障3代替)和故障4(操縱油壓異常,后文用故障4代替)的原始觀測(cè)數(shù)據(jù)不平衡程度高,空間重疊嚴(yán)重,同時(shí)具有很多噪聲和野點(diǎn)(特征7、9分別為Cb閉鎖壓力和操縱油壓).
通過(guò)對(duì)原始采樣數(shù)據(jù)的大量統(tǒng)計(jì),得出故障3和故障4的樣本數(shù)比例大概在1:20左右. 通過(guò)截取一段時(shí)間內(nèi)的采樣數(shù)據(jù),計(jì)算出其中故障3樣本50條,故障4樣本共996條,比例與統(tǒng)計(jì)結(jié)果大致相符. 從樣本集中隨機(jī)提取25個(gè)故障3數(shù)據(jù),500個(gè)故障4數(shù)據(jù),剩余數(shù)據(jù)用作測(cè)試集. 將本文算法與傳統(tǒng)SVM,DEC,F(xiàn)SVM算法分別在該樣本集上進(jìn)行驗(yàn)證和比較,并使用網(wǎng)絡(luò)搜索法對(duì)懲罰因子C和核參數(shù)γ進(jìn)行尋優(yōu).
表1 不同算法的故障診斷結(jié)果Tab.1 Fault diagnosis results of different algorithms
SVM的理論基礎(chǔ)是使用非線性映射將樣本映射到高維空間,使他們可線性分離,并使用核函數(shù)的思想,滿足 Mercer條件的核函數(shù)用于替換高維空間點(diǎn)積運(yùn)算,最后實(shí)現(xiàn)分類器設(shè)計(jì). 然而,在實(shí)際應(yīng)用中,通常難以在高維空間中獲得特定的映射形式.
為了能夠可視化SVM分類結(jié)果,使用經(jīng)驗(yàn)特征映射來(lái)代替?zhèn)鹘y(tǒng)的高維特征映射[14]. 對(duì)應(yīng)于核矩陣K的兩個(gè)最大特征值的兩個(gè)主方向向量被投影在經(jīng)驗(yàn)特征空間中.
然后使用本文提出的算法對(duì)數(shù)據(jù)集進(jìn)行處理,同樣在經(jīng)驗(yàn)特征空間中向核矩陣K兩個(gè)最大的特征值所對(duì)應(yīng)的兩個(gè)主方向向量作投影.
從圖2和圖3的比較可以看出,當(dāng)傳統(tǒng)的 SVM算法處理不平衡數(shù)據(jù)時(shí),類間距很小,小類樣本基本上被多類的樣本包圍,而改進(jìn)的SVM算法可以有效地解決數(shù)據(jù)不平衡問(wèn)題,有效地增加了類間距. 同時(shí)分布盡可能地稀疏,并且在幾個(gè)類的識(shí)別率和整體性能方面優(yōu)于傳統(tǒng)的分類算法.
取一段時(shí)間內(nèi)包含故障3、故障4和正常狀態(tài)的共200條數(shù)據(jù)作為訓(xùn)練集,在本文的相關(guān)向量機(jī)模型中訓(xùn)練并輸出概率模型. 通過(guò)觀察正常狀態(tài)下的概率輸出結(jié)果,可以評(píng)估該時(shí)段內(nèi)不同故障的發(fā)生概率,在故障概率過(guò)高的故障做出故障預(yù)測(cè). 并可以結(jié)合層次分析法對(duì)傳動(dòng)系統(tǒng)的性能做出分析和評(píng)估.
如圖4所示,截取60條正常狀態(tài)下的概率輸出數(shù)據(jù),將發(fā)生故障3和故障4的概率繪制成曲線. 從圖中可以看出,在第40~45條數(shù)據(jù)對(duì)應(yīng)的系統(tǒng)運(yùn)行時(shí)間內(nèi),兩種故障發(fā)生的概率明顯高于平均值,可以判定該時(shí)間段內(nèi)系統(tǒng)運(yùn)行出現(xiàn)異常.
此外,得到正常狀態(tài)下的各個(gè)故障發(fā)生概率,也有助于后續(xù)利用層次分析法等特定算法對(duì)車輛傳動(dòng)系統(tǒng)進(jìn)行性能分析.
提出了一種新的用于不平衡數(shù)據(jù)的概率SVM算法. 該算法不僅可以有效地降低不平衡數(shù)據(jù)對(duì)SVM造成的影響,而且用馬氏距離設(shè)計(jì)模糊隸屬度, 可以消除變量相關(guān)性對(duì)分類結(jié)果的干擾,并且可以減少數(shù)據(jù)中的噪聲和野點(diǎn)干擾. 數(shù)據(jù)集的數(shù)值實(shí)驗(yàn)驗(yàn)證了分類方法的有效性. 同時(shí)通過(guò)改進(jìn)SVM輸出正常狀態(tài)下各個(gè)故障的概率,可以有效地進(jìn)行故障預(yù)警和性能分析.
然而,應(yīng)該指出的是,雖然算法提高了分類精度,但是需要優(yōu)化的參數(shù)也增加了. 下一步是設(shè)計(jì)有效的參數(shù)選擇策略,以縮短算法的訓(xùn)練時(shí)間.