馬晨佩, 李明輝, 鞏強令, 楊白月
(陜西科技大學機電工程學院, 西安 710021)
滾動軸承作為機械設備的重要組成部分,大多處于高速、高載等復雜工況下,也是最容易發生故障的零件之一。在實際生產中,滾動軸承的健康狀態對機械設備的整體運行情況有較大的影響,因此,對滾動軸承的健康狀態進行實時監測和故障診斷具有重要的意義[1]。近年來,隨著人工智能的發展,人工神經網絡(artificial neural network, ANN)[2]、聚類分析[3]和模糊理論等技術不斷應用于故障診斷領域,并且取得了不錯的效果。而實際生產中,故障樣本的獲取比較困難[4],因此限制了上述方法的使用。基于統計學習理論的支持向量機(support vector machine, SVM)方法能很好地解決小樣本下的模式識別問題,在故障診斷領域也得到相當廣泛的使用,但SVM的分類效果很大程度上依賴于參數的選擇。針對SVM參數優化問題,一些學者引入群體智能算法進行SVM的參數優化[5-6]。Huang等[7]采用遺傳算法(genetic algorithm, GA)優化SVM參數,有效地提高了SVM的分類性能,但由于遺傳算法的操作較為復雜從而導致尋優速度較慢。陳晉音等[8]提出用粒子群算法(particle swarm optimization, PSO)優化SVM參數,雖收斂速度得到提升卻很容易陷入局部最優解;劉路等[9]用人工蜂群(artificial bee colony,ABC)算法來優化SVM,這種方法可以很好地克服局部最優解,但卻無法利用全局最優信息迭代更新。研究表明,遺傳、粒子群等算法在SVM參數優化中具有一定優勢,但同時存在尋優速度慢、易陷入局部最優等缺陷。
麻雀搜索算法(sparrow search algorithm,SSA)是一種新穎的群體優化算法,它是受麻雀種群的覓食和反捕食行為啟發,通過19個標準測試函數驗證SSA算法在搜索精度,收斂速度,穩定性和避免局部最優值方面均優于現有算法[10]。基于此,將SSA算法應用到SVM的參數選擇中,以SVM訓練集分類準確率最高為優化目標,選擇最優的懲罰因子和核參數,建立SSA-SVM 診斷模型。
SSA算法是根據麻雀覓食并逃避捕食者的行為而提出的群智能優化算法,在麻雀覓食的過程中,分為發現者和追隨者,發現者在種群中負責尋找食物并為整個麻雀種群提供覓食區域和方向,而追隨者則是利用發現者來獲取食物。為了獲得食物,麻雀通常可以采用發現者和追隨者這兩種行為策略進行覓食。種群中的個體會監視群體中其他個體的行為,并且該種群中的攻擊者會與高攝取量的同伴爭奪食物資源,以提高自己的捕食率。此外,當麻雀種群意識到危險時會做出反捕食行為。
SSA算法的數學模型。在SSA中,具有較好適應度值的發現者在搜索過程中會優先獲取食物。因為發現者負責為整個麻雀種群尋找食物并為所有追隨者提供覓食的方向,因此,發現者可以獲得比追隨者更大的覓食搜索范圍。
在每次迭代的過程中,發現者的位置更新描述為
(1)

追隨者的位置更新描述為
(2)
式(2)中:XP為目前發現者所占據的最優位置;Xworst表示當前全局最差的位置;A為1×d的矩陣,其中每個元素隨機賦值為1或-1,并且A+=AT(AAT)-1,其中A+為偽逆矩陣。當i>n/2時,這表明適應度值較低的第i個追隨者沒有獲得食物,處于十分饑餓的狀態,此時需要飛往其他地方覓食,以獲得更多的能量。
當意識到危險時,麻雀種群會做出反捕食行為,其數學表達式為
(3)
式(3)中:Xbest為當前的全局最優位置;β為步長控制參數,服從均值為0,方差為1的正態分布的隨機數;K是一個隨機數,表示麻雀移動的方向同時也是步長控制參數,且K∈[-1,1];fi為當前麻雀個體的適應度值;fg和fw分別為當前全局最佳和最差的適應度值;ε為最小的常數,以避免分母出現零。為簡單起見,當fi 支持向量機(support vector machine,SVM)是由Vapnik教授提出的一種基于統計學方法的機器學習方法[11]。SVM 是一種不同于神經網絡的機器學習方法,尤其是對于小樣本數據分類問題,SVM 有著出眾的分類效果,SVM 的目的在于尋找一個最優超平面,使得不同數據最近分界面與超平面的距離最大,即解決如下問題。 (4) 式(4)中:ω為超平面法向量;xi為訓練樣本;yi為樣本的類別;b為根據訓練樣本確定的閾值;C為懲罰參數;εi為線性不可分時引入的松弛變量;引入Lagrange乘子αi,則該問題的拉格朗日函數可寫式(5),并對式(5)中ω和b求偏導為0。 (5) 因此得其對偶形式為 (6) 在非線性的情況下,引入核函數映射得 K(xi,xj)=[φ(xi),φ(xj)] (7) 由以上推導可以得到決策函數為 (8) 式中:yj為對應期望輸出;xj為輸入向量;n為訓練樣本數;φ(·)為映射函數;K(xi,yi)為核函數,一般采用徑向基核函數(RBF)作為核函數,其形式為 K(xi,xj)=exp(-g‖xi-xj‖2) (9) 由式(4)~式(8)可得,SVM需要優化的參數為懲罰參數(C)和核參數(g);因此,采用較好的優化算法對參數進行尋優,可以提高SVM的性能,更好的應用于故障分類。 圖1 SSA優化SVM流程圖 圖1為SSA優化SWM流程圖,SSA算法優化相關參數步驟如下。 (1)首先確定故障診斷模型的輸入、輸出。提取故障特征作為診斷模型輸入,確定目標輸出值。建立訓練、 測試樣本集。 (2)初始化麻雀搜索算法相關參數,包括種群規模、最大迭代次數,SVM參數C、g。 (3)通過交叉驗證,對訓練樣本進行分類,以交叉驗證的準確率作為麻雀個體的適應度。保留最優的適應度值及位置信息。 (4)計算預警值,以預警值大小為依據,根據式(1)更新發現者的位置。 (5)根據式(2)更新追隨者的位置。 (6)按照式(3)更新意識到危險的麻雀位置,處于種群外圍的麻雀會向安全區域靠攏,處在種群中心的麻雀則隨機行走以靠近別的麻雀。 (7)計算麻雀個體新位置的適應度值,將更新后的適應度值與原來的最優值進行比較,并更新全局最優信息。 (8)判斷迭代次數是否滿足終止條件,如不滿足,則重復步驟(3),反之則停止,輸出最優參數,將測試集樣本輸入到最優的SVM模型,輸出診斷結果。 實驗采用美國西儲大學提供的滾動軸承的故障數據來驗證SSA算法優化SVM軸承故障診斷模型的性能[12]。以深溝球軸承 SKF6205-2RS 驅動端數據作為實驗數據,輸入軸轉速為1 797 r/min,電機載荷為0 HP,信號采樣頻率為12 kHz,分別采集軸承正常狀態、內圈故障、滾動體故障、外圈故障4種狀態振動信號。將采集到的原始振動信號進行小波基函數為“db11”的三層小波包分解重構,將第3層8個節點(E1~E8)的能量特征值作為特征向量輸入診斷模型。每種軸承狀態分別選取60組數據(共240個樣本),其中45個作為訓練樣本,15個作為測試樣本。滾動軸承四類信號的部分樣本能量特征值如表1所示。 表1 小波包提取的部分故障能量特征向量 使用PSO-SVM[13]、GA-SVM[14]和SSA-SVM分別故障進行分類識別,設置最大迭代次數為200,3種方法的交叉驗證準確率的尋優迭代曲線如圖2所示。通過比較可知,用本文算法優化SVM,只經過3次迭代就達到交叉驗證分類準確率最優值97.78%,GA方法的交叉驗證分類準確率較低,而PSO方法容易陷入局部最優。說明SSA算法比目前成熟的PSO和GA算法能快速、準確找到最優的SVM參數。 圖2 分類準確率尋優曲線 將3種方法最優的分類準確率對應的C和g作為SVM最優參數,用最優參數對SVM 進行訓練,并采用訓練好的 SVM 對測試樣本進行測試,參數優化結果及3種方法測試結果如表2所示。對比可知,不同優化方法得到不同的參數組合,其中SSA-SVM的分類效果最好,測試準確率可得96.67%,相比于GA-SVM及PSO-SVM算法模型的準確率分別提高3.34%和1.67%;在時間上,SSA-SVM模型所需迭代時間需要37.06 s,相對較好迭代時間效果的PSO-SVM縮短了17.12 s,而GA-SVM的尋優速度相對較慢,且故障準確率較低。 分析說明本文算法在SVM的參數優化中相比于PSO及GA算法具有明顯優勢,可以更好地提高故障診斷的準確率。圖3為3種診斷模型的實際測試集與預測測試集分類結果對比。 圖3 SSPSO-SVM、GA-SVM及A-SVM診斷模型實際與預測分類 (1)SVM方法對于實際生產過程中樣本量少的機械故障診斷具有一定優勢,但其性能受參數選擇影響較大,針對SVM參數優化問題,引入新的優化算法SSA,提出了SSA-SVM方法。 (2)結合小波包能量特征提取,將提出的SSA-SVM方法應用于滾動軸承不同類型的故障診斷,結果表明SSA-SVM算法模型的故障診斷準確率可達96.67%,運行時間為37.06 s,相比較于GA-SVM及PSO-SVM算法模型,SSA-SVM算法模型在診斷性能及運行速度上都具有明顯優勢。同時,本文算法也為其他領域的故障診斷提供了一種新的研究方向。2 基于麻雀搜索算法優化的SVM
2.1 支持向量機


2.2 麻雀搜索算法優化SVM故障診斷流程
3 滾動軸承故障診斷實例分析
3.1 實驗樣本分析及特征提取

3.2 算法參數尋優收斂性比較

3.3 不同模型故障診斷效果對比

4 結論