常夢容 王海瑞 肖 楊 王椿晶 蔣朝云
(昆明理工大學信息工程與自動化學院)
滾動軸承作為一種十分重要的零部件,廣泛應用于機械設備內部。 當今,滾動軸承的重要性越來越高,其工作精度和可靠度對設備的整體運行狀態都有著關鍵性影響,同時對軸承故障診斷系統精度的要求越來越高。
支持向量機(SVM)參數的選擇對整個診斷模型有至關重要的作用, 其懲罰因子C和核函數參數g的選擇影響著SVM的診斷精度和泛化能力,好的核函數參數選擇可以提高SVM分類的性能。對SVM核函數參數的選擇, 前人做了許多研究,常 見 的 有 模 糊 聚 類[1]、網 格 搜 索 法[2]等 典 型 算 法以及蟻群算法[3]、魚群算法[4]等智能算法。
在故障診斷中,故障診斷技術得到了廣泛的研究與發展。 診斷方法主要有以下3類:基于解析模型的方法,如參數估計方法、狀態估計方法及等價空間方法等;基于信號處理的方法,如EMD、傅里葉分析及小波分析等;基于知識推理的診斷方法,如模式識別、深度置信網絡推理[5]等。 基于知識推理的診斷方法具備智能化方法和專家知識,可以提供一個可靠并且實用的系統。 然而,參數選擇限制著這項技術的發展。 因此,筆者采用改進螢火蟲算法(IFA)選取合適的SVM的懲罰因子C和核函數參數g, 構建IFA-SVM模型對滾動軸承故障進行診斷。
SVM作為一種強大的分類器,不僅可以作為二分類診斷模型,而且可以解決多分類問題。 它的目的是在特征空間中尋找到具有最大距離的一個超平面,從而將數據進行高效的分類,分為以下3種情況:
a. 當樣本數據具有線性特征條件時,通常稱之為硬間隔最大化,即在正例和負例之間分別尋找支持向量, 兩個支持向量之間的距離稱為間隔,要使這個間隔最大化,從而得到最佳的決策邊界。
b. 當樣本數據具有近似線性特征條件時,通常稱之為軟間隔最大化,即對于正確分類的實例點存在少量的噪聲,引入松弛變量,并在實例點之間尋找支持向量,使支持向量之間的間隔達到最大化,最后學習到線性支持向量機。
c. 當樣本數據不具有線性特征條件時,可在軟間隔最大化的基礎上引入核函數,使不可分的數據映射到高維空間中,即可實現分離。 此時將學習到一個非線性支持向量機的診斷模型。
給定一個特征空間上的訓練數據集T={(x1,y1),(x2,y2),…,(xn,yn)},其中,xi為第i個特征向量,xi∈Rd;yi為類標記, 當它等于+1時為正例,等于-1時為負例。
當數據集線性可分時, 對于給定的數據集T和超平面ωTx+b=0,定義超平面關于樣本點(xi,yi)的幾何間隔li為:

超平面關于所有樣本點的幾何間隔的最小值l=minli,SVM模型的求解最大分割超平面問題可以表示為以下約束最優化問題:

當幾乎不存在完全線性可分的數據時,引入軟間隔,即允許某些點不滿足約束yi(ωT·xi+b)≥1,將原優化問題改寫為:

其中ξi為松弛變量,ξi=max(0,1-yi(ω·xi+b))。當C增大時,ξi減小,ξi約等于0時,噪聲少,超平面內側相互移動,減小間隔距離,從而減少噪聲,此時支持向量少;當C減小時,ξi增大,噪聲多,上下超平面向外平移,加大間隔,從而增加噪聲,支持向量多。
當樣本數據不具有線性特征條件時,在軟間隔的基礎上引入核函數求解,通過把低維的非線性問題映射到高維空間中,使原本線性不可分的樣本數據在高維空間中變得線性可分。
常見的核函數有:

因為RBF具備極強的高維映射能力, 所以在選取核函數時,RBF通常作為第一選擇。RBF的原理是在固定xi的條件下, 使xj圍繞xi以指數的方式進行衰減。 對于數據樣本的標簽,核函數把正例向正方向拉,把負例向負方向拉,從而使數據分離。 分離后的數據,具有較好的分割特性,因此可以選取較為合適的超平面使之分離,使得樣本距超平面的距離最遠。 RBF的指數項可以進行泰勒展開,展開式中的每一項,都可以被看作是在該維度上的樣本分離。 故筆者以高斯核函數來進行討論。 為了得到較高的分類精確度和良好的泛化能力,選擇合適的核函數參數g和懲罰因子C對于整個模型較為重要:g作為核函數里面的重要參數決定了數據經過核函數處理后映射到新的特征空間的分布,影響了整個模型的訓練與預測速度;懲罰因子C越大,對錯誤的容忍度越小,越容易發生過擬合,而C過小將導致容錯率降低,分類準確度不高。
螢火蟲算法(Firefly Algorithm,FA)屬仿生群智能算法的一種,是模仿自然界中螢火蟲在黑夜里發光來互相傳遞信息、互相吸引的算法[6]。
在FA算法中,可以將可行性的解用螢火蟲的位置坐標來表示,適應度用螢火蟲的亮度表示。螢火蟲的位置與亮度成正比, 即亮度越高的螢火蟲位置越好。在螢火蟲之間,螢火蟲總是向著比自己亮度更亮的螢火蟲靠攏, 遵循著亮度越亮對其他螢火蟲的吸引度越大的原則。在螢火蟲飛行期間,傳播介質會吸收一定的光,光被吸收后減弱,同時吸引度也減弱。當螢火蟲之間的距離越來越遠,光傳播介質吸收的光越多即光越弱, 則吸引度也越??;當螢火蟲之間的距離越來越近,光傳播介質吸收的光越少即光越強,吸引度增大[7]。
螢火蟲的相對熒光亮度I為:

其中,I0表示螢火蟲距離為零(r=0)時的熒光亮度, 也是最亮螢火蟲的亮度;γ表示光吸收系數,可設置為常數;rij表示螢火蟲i和j之間的距離。
相互吸引度β的計算式如下:

其中,β0表示最大吸引度,即r=0(光源)處的吸引度。
螢火蟲位置更新公式如下:

其中,xi、xj表示兩個螢火蟲的空間位置;α為步長因子;rand為[0,1]上服從均勻分布的隨機因子;t為當前迭代次數。
線性慣性權重雖然容易理解, 實現簡單,但并不是最好的遞減策略,為此筆者將指數遞減型慣性權重引入到位置更新公式中,在權重公式中加入隨機擾動項進行自適應調整,公式如下:

依據文獻[8,9],在螢火蟲迭代初期,ω′(t)值較大, 螢火蟲以較快的速度在群體之間進行搜索,把最亮螢火蟲的大體位置確定下來,在此期間,由于ω′(t)較大,有利于增強全局尋優能力,同時局部搜索能力減弱,即在螢火蟲的空間搜索過程中,之前的空間位置對當前的影響大。 相反在迭代后期,ω′(t)值較小,螢火蟲在最亮螢火蟲大體位置附近進入局部搜索,此時螢火蟲的局部搜索能力增強,全局搜索能力減弱。 引入指數型慣性權重改進的方法,可以避免螢火蟲飛行速度過快,錯過極值點或在極值點反復振蕩。
筆者在對螢火蟲進行指數型慣性權重改進之前,借鑒了非線性遞減慣性權重的思路[10],為了讓螢火蟲前期能較快地進行全局搜索,后期也能快速進入局部搜索,并提高局部搜索能力。 慣性權重指數型遞減策略可以達到上述目的,權重公式如下:

其 中,ω′max=0.8,ω′min=0.2,T=200,rand 是[0,1]之間的隨機數,使得ω′(t)∈(0,1)。
由于基本FA吸引度是指數型的,增加了計算量并且運算效率低,因此首先將基本FA指數型改為分式型,可以減少計算量,運算效率也會提高,同時利用最小吸引度增加每個螢火蟲之間的吸引度,公式如下:

IFA算法流程如圖1所示,具體說明如下:

圖1 IFA算法流程
a. 初始化各參數,螢火蟲初始種群的規模n、光強吸收系數γ、最大吸引度β0、步長因子α及最大迭代次數等參數;
b. 隨機初始化螢火蟲的位置,計算螢火蟲的目標函數值作為各自最大熒光亮度I0;
c. 計算種群中各個體的最大熒光亮度和各自的吸引度值;
d. 依據式(5)更新權重;
e. 根據步驟c計算出來的熒光亮度和吸引度來更新個體位置,即向熒光亮度比自己更亮的個體移動;
f. 重新計算各個體的熒光亮度和吸引度,再更新螢火蟲的位置;
g. 判斷是否達到最大迭代次數或精度;
h. 輸出全局極值點和最優個體值。
為了驗證IFA-SVM模型在軸承故障診斷中的有效性。 利用凱斯西儲大學的滾動軸承故障診斷公開實驗數據進行驗證。 選取滾動軸承的10種狀態:正常、內圈故障(點蝕直徑0.177 8mm)、內圈故障(點蝕直徑0.355 6mm)、內圈故障(點蝕直徑0.533 4mm)、滾珠故障(點蝕直徑0.177 8mm)、滾珠故障(點蝕直徑0.355 6mm),滾珠故障(點蝕直徑0.533 4mm)、外圈故障(點蝕直徑0.177 8mm中心方向)、外圈故障(點蝕直徑0.355 6mm中心方向)、外圈故障(點蝕直徑0.533 4mm中心方向)。
電機轉速為1 750r/min, 采樣頻率為12kHz。本實驗選取1 000個數據點作為一組數據樣本,其中700個作為訓練樣本,300個作為測試樣本,具體的數據詳細介紹見表1。

表1 滾動軸承狀態描述
在本實驗中首先依次提取標準差、 有效度、歪度、峭度、峰值、峰峰值、波形因數、脈沖因素、峰值因素和裕度,共10個特征類型。 其次對數據進行歸一化處理,接著輸入到基本FA-SVM、基本SVM、IFA-SVM中進行分類并對比分析。本實驗在MATLAB R2020,Windows 10系統下進行測試,螢火蟲數量n=20,最大迭代次數為100,α=0.25,βmin=0.2,γ=1。
首先將訓練樣本輸入IFA-SVM中,并利用IFA算法優秀的尋優能力, 找到最佳核函數參數g和懲罰因子C, 再將核函數參數g和懲罰因子C設定到SVM模型中,最后經過分類和訓練得到較好的結果。
為了驗證本方法的有效性, 選擇SVM、FASVM進行比較。先進行基本SVM的分類,設置SVM的C=2、g=0.4, 然后代入SVM中進行分類和測試,得到的最高準確率為91.66%, 最低準確率為84.34%, 平均準確率為86.9%。 接著進行未改進FA-SVM的測試,得到C=96.4892,g=15.7697,最高準確率為90.67%,最低準確率為88.33%,平均準確率為89.4%(表2),可以看出雖然SVM最高準確率比FA-SVM高,但是FA-SVM無論從平均準確率還是最低準確率的角度分析,都比SVM模型的準確率高, 說明FA算法在一定程度上可以優化SVM,但是優化效果不佳。

表2 3種診斷模型的診斷準確率 %
雖然FA算法在一定程度上可以優化SVM,但是由于優化效果不佳,因此采取對FA進行改進的實驗對比,以此證實IFA算法的優越性。 對700組軸承數據利用IFA-SVM模型進行訓練, 得到最佳的C=4.2535,最佳的g=0.0553。再將參數g和C代入IFA-SVM模型中, 將300組測試樣本進行分類,采用IFA-SVM得到的仿真結果準確率見表2,可以看出IFA-SVM最高準確率為95.00%,最低準確率為92.67%, 平均準確率為93.5%, 無論從最高準確率、最低準確率還是平均準確率角度分析,均高于SVM和FA-SVM,說明IFA-SVM優化效果顯著。
圖2是3種算法分別做5次實驗的識別準確率比較,可以看出,IFA-SVM的準確率一直高于SVM和FA-SVM,并且準確率呈上升趨勢,證實了IFASVM的性能。

圖2 3種診斷模型識別準確率比較
進一步分析模型的分類結果和模型對哪一類數據分類效果較差。 使用混淆矩陣分別對每一類數據進行錯誤分類統計(圖3),從圖3中可以看出,第1、2、3、4、6、7、8、9、10類故障都得到了較好的訓練結果, 而第5類故障 (內圈故障(0.355 6mm))僅有47%的識別準確率,說明模型對于該類故障不能進行較好地識別。

圖3 混淆矩陣
對3種模型進行對比實驗, 圖4為3種診斷模型的實際測試集分類和預測測試集分類結果的對比,可以分析得出SVM正確分類253個,錯誤分類47個;FA-SVM正確分類274個,錯誤分類26個;IFA-SVM正確分類284個,錯誤分類16個。 實驗結果表明:IFA-SVM在很大程度上提高了滾動軸承故障診斷的準確率和分類效果,具有很好的工程應用價值。


圖4 3種診斷模型實際與預測測試集分類比較
基本螢火蟲算法容易過早陷入局部最優值、收斂速度慢且求解精度低,筆者提出一種基于動態慣性權重的FA-SVM故障診斷方法。 該方法在位置更新中加入慣性權重,同時在權重公式中加入隨機擾動項進行自適應調整。 通過對比SVM、FA-SVM和IFA-SVM這3種模型的最高準確率、最低準確率、平均準確率以及診斷模型實際與預測測試集分類, 驗證了IFA-SVM模型準確率高且分類效果好。 通過混淆矩陣分析得出IFA-SVM模型不能對特定的類別做出較好的分類。