楊亞紅,王海瑞
(650500 云南省 昆明市 昆明理工大學 信息工程與自動化學院)
滾動軸承是各種工業機械中應用最廣泛的機械部件之一,如齒輪箱、鐵路軸和渦輪機。由于在惡劣的工作條件下反復輪崗,他們的健康狀況趨于惡化。滾動軸承的故障診斷是防止設備故障、保證生產效率的關鍵,因此對其故障診斷的相關研究近年來備受關注。相關研究中,常夢容[1]等將螢火蟲算法進行改進以優化支持向量機,用此方法來對軸承故障進行診斷;李平[2]等針對異步電機故障振動信號具有較強的非線性特征,而傳統的線性分析方法易造成振動信號非線性成分的丟失這一情況,提出一種核主元分析和粒子群支持向量機相結合的異步電機故障診斷方法;廖力力[3]等針對大型結構振動測試中傳感布置優化問題,采用改進的粒子群優化算法,實現履帶車輛半車振動響應測試中加速度傳感器的布置優化;王二化[4]等為了提高微銑刀磨損狀態的預測精度和計算效率,提出了一種基于小波包分解和支持向量機-粒子群優化的微銑刀磨損在線監測方法;龍霏[5]等針對SDN 網絡流量預測的問題,運用改進PSO 優化最小二乘支持向量機來構建網絡流量預測模型。
上述模型在解決工程問題時存在諸多不良因素,主要包括模型尋優效果較低導致準確率較低;PSO 及其他改進PSO 易陷入局部最小值導致模型收斂速度慢。針對上述問題,本文提出一種學習因子異步變化粒子群優化算法優化SVM 的故障診斷模型,在提高故障診斷效率的同時,提升診斷效果。
Kennedy 和Eberhart 在1995 年提出了一種群智能優化算法,即粒子群優化算法(PSO),是一種基于鳥群或魚群社會行為的多智能體搜索策略[6]。它是一種迭代算法,其中個體(稱為粒子)試圖通過改變其位置(和速度)優化問題,隨著時間的推移,根據自己的經驗和鄰近粒子的經驗調整其位置。
在PSO 算法中,要優化問題的每個解都可以被稱為一個“粒子”。每個粒子都有與它們相關的屬性,如適應度值(使用目標函數計算)、位置和速度[7]。每次迭代后,粒子根據自己的經驗和其他粒子的經驗更新自己的位置。每個粒子位置的變化受2 個“最佳”值的影響,其中一個稱為“pbest”,是當前粒子獲得的最佳解決方案;另一個是全局最佳“gbest”值,是所有粒子中獲得的最佳解決方案。每個質點的速度和位置更新可表示為:
本文構造了學習因子的非線性異步變化策略模型,使學習因子在算法迭代過程中進行動態調節,即在算法搜索初期,設置較大的c1值以及較小的c2值,在削弱粒子社會經驗的同時增強粒子的自我認知,從而增加種群多樣性;算法后期,c1隨迭代次數的增加呈非線性遞減,而c2呈非線性異步遞增,逐步增強算法的全局尋優能力。具體公式為:
式中:k ——粒子當前迭代次數;kmax——最大迭代次數;η——調節參數,取值一般為正整數,主要用于調節時變學習因子的曲線變化率。
結合PSO 算法的收斂性分析,當慣性權重w從數值1.0 到0.4 線性遞減時,學習因子c=c1r1+c2r2的變化范圍為(0,4),即有0<c1+c2<4。在迭代過程中,時變學習因子c1(k)進行非線性遞減,而c2(k)進行非線性遞增。由此可知,若使得算法收斂,時變學習因子的上下限須滿足如下條件:
實驗證明,通過對學習因子上下限進行隨機變化,可提升算法的收斂精度,當學習因子上下限在以及范 圍內隨機變化時,算法可以達到更高的收斂精度。
Vapnik 在1995 年提出支持向量網絡解決分類問題,后來將其發展用于回歸分析[8]。給定輸入向量x 和目標數據y 的訓練集 [(x1,y1),(x2,y2),(x3,y3),…,(xn,yn)],回歸函數可表示為
式中:——輸出;w——權值;φ(x)——非線性函數;b——偏置。
根據結構風險最小化(SRM)原理,將結構風險函數最小化,可得到w 和b 如式(8)。
式中:c*——在模型復雜性之間進行權衡的懲罰參數;ε——目標數據y 和輸出數據之間的容錯范圍;ξ,ξ*——松弛變量。
a 和a*拉格朗日乘數可用于解決上述優化問題[9]:
式中:s——支持向量個數;xk——支持向量;K(xk,x)——核函數。常見的核函數有
(1)多項式核函數:
(2)徑向基核函數(RBF):
(3)sigmoid 核函數:
(4)線性核函數:
此次實驗采用美國凱斯西儲大學軸承數據中心的軸承故障數據集。數據集為12 K 采樣頻率下的風扇端軸承數據,分別采集正常、內圈故障、滾動體故障以及外圈故障(6 點鐘方向)4 種不同狀態的故障數據,除正常數據外每種狀態有3 種故障深度類型,直徑分別為0.177 8,0.355 6,0.533 4 mm,軸承電機載荷為0,軸承轉速為1 797 r/min,總共10 類故障類別作為本次實驗的數據來源。每類數據劃分為115 個分類樣本,10 類總共1 150 個樣本。訓練集大小為700 份,即每類70 份,測試集為450份,每類45 份。分類情況如表1 所示,其中RF、IF、OF分別為滾動體、內圈、外圈故障(6點鐘方向)。

表1 軸承數據描述Tab.1 Description of bearing data
實驗特征提取,通過函數映射從原始時間信號序列提取一系列新特征。本實驗每類原始時間序列總長度為117 760,將其切分為1 150 份,每份長度為1 024,分別提取每段時間序列的時域特征,并進行編號。1~10 為有綱量時域特征,分別為最大值、最小值、峰值、峰峰值、平均值、絕對平均值、方根幅值、方差、標準差和有效值;11~17 為無綱量時域特征,分別為峭度、偏度、波形因子、峰值因子、脈沖因子、裕度因子、余隙因子。
將上述提取到的時域特征輸入到SVM 中進行訓練,運用學習因子異步變化的粒子群優化算法(AsyLnCPSO)對SVM 的懲罰因子c 和核函數g進行迭代尋優。在本次實驗中,設置種群規模為30,最大迭代次數為50,同時設置學習因子c1和學習因子c2非線性遞增的起始下限和終止上限分別為[0.5,2.5]和[0.5,2.5],實驗迭代尋優結果和分類結果如圖1 和圖2 所示。
經過AsyLnCPSO 算法尋優后,SVM 的懲罰因子c 和核函數g 分別為57.54 和16.72。由收斂迭代圖可知,經過4 次迭代后搜索到最優值,尋優效果較好。將最優值代入SVM 中進行分類,由圖可知分類準確率可達98.875%。為了對比AsyLnCPSO算法的優異性能,分別用基本粒子群算法(PSO)、線性遞減權重粒子群優化算法(LinWPSO)、自適應權重粒子群優化算法(SAPSO)、隨機權重粒子群優化算法(RandWPSO)、學習因子同步變化粒子群優化算法(LnCPSO)5 種優化算法對SVM 進行迭代尋優。設置迭代次數為50 次,種群數量為30。迭代尋優結果如圖3—圖7 所示。
可以看出,經過50 次迭代以后,原始PSO 超過了設定的迭代次數,而導致結果未收斂,效果最差;其次是RandWPSO 算法,由于權重的隨機性導致尋優的不確定性,因此需要42 次迭代才能達到最優值;剩余3 種算法雖然迭代次數有所改善,但并未達到一個較好的迭代效果。可以看出本文所采取的尋優算法效果最好,僅需4 次便能尋到最優值,收斂性能遠高于其他粒子群算法。表2 為幾種粒子群算法最終收斂迭代次數以及準確率對比。

表2 性能對比圖Tab.2 Performance comparison chart
從表2 可以看出原始PSO 準確率較低,僅為89.97%,原因是原始PSO 使得函數在設定的迭代閾值內并未收斂,未尋到最優值,從而使得準確率較低。其余幾種算法雖然準確率與本文算法相接近,但收斂效果相比本文算法還存在較大差距。上述對比說明,本文所提出算法具有較大優勢,相比其他算法準確率最高,可達98.87%,同時收斂效果比其它算法更好,僅需4 次便可收斂,具有較大工程應用價值。
針對SVM 算法懲罰因子c 及核函數g 二次懲罰項α人為選取困難的缺點,提出一種AsyLnCPSO 優 化SVM 的 策 略,利用AsyLnCPSO 優異的尋優能力,使得SVM 能夠高效地進行故障診斷。針對原始PSO 以及其他PSO 優化算法收斂速度慢,容易陷入局部最優的問題,提出一種學習因子異步變化的粒子群故障診斷方法。實驗表明,該方法使得PSO 能夠快速收斂,具有較大的故障診斷價值。