劉俊辰,唐文秀,金劍橋,吳俊英
(東北林業(yè)大學(xué) 機(jī)電工程學(xué)院, 哈爾濱 150040)
升降機(jī)是工業(yè)及物流領(lǐng)域重要的機(jī)械設(shè)備,保證其安全可靠運(yùn)行十分重要[1]。升降機(jī)軸承故障是其運(yùn)行過程中的主要故障,然而升降機(jī)軸承運(yùn)行過程中的故障數(shù)據(jù)只是很小一部分,正常數(shù)據(jù)占絕大部分,所以故障數(shù)據(jù)相當(dāng)容易缺失,導(dǎo)致數(shù)據(jù)不均衡。能夠及時(shí)檢測(cè)出升降機(jī)軸承振動(dòng)信號(hào)的負(fù)類樣本,就能及時(shí)維修或更換該部分的設(shè)備零件,防止由單個(gè)零部件的故障造成整個(gè)設(shè)備停止運(yùn)作[2]。
目前升降機(jī)軸承故障檢測(cè)主要有基于傳統(tǒng)的計(jì)算機(jī)統(tǒng)計(jì)學(xué)習(xí)方法的故障檢測(cè)方法和基于支持向量機(jī)(support vector machine,SVM)的故障檢測(cè)方法。計(jì)算機(jī)統(tǒng)計(jì)學(xué)習(xí)方法具有計(jì)算精度高的特點(diǎn),因此一直是軸承故障的主流檢測(cè)方法,但是計(jì)算機(jī)統(tǒng)計(jì)學(xué)習(xí)方法不能很好地做到將大數(shù)據(jù)樣本進(jìn)行小樣本數(shù)據(jù)分類,并且容易出現(xiàn)局部最優(yōu)解問題,無(wú)法滿足精準(zhǔn)檢測(cè)故障數(shù)據(jù)的要求[3]。SVM算法的出現(xiàn)很好地解決了這一問題。SVM算法最開始用于研究二分類問題,是一種以傳統(tǒng)學(xué)習(xí)理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化的機(jī)器學(xué)習(xí)方法[4-5]。當(dāng)SVM面對(duì)不均衡數(shù)據(jù)時(shí),學(xué)習(xí)后的分類界面會(huì)向故障樣本類別偏移,導(dǎo)致SVM對(duì)故障樣本產(chǎn)生很大的泛化誤差。李勇發(fā)等[6]針對(duì)此問題提出一種不同于二分類法SVM的基于支持向量數(shù)據(jù)描述算法(support vector domain description,SVDD)的軸承故障檢測(cè)方法。這是一種單類分類方法,其目標(biāo)與傳統(tǒng)回歸問題或分類問題相區(qū)別,是為了通過機(jī)器學(xué)習(xí)得到一類樣本數(shù)據(jù)的特征描述, SVDD將囊括整個(gè)樣本數(shù)據(jù)集的目標(biāo)樣本并將其他不屬于該類的樣本拒絕在其創(chuàng)造的空間之外[7]。然而,單類分類器SVDD在機(jī)器學(xué)習(xí)的過程中,只考慮正類目標(biāo)樣本,不考慮少數(shù)樣本信息對(duì)決策邊界的影響,使得優(yōu)化后的決策界面靠近多數(shù)類樣本一側(cè),導(dǎo)致算法的召回率性能不高。顯然,基于此描述方法對(duì)升降機(jī)軸承故障檢測(cè)不夠全面,精度不足。
為此,本文提出一種基于帶負(fù)類樣本的支持向量數(shù)據(jù)描述算法(support vector data description with negative example,SVDD-NE)。該算法考慮所有的訓(xùn)練樣本集,兼顧不同少數(shù)類樣本組合的局部結(jié)構(gòu)信息。本文采用SVDD算法和SVDD-NE算法對(duì)升降機(jī)軸承數(shù)據(jù)進(jìn)行實(shí)驗(yàn),驗(yàn)證了該算法在升降機(jī)軸承故障檢測(cè)中的有效性。
SVDD算法是經(jīng)典的單分類算法,通過尋找包括所有正常樣本最小化超球體的方式確定最優(yōu)分類界面[8-9]。該模型在訓(xùn)練時(shí)不依賴其他類別的樣本,因此非常適用于處理不均衡數(shù)據(jù)集的分類問題,尤其是在缺少異常訓(xùn)練樣本的情況下。其簡(jiǎn)要數(shù)學(xué)模型如下:
(1)
約束條件為:
(〈xi-a,xi-a〉)≤R2?i=1,2,…,N
(2)
其中:R為超球體半徑;a為圓心;N代表所有同類訓(xùn)練樣本的個(gè)數(shù)。求解包含所有訓(xùn)練樣本xi的最小超球體。引入核函數(shù)后由拉格朗日最優(yōu)化理論,可以得到上述問題的對(duì)偶問題:
(3)
約束條件為:
(4)
αi≥0,i=1,2,…,N
(5)
SVDD算法因只關(guān)注正常樣本信息而不需要異常樣本參與訓(xùn)練學(xué)習(xí),使得優(yōu)化后的分類界面偏于正常樣本一側(cè),從而導(dǎo)致算法分類性能不高[10]。
為解決SVDD算法存在的問題,提高升降機(jī)軸承故障檢測(cè)精度,本文提出一種改進(jìn)的支持向量描述算法,即帶有負(fù)類樣本數(shù)據(jù)分析的支持向量數(shù)據(jù)描述方法(support vector domain description with negative examples,SVDD-NE),該算法利用負(fù)類樣本信息調(diào)整分類邊界,通過對(duì)正類和負(fù)類樣本增加不同懲罰因子的方式使其向負(fù)類樣本方向偏移,進(jìn)而提升算法的分類性能。建立數(shù)學(xué)模型目標(biāo)函數(shù)如下:
(6)
約束條件:
(xl-a)T(xl-a)≤R2+ξl,ξl≥0,
?i=1,2,…,n
(7)
(xm-a)T(xm-a)>R2-ξm,ξm≥0,
?m=1,2,…,n
(8)
其中:R為超球體半徑;a為超球體的球心;C1C2用于控制正常和異常訓(xùn)練訓(xùn)練樣本損失函數(shù)的大小,即懲罰因子;ξ1,ξm是正類樣本和負(fù)類樣本的懲罰因子,用來(lái)平衡正類樣本和負(fù)類樣本之間的距離比例。
將約束條件代入目標(biāo)函數(shù),加入乘子αl≥0,αm≥0,λl≥0,λm≥0,得到拉格朗日函數(shù):
(9)
對(duì)式(9)變量求偏導(dǎo)并令其為0,得約束條件為:
(10)
(11)
(12)
(13)
將以上約束代入原問題得到對(duì)偶函數(shù),并使用核函數(shù)將樣本點(diǎn)映射到高維特征空間中:
(14)
求解以上凸二次規(guī)劃問題,得球心
(15)
SVDD-NE算法由于使用了全部樣本數(shù)據(jù),使得訓(xùn)練精度提高,也使SVDD算法分類性能得到大幅度提高。
利用SVDD-NE算法對(duì)正、負(fù)兩類測(cè)試樣本數(shù)分別是100和10的數(shù)據(jù)進(jìn)行分類試驗(yàn),其中參數(shù)C=10,高斯核函數(shù)的核半徑參數(shù)為σ=3,結(jié)果如圖1所示??梢钥闯?,本文提出的SVDD-NE算法在處理不均衡數(shù)據(jù)線性可分問題時(shí)得到的分類界面趨于兩類中間。這是由于該算法中充分考慮了異常類樣本和正常類樣本,使得分類界面向著2類樣本集的中間靠攏,從而提高算法的泛化能力。
圖1 SVDD-NE算法分類結(jié)果示意圖
本文實(shí)驗(yàn)使用升降機(jī)軸承數(shù)據(jù)來(lái)進(jìn)行,實(shí)驗(yàn)數(shù)據(jù)的收集采用加速度振動(dòng)傳感器通過永磁體將傳感器牢固地吸附于升降機(jī)軸承對(duì)應(yīng)側(cè)面的中間位置[11-12]。本文對(duì)收集的振動(dòng)信號(hào)分別按時(shí)間序列間隔化分段處理,得到采樣點(diǎn)數(shù)為1 024、樣本點(diǎn)數(shù)各為1 000的4種類型的振動(dòng)信號(hào)片段集合。圖2為正常樣本、內(nèi)圈故障樣本、外圈故障樣本與滾動(dòng)體故障樣本的時(shí)域信息與經(jīng)FFT變換后的頻譜信息。
圖2 正常、內(nèi)圈、外圈和滾動(dòng)體故障樣本的時(shí)頻圖
從圖2可以看出,直接得到的振動(dòng)信號(hào)時(shí)頻不能作為特征用作故障檢測(cè)[13]。因此,本文采用小波包分解的方法提取采集到振動(dòng)信號(hào)的高維頻譜特征,并計(jì)算出每個(gè)小波包節(jié)點(diǎn)的熵(EWPN)與相對(duì)能量(REWPN),且高維頻譜特征對(duì)不同類型間的故障樣本區(qū)分度不強(qiáng),為了獲得4種不同振動(dòng)信號(hào)區(qū)分度較強(qiáng)的低維特征集合,采用KECA方法對(duì)所得到的高維特征向量進(jìn)行降維[14]。
針對(duì)不均衡數(shù)據(jù)下的升降機(jī)軸承故障檢測(cè)問題,本文提出一種基于SVDD-NE算法的軸承故障檢測(cè)模型。具體流程如下:
1) 對(duì)采集到的軸承振動(dòng)信號(hào)分別按時(shí)間序列間隔化分段處理,得到采樣點(diǎn)數(shù)為1 024、訓(xùn)練樣本個(gè)數(shù)為N的振動(dòng)信號(hào)片段集合D∈R1 024×N。
2) 對(duì)D∈R1 024×N,利用小波包分解變換(wavelet packet decomposition,WPD)對(duì)每個(gè)訓(xùn)練樣本分別進(jìn)行時(shí)頻分解,其中,小波包函數(shù)采用DB2小波,分解為L(zhǎng)層,分別得到2L小波包節(jié)點(diǎn),得到訓(xùn)練樣本振動(dòng)信號(hào)的小波包節(jié)點(diǎn)系數(shù)集合C∈R(2L×WPNL)×N, WPNL=1 024/2L為每個(gè)小波包節(jié)點(diǎn)系數(shù)的個(gè)數(shù)。
3) 對(duì)C∈R(2L×WPNL)×N,分別求每個(gè)小波包節(jié)點(diǎn)的熵(entropy in a wavelet packet node,EWPN)和小波包節(jié)點(diǎn)的相對(duì)能量(relative energy in a wavelet packet node,REWPN),得到訓(xùn)練樣本振動(dòng)信號(hào)的高維頻譜特征集合X∈R2L+1×N。X=[x1,x2,…,xN]為2L+1×N型矩陣,N是訓(xùn)練樣本數(shù),其中:
xi=[EWPN(i1),…,EWPN(i2L),REWPN(i1),…,
REWPN(i2L)]T,i=1.2,…,N
(16)
(17)
(18)
4) 對(duì)X=[x1,x2,…,xNr]進(jìn)行核熵成分分析,通過將原始高維觀測(cè)空間投影至維數(shù)為d的低維特征空間以獲得低維特征XKECA∈Rd×N。
5) 對(duì)XKECA帶入 SVDD-NE檢測(cè)器進(jìn)行訓(xùn)練。
圖3 基于SVDD-NE的升降機(jī)軸承故障檢測(cè)流程
對(duì)于不同的支持向量機(jī)分類方法,對(duì)應(yīng)的最佳參數(shù)一般是不相同的,為了比較的客觀性,實(shí)驗(yàn)中選取的均是各種方法對(duì)應(yīng)的最佳參數(shù)。這個(gè)實(shí)驗(yàn)中的核函數(shù)只選擇高斯核函數(shù),并且各個(gè)超球面支持向量機(jī)用同一個(gè)核函數(shù)參數(shù)σ,但與超平面的核函數(shù)參數(shù)不同。為了能使SVDD-NE和SVDD達(dá)到各自的最優(yōu)分類效果,先要進(jìn)行模型參數(shù)的選取。在以下分類圖中“○”為正常數(shù)據(jù)(正類樣本值),“+”為故障數(shù)據(jù)(負(fù)類樣本)。同時(shí)也要避免過擬合現(xiàn)象。
1)實(shí)驗(yàn)1:SVDD-NE分類器的參數(shù)選取。首先對(duì)于高斯核參數(shù)σ的選取,先固定懲罰因子C1=10,C2=10,分類精度在圖4注釋標(biāo)出。
從以上實(shí)驗(yàn)分類圖直觀可知,當(dāng)高斯核函數(shù)σ過小時(shí),數(shù)據(jù)分類容易產(chǎn)生過擬合現(xiàn)象。當(dāng)σ=4時(shí),分類精度為0.91且分類球體體積最小,所以取σ=4為SVDD-NE的高斯核參數(shù)。接下來(lái)選取懲罰因子。
從圖5中可以看出,當(dāng)σ=4,C1=10,C2=10時(shí),構(gòu)造的超球體描述覆蓋的體積最小,當(dāng)懲罰因子增大時(shí)其體積也隨之增大。所以選取σ=4,C1=10,C2=10作為最佳參數(shù),分類精度為0.91。
圖4 高斯核參數(shù)σ的選取對(duì)算法的分類性能影響
圖5 懲罰因子選取對(duì)算法性能的影響
2) 實(shí)驗(yàn)2:SVDD的參數(shù)選取。對(duì)于高斯核函數(shù)σ的選取,采用上述相同實(shí)驗(yàn)方法對(duì)SVDD分類模型的參數(shù)進(jìn)行選擇,結(jié)果表明:當(dāng)σ=1,分類精度precision=0.85,且超球體包裹體積最小,為SVDD的最佳參數(shù)。
為了驗(yàn)證SVDD-NE算法與SVDD算法在升降機(jī)軸承故障檢測(cè)中的性能,實(shí)驗(yàn)中將將2種算法檢測(cè)結(jié)果進(jìn)行比較,選擇故障實(shí)驗(yàn)?zāi)P蜑樯鲜鲇?xùn)練出來(lái)的SVDD-NE和SVDD分類模型來(lái)進(jìn)行升降機(jī)軸承故障值檢測(cè)。對(duì)收集到的數(shù)據(jù)進(jìn)行歸一化處理,抽取70%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)。選取軸承正常數(shù)據(jù)(正類樣本)100組,故障數(shù)據(jù)(負(fù)類樣本)各50組,其中每個(gè)樣本都是經(jīng)KECA降維后提取的低維特征。
實(shí)驗(yàn)參數(shù)為:本文算法的高斯核函數(shù)參數(shù)σ=4,懲罰因子C1=20,C2=10;SVDD算法高斯核函數(shù)參數(shù)σ=1。
本次實(shí)驗(yàn)采用十折交叉驗(yàn)證法來(lái)進(jìn)行多次實(shí)驗(yàn)降低誤差。用SVDD分類器和SVDD-NE分類器對(duì)選定好的故障數(shù)據(jù)進(jìn)行分類,用分類準(zhǔn)確率來(lái)衡量分類性能。所有實(shí)驗(yàn)均在i5CPU,1.8 GHz,內(nèi)存4 G的計(jì)算機(jī)上進(jìn)行,利用Matlab2010b軟件。
從圖6~8中不難發(fā)現(xiàn),SVDD算法因只關(guān)注升降機(jī)軸承正常樣本信息而不需要異常樣本參與訓(xùn)練學(xué)習(xí),使得優(yōu)化后的分類界面偏于正常樣本一側(cè),從而導(dǎo)致算法分類性能并不高,造成對(duì)升降機(jī)各種軸承故障數(shù)據(jù)的檢測(cè)準(zhǔn)確率較低[15]。
圖6 正常和內(nèi)圈故障樣本經(jīng)SVDD分類圖
圖7 正常和外圈故障樣本經(jīng)SVDD分類圖
圖8 正常和滾動(dòng)體故障樣本經(jīng)SVDD分類結(jié)果圖
圖9 正常和內(nèi)圈故障樣本經(jīng)SVDD-NE分類結(jié)果圖
圖11 正常和滾動(dòng)體故障樣本經(jīng)SVDD-NE分類結(jié)果圖
通過對(duì)比可以看出:本文提出的SVDD-NE算法在處理升降機(jī)軸承不同種故障不均衡數(shù)據(jù)問題時(shí)得到的分類界面趨于兩類中間。這是由于該算法中充分考慮了異常類樣本和正常類樣本,使得分類界面向著兩類樣本集的中間靠攏,從而提高了算法的泛化能力。因此,本文提出的基于SVDD-NE算法的軸承故障檢測(cè)方法在針對(duì)升降機(jī)各種故障不均衡數(shù)據(jù)方面具有更好的性能。
實(shí)驗(yàn)對(duì)升降機(jī)軸承振動(dòng)故障數(shù)據(jù)的分類準(zhǔn)確率結(jié)果如表1所示。通過結(jié)果可得:SVDD-NE的平均分類精度為0.92,SVDD的平均分類精度為0.88。
表1 升降機(jī)軸承故障數(shù)據(jù)分類準(zhǔn)確率
從表1可以看出,本文提出的基于SVDD-NE算法的軸承故障檢測(cè)模型在解決升降機(jī)不均衡數(shù)據(jù)情況下的故障檢測(cè)問題時(shí)較SVDD算法的檢測(cè)性能有顯著提高,同時(shí)也進(jìn)一步驗(yàn)證本文提出的SVDD-NE算法比傳統(tǒng)SVDD算法在解決升降機(jī)軸承各種故障不均衡數(shù)據(jù)分類問題上具有明顯優(yōu)勢(shì)。
1) 針對(duì)升降機(jī)軸承故障檢測(cè),相比傳統(tǒng)SVDD算法,本文所提出的基于SVDD-NE算法,在檢測(cè)精度上有較大提高,針對(duì)升降機(jī)軸承不同種故障都具有很好的檢測(cè)性能,能很好地運(yùn)用于升降機(jī)軸承異常值檢測(cè)實(shí)際中。
2) 實(shí)驗(yàn)結(jié)果表明,在數(shù)據(jù)不均衡情況下,加入負(fù)類樣本值作為SVDD的學(xué)習(xí)對(duì)象,其分類精度明顯改善。由此可知,SVDD-NE算法相較于SVDD算法,其分類性能顯著提高。