焦 斌, 郝云鎖,2
(1.上海電機學院 電氣學院,上海200240;2.華東理工大學信息科學與工程學院,上海200237)
支持向量機(Support Vector Machines,SVM)是Vapnik提出的一種新型的統計學習方法,它是統計學習理論中最年輕的部分,能較好地解決小樣本、非線性等實際問題,已成為智能技術領域研究的熱點。實踐表明,SVM的性能與核函數的類型、核函數的參數以及懲罰系數C有很大關系。因此,研究SVM的核函數選取及參數優化方法,對支持向量機的發展有著重要的意義[1]。PSO算法是近幾年發展起來的新型智能優化算法,具有較強的收斂能力和魯棒性,已應用于機器學習、電力系統、機械設計與通信工程等鄰域。
近幾年來,國內的許多學者對故障診斷進行深入研究,并取得了一定的成果[2]。郭磊等在滾動軸承的故障診斷中采用小波支持向量機,得到了較高的分類正確率;于德介等利用EMD和SVM方法完成齒輪箱的故障診斷。吳震宇等在內燃機的故障診斷中利用蟻群支持向量機,取得了較好的效果。文中針對SVM核函數的選取及參數的優化,選擇以單一的核函數進行合成,得到合成核函數;并采用粒子群智能優化算法,優化SVM的參數;將優化后的合成核SVM在UCI數據集上進行仿真實驗,利用優化的SVM建立多分類決策模型,對風力發電機進行故障診斷。
支持向量機是結構風險最小化方法的近似實現,從線性可分模式的情況來看,它的主要思想就是建立一個超平面作為決策面,該決策面不但能夠將所有訓練樣本正確分類,而且使訓練樣本中離分類面最近的點到分類面的距離最大[3]。

的約束條件下求

的最小值。
這個約束優化問題稱為原問題,該問題可以利用Lagrange乘子方法將其轉化為對偶問題解決,即

的約束條件下,求

的最大值。

對于非線性不可分模式,可通過某種特定的非線性映射,將樣本空間映射到高維特征空間。其線性可分,并在高維特征空間中構造出最優分類超平面,從而實現分類,這種非線性映射函數也稱為核函數[4]。假設φ(x)表示輸入向量x在特征空間所映射的“像”,則核函數可表示為

根據泛函的有關理論,只要核函數K(xi,xj)滿足Mercer條件,它就對應某一變換空間的內積。因此,用適當的內積核函數就可以實現從低維空間向高維空間的映射,從而實現某一非線性變換后的線性分類,而計算復雜度卻沒有增加。與線性可分模式相比,此時的約束條件式(4)變為

其中,C用以控制對錯分樣本的懲罰程度。
最優分類函數變為

選擇不同的內積核函數可形成不同的算法,目前在分類方面研究較多也較常用的核函數有4種,即線性核函數、多項式核函數、徑向基核函數和Sigmoid核函數。
多核模型是一類靈活性更強的基于核的學習模型,近來的理論和應用已證明利用多核代替單核能夠增強決策函數的可解釋性,并可獲得比單核模型或單核機器組合模型更優的性能構造多核模型[5]。
核函數主要分為全局核函數和局部核函數兩大類。全局核函數具有全局特性,允許相距很遠的數據點都可以對核函數的值有影響,泛化性能強、學習能力較弱;而局部核函數具有局部性,只允許相距很近的數據點對核函數的值有影響,學習能力強,泛化性能較弱[6]。
徑向基核函數

為典型的局部核函數,圖1為當p分別取10,5,3.5,2.5,2時高斯核函數曲線(其中圖例中的 p即為1/σ2)。

圖1 徑向基核函數曲線(局部核)Fig.1 Mapping characteristics of RBF(local kernel)
由圖1可以看出,當輸入數據點在測試點附近時,核函數的值就有明顯變化,這也說明了高斯核函數是一種局部性核函數。
多項式核函數Kpoly=(+1)d為典型的全局核函數,圖2 為當d分別取1,2,4,5,6 時多項式核函數的曲線。

圖2 多項式核函數曲線(全局核)Fig.2 Mapping characteristics ofPolynomial(global kernel)
由圖2可以看出,當輸入數據點遠離測試點0.2時,核函數的值才有明顯改變,由此說明了多項式核函數屬于全局性核函數。
由于多項式核函數和高斯核函數分別是全局核和局部核的典型代表,且都有各自的局限性。把這兩類核函數混合起來,組成混合核函數,由該混合核函數構成的支持向量機同時具備兩個單核的優點,具有更好的學習能力和泛化性能[7]。文中采用徑向基核函數和多項式核函數的合成核函數訓練支持向量機。徑向基核函數和多項式核函數的合成核可定義為

其中,p為合成核函數的協同因子,取值范圍為0≤p≤1。為了說明合成核函數比單核函數具有更好的泛化學習能力,取徑向基核函數1/σ2=5,多項式核函數 d=1,協同因子ρ的取值范圍為0.5~0.95,測試點仍取0.2,得到合成核函數的曲線如圖3所示。

圖3 合成核函數曲線Fig.3 Mapping characteristics of composite kernels
由圖3中可以看出,合成核函數同時具有局部核和全局核的效果,圖例中并沒有展示出ρ較小時候的曲線,因為此時全局核的影響效果非常的小。當ρ增大時,多項式核函數的全局效果更加明顯。
粒子群優化算法(PSO)是Eberhart等[8]提出的一種進化計算技術。PSO求解優化問題時,問題的解對應于搜索空間中一只鳥的位置,這些鳥為“粒子”(Partical)。每個粒子都有自己的位置和速度(決定飛行的方向和距離),還有一個由被優化函數決定的適應值。各個粒子記憶、追隨當前的最優粒子,在解空間中搜索[9]。
PSO初始化為一群隨機粒子(隨機解),然后通過迭代找到最優解。在每一次迭代中,粒子通過跟蹤兩個“極值”來更新自己。第一個就是粒子本身所找到的最優解,這個解叫做個體極值pbest;另一個是整個種群目前找到的最優解,這個極值是全局極值gbest。在找到這兩個最優值時,粒子根據如下公式更新自己的速度和位置[10]:

其中:p為粒子當前的位置,表示SVM參數{C,σ}的當前值;υ∈[-vmax,vmax]為粒子的速度,決定下一代{C,σ}的更新方向和大小;β為為約束因子,控制速度的權重,通常取1;c1,c2為學習因子,通常取c1=c2=2;r1,r2為介于(0,1)之間的隨機數;ω為非負數,稱為慣性因子。
PSO是近幾年興起的一種進化算法,將粒子群算法和支持向量機相結合建立風力發電機故障診斷的模型是有效可行的。粒子群優化算法實現簡單、優化效率高,通過信息的共享及傳遞大大縮短了尋優時間,提高了收斂速度。文中選用k-fold交叉驗證誤差作為SVM參數選擇的目標值,利用PSO算法對徑向基核函數、多項式核函數和合成核函數的核參數及懲罰因子進行優化。在PSO尋優過程中,合成核的權系數是動態調整的,對每一次迭代尋優操作獲得一組權系數ρ,利用這組權系數產生核即得到的是一個單核。SVM用這個單核對數據集進行分類,計算分類精度后再迭代調整權系數。
算法具體步驟描述如下:
1)讀取樣本數據,隨機產生一組{C,σ}作為粒子的初始位置。
2)把整個樣本平均分成K個互補包含的子集s1,s2,…,sk。
3)根據當前的{C,σ}訓練SVM,計算k-fold交叉驗證誤差;① 初始化i=1;② Si子集作為檢驗集,其余的子集合并起來作為訓練集,訓練SVM;③計算第i子集的泛化誤差ei=mean(Si-)2,令i=i+1,重復②直到i=k+1;④計算k次泛化誤差的平均值得到k-fold交叉驗誤差。
4)以k-fold交叉驗證誤差作為適應值,并記錄個體與群體所對應的最佳適應值的位置為pbest和gbest,根據式(10),式(11)搜尋更好的{C,σ}。
5)重復2)直到滿足最大迭代次數。
6)結束。
對于PSO算法優化支持向量機參數的實現,相當于把SVM模型的構造、預測算法嵌入到PSO計算適應值的步驟當中,因此模型的回歸精度有很大的提高。用PSO優化SVM,只需隨機選取少量樣本進行模型訓練,其余大量樣本作為測試用。這點不同于其他故障診斷方法,它們是將大量樣本用作訓練,少量樣本用作測試。所以,理論上PSO更加節省時間,而由此得到的學習模型也具有較好的預測能力。特別是對一些大樣本數據,更能體現PSO和SVM的優勢。本,各樣本有13個屬性;Breast Cancer為2分類問題,有683個樣本,各樣本有10個屬性??紤]到算法的隨機性。把每個數據集分成4個子集,每次取其中一個作為測試集,其余3個合并為訓練集,取4次實驗的均值作為該數據集的分類結果。初始化PSO算法的參數,c1=c2=2,ωmax=1.2,ωmin=0.4,分別訓練徑向基核函數支持向量機,多項式核函數支持向量機,合成核函數支持向量機;對4組數據進行分類,并對分類精度進行比較,具體結果見表1。3種支持向量機經過參數尋優得到的參數見表2。

表1 RBF核、多項式核和合成核支持向量機對數據分類正確率的比較Tab.1 Classification of composite kernel compares with RBF and polynomial kernel %
文中實驗采用 UCI數據集中的 Wine,Iris,Forest Fires,Breast Cancer 4組數據進行:Wine為3分類問題,有178個樣本,各樣本有13個屬性;Iris數據為3分類問題,有150個樣本,各樣本有4個特征屬性;Forest Fires分為2分類問題,有517個樣
由表1中可以看出,對于每一個數據集的數據,合成核函數分類器的正確率都比單個核函數的正確率要高,而且比較穩定。以上結果表明PSO算法在參數尋優中的優越性和良好的搜索能力,采用合成核函數的支持向量機與單核支持向量機相比提高了分類精度。

表2 RBF核、多項式核和合成核支持向量機所對應的參數Tab.2 Parameters of RBF,polynomial and composite kernels
風力發電機齒輪箱是傳動鏈的一部分,起著功率傳送功能,是風機中比較重要的部件。由于葉輪的直徑較大,一般的風速條件下,它的轉速比較低,不能滿足發電機發電的轉速要求。通過齒輪箱的增速作用,使速度達到要求,把葉片獲得的動能傳給發電機進行發電。
齒輪箱是風機中最容易出故障的部位[11]。故利用文中提出的合成核分類器,針對風力發電機齒輪箱的正常、斷齒、齒面磨損、軸承內圈損壞及軸承外圈損壞5種典型工況,進行故障模式識別分類。
基于合成核函數支持向量機模型,結合決策樹法和投票法,建立多分類SVM決策模型,設計出的基于合成核函數分類器的風機齒輪箱故障診斷多分類模型(見圖 4)[12]。
圖4 中A代表正常的狀況,B,C,D和E分別代表斷齒,齒面磨損,軸承內圈損壞和軸承外圈損壞等4種故障類型。故障診斷決策模型中,第1層結構是用來判斷風機齒輪箱是否正常工作的,并以A類正常工作的樣本集作為正的樣本(+1),其他的故障類型樣本集作為負的樣本(-1)進行訓練。模型的第2層是用以識別風機齒輪箱的4種故障類型的,每個SVM分類器都以第1個故障類型作為正樣本輸出。在所有診斷的4種故障類型兩兩之間建立6個SVM分類器,再利用它們相對應的2個樣本對每個分類器進行訓練,實現對風機齒輪箱的故障診斷。
通過風機實驗平臺得到的一組特征參量,進行數據分析和歸一化處理[13],10組待診斷的齒輪箱故障樣本的振動信號特征參數見表3。

圖4 基于多分類SVM的風機齒輪箱故障診斷決策模型Fig.4 MCSVM fault decision model of wind turbine gearbox

表3 齒輪箱待診斷樣本的振動信號特征參量Tab.3 Vibration signal characteristic parameters of staying sample of gearbox
利用多分類SVM決策流程,對表3中的10組數據齒輪箱故障樣本進行故障診斷,可以得到每個不同的SVM分類器對其中所提出的故障樣本輸出結果;根據SVM的原理可以將其分為正負兩種類型,樣本的輸出結果見表4。每個待診斷樣本在齒輪箱5種狀態模式中的最終得票數情況及最終的診斷結果見表5。根據輸出結果的符號判斷待診斷樣本的歸屬,并且在相對應的齒輪箱故障類型的得票數上加1。以BC兩兩分類器為例,假如輸出的為正數,那么就在B故障類型的得票數上加1;反之輸出為負,在C故障的得票數上加1,根據最后的得票數判斷該樣本的最終故障類型[14]。從結果中可以看出,合成核函數訓練的支持向量機在風力發電機故障診斷中有著良好的穩定性和分類精度。

表4 每個SVM分類器對樣本的輸出結果Tab.4 Output of sample about each SVM classifier

表5 SVM模型中的投票結果和診斷結果Tab.5 Result of the vote and diagnosis in SVM
文中利用合成核支持向量機進行分類,彌補了單核在學習能力和泛化能力上的不足,并利用粒子群智能優化算法對支持向量機進行參數尋優。通過理論分析和仿真實驗,表明利用合成核函數支持向量機進行分類,不僅提高了分類的準確率,而且分類器的穩定性也得到了很大的提高。把合成核的支持向量機應用到風力發電機的故障診斷中,建立決策模型取得了良好的效果。
[1]Vapnik V N.The Nature of Statistical Learning Theory[M].New York:New York Springer Verlag,1995.
[2]李紅衛,楊東升,孫一蘭,等.智能故障診斷技術研究綜述與展望[J].計算機工程與設計,2013,34(2):632-637.LI Hong-wei,YANG Dong-sheng,SUN Yi-lan,et al.Study review and prospect of intelligent fault diagnosis technique[J].Computer Engineering and Design,2013,34(2):632-637.(in Chinese)
[3]SmolaA J,Scholkopf B A.Tutorial on support vector machine[R].NeuroCOLT2 Technical Report NC2-TR-1998-030.London:Royal Holloway College,University of London,1998.
[4]Cristianini N,Shawe-Taylor J.An Introduction to Support Vector Machine and other Kernel-Based Learning Methods[M].Cambridge:Cambridge University Press,2004.
[5]汪洪橋,蔡艷寧.多核學習方法[J].自動化學報,2010,36(8):1038-1041.WANG Hong-qiao,CAI Yan-ning.On multiple kernel learning methods[J].Acta Automatica Sinica,2010,36(8):1038-1041.(in Chinese)
[6]劉明,周水生,吳慧.一種新的混合函數支持向量機[J].計算機應用,2009,29:167-168.LIU Ming,ZHOU Shui-sheng,WU Hui.SVM based on new mixed kernel function[J].Journal of Computer Applications,2009,29:167-168.(in Chinese)
[7]Smits G F,Jordaan E M.Improved SVM regression using mixtures of kernels[C]//Proceedings of the International Joint Conference on Neural Networks.Honolulu:IEEE,2002,3:2785-2790.
[8]Kennedy J,Eberbart R C.Particle swarm optimization[C]//Proc IEEE IntConf on Neural Networks.Piscataway:IEEE Service Center,1995:1942-1948.
[9]SHI Yu-hui,Eberhart R C.A modified particle swarm optimizer[C]//Proceedings of 1998 IEEE International Conference on Evolutionary Computation.Anchorage,AK:IEEE,1998:1945-1950.
[10]Eberhart R,Kenney J.A new optimizer using particle swarm theory[C]//Proc of the Sixth International Symposium on Micro Machine and Human Science.Piscataway,NJ:IEEE Press,1995:39-43.
[11]吳今培.智能故障診斷技術的發展和展望[J].振動、測試與診斷,1999,19(2):79-86.WU Jin-pei.Development and forward of intelligent trouble diagnosis[J].Journal of Vibration,Measurement and Diagnosis,1999,19(2):79-86.(in Chinese)
[12]Moreira M,Mayoraz E.Improved Pairwise Coupling Classification with Correcting Classifiers[M].Machine Learning:ECMI-98.Berlin,Heidelberg:Springer Berlin Heidelberg,1998:160-171.
[13]Patton R J.Robustness in model based fault diagnosis:1995 situation[J].Annual Review in Control,2007,43(1):357-365.
[14]霍雨佳.支持向量機分類算法的研究與應用[D].河北:華北電力大學,2007.