摘 要: 針對模擬電路故障診斷中存在的診斷信息不充分、參數(shù)容差及元器件的非線性等問題,利用最小二乘支持向量機(LSSVM)在小樣本情況下良好的學習能力和泛化能力建立基于LSSVM的模擬電路故障分類模型。同時為提高故障診斷精度,采用粒子群優(yōu)化(PSO)算法對LSSVM的參數(shù)進行優(yōu)化,避免了參數(shù)選擇的盲目性。最后以典型濾波器電路的故障診斷為例進行了仿真驗證。實驗結果證明基于PSO的LSSVM模型可有效改善遍歷搜索引起的效率問題,其故障分類準確性及模型診斷效率都得到提高。
關鍵詞: 模擬電路; 故障診斷; 粒子群優(yōu)化; 最小二乘支持向量機
中圖分類號: TN710?34; V241.4 文獻標識碼: A 文章編號: 1004?373X(2013)08?0035?04
0 引 言
模擬電路是現(xiàn)代集成電路中不可或缺的組成部分,由于模擬電路具有容差、非線性等特點,其故障診斷技術雖然起步較早,但發(fā)展速度明顯滯后于數(shù)字電路。近年來,基于人工智能的模擬電路故障診斷方法得到了廣泛應用,文獻[1?2]利用神經網絡對模擬電路故障進行診斷,取得了較好的效果。
但是神經網絡存在訓練時間長,易陷入局部極值等不足,文獻[3?5]采用支持向量機(Support Vector Machine,SVM)方法進行模擬電路故障診斷,該方法在診斷精度和診斷效率方面都優(yōu)于BP神經網絡。當樣本數(shù)量增加,標準SVM存在訓練復雜度高,二次規(guī)劃問題難以求解等不足。
最小二乘支持向量機是在標準SVM的基礎上采用二次損失函數(shù)提高求解速度。同時,核函數(shù)的參數(shù)決定了樣本數(shù)據在高維特征空間分布的復雜程度,從而影響最優(yōu)分類超平面的泛化能力。文獻[6]提出采用交叉驗證的網格搜索法進行參數(shù)尋優(yōu),有效避免了過學習和欠學習狀態(tài)的發(fā)生。
當需要進一步提高準確率時,必須擴大參數(shù)的搜索范圍或降低網格的大小,運算復雜度呈指數(shù)型增長,運算時間急劇增加[7]。本文借助粒子群算法強大的全局搜索能力對LSSVM的參數(shù)進行優(yōu)化,將訓練后LSSVM模型用于模擬電路的故障診斷中。
1 最小二乘支持向量機
最小二乘支持向量機(Least Square Support Vector Machine,LSSVM)是由Suykens于1999年提出的一種新型支持向量機[8]。
該模型將最小二乘線性系統(tǒng)引入到支持向量機中,用二次損失函數(shù)代替SVM中的不敏感損失函數(shù),通過損失函數(shù)將SVM中的二次尋優(yōu)轉化為求解線性方程組,從而降低了計算的復雜程度。
設有[N]個樣本[xi]及其所屬類別[yi],求解最小二乘支持向量機分類最優(yōu)化問題的目標函數(shù)為:
[minω,β,ξJ(ω,β,ξ)=12ω2+12Ci=1Nξ2i] (1)
[s.t. yi[ωT?(xi)+β]=1-ξi, i=1,2,…,N] (2)
式中:[J(ω,β,ξ)]為結構風險;[ω]為權向量;[ξi∈RN×1]為誤差向量;[β∈R]為偏置項;[C>0]表示對錯分樣本的懲罰系數(shù)。
引入Lagrange乘子[αi]求解優(yōu)化問題:
[L(ω,β,ξ;αi)=J(ω,ξi)-i=1nαi{yi[ωT?(xi)+β]-1+ξi}] (3)
根據Karush?Kuhn?Tucker條件在鞍點處將式(3)分別對[ω,β,ξ]和[αi]進行求導并令它們等于0,可得到一個線性系統(tǒng):
[0yTyZZT+C-1Iβα= 11N] (4)
式中:[Z=[?(x1),…,?(xN)]T],[y=[y1,…,yN]T],[1N=[1,…,1]T],[ξ=[ξ1,…,ξN]T],[α=[α1,…,αN]T],[I=R×R]。
定義矩陣[Ω=ZZT]并對[Ω]運用Mercer條件,則:
[Ωi,j=yiyj?T(xi)(xj)=yiyjK(xi,xj)] (5)
式中:[K(xi,xj)]表示核函數(shù),用于特征空間的轉換。常用的有線性核函數(shù)(Linear Kernel)、多項式核函數(shù)(Polynomial Kernel)、Sigmoid核函數(shù)和徑向基核函數(shù)(Radial Basis Function Kernel, RBF)[9]。RBF核函數(shù)與線性函數(shù)相比,可處理多維空間樣本;與多項式核函數(shù)相比,所需設定的參數(shù)較少。實際上,文獻[10]證明了線性核函數(shù)和多項式核函數(shù)是高斯RBF核函數(shù)的特殊形式。本文以RBF核函數(shù)[K(x,y)=exp(-γx-y2)]建立支持向量機模型。其中[γ]為核寬度參數(shù),控制RBF核的作用范圍,則LSSVM分類決策函數(shù)為:
[f(x)=signi=1NαiyiK(xi,xj)+β] (6)
因此,采用RBF核函數(shù)的LSSVM需要對核函數(shù)的參數(shù)[γ]和懲罰參數(shù)[C]進行優(yōu)化選擇。
2 PSO?LSSVM模型建立方法
2.1 粒子群優(yōu)化算法
粒子群優(yōu)化算法(Particle Swarm Optimization, PSO)屬于進化算法(Evolutionary Algorithm,EA)的一個分支,最早由Kennedy和Eberhart于1995年提出[11]。該算法根據式(7)更新個體極值和全局極值來確定每個粒子的搜索方向。經過一段時間后,大部分的粒子會逐漸將自己的位置移動到全局最優(yōu)解的附近,同時形成一個粒子群體,并不斷逼近求解空間中的目標位置。
[Vk+1id=ωVkid+c1r1(Pkid-Xkid)+c2r2(Pkgd-Xkgd)Xk+1id=Xkid+Vk+1id] (7)
式中:[ω]表示慣性權重;[d=1,2,...,m];[i=1,2,...,n];[k]表示當前迭代次數(shù);[Vid]為粒子的速度;[Pid]表示粒子的個體極值分量;[Pgd]表示粒子所在子群中的局部極值分量; [c1,c2]為粒子的學習因子;[r1],[r2]表示[0,1]之間的隨機數(shù)。
2.2 慣性權重
當PSO算法被首次提出時,并未包含慣性權重。1998年由Shi和Eberhart對PSO算法進行改進,加入慣性權重[ω]用來控制更新前速度的影響,當[ω]較大時全局尋優(yōu)能力強,有利于挑出局部最優(yōu)點,當[ω]較小時,局部搜索能力較強,有利于提高算法的收斂速度[12]。因此在迭代過程中采用(8)式對[ω]的大小進行自適應的調整,隨著迭代次數(shù)增加,逐漸的減小[ω]的值,使求解的過程能夠更快的找到全局最優(yōu)解。
[ωki=ωmin+cfki-fkminfkmax-fkmin·Tmax-kTmax] (8)
式中:[ωki]表示第[k]代中粒子[i]的慣性權重;[ωmin]表示設置的權重最大值;[c]是[0,1]之間的調節(jié)系數(shù);[k]為當前進化代數(shù);[Tmax]為最大迭代次數(shù);[fki]表示粒子[i]第[k]代的適應值;[fkmax]和[fkmin]分別表示第[k]代粒子的最大和最小適應度值。
隨著迭代過程增加,因子[(fki-fkmin)(fkmax-fkmin)]的值因粒子的聚集效應不斷減小,同時因子[(Tmax-k)Tmax]也不斷減小,這樣可保證粒子在進化初期具有較大的慣性權重,在進化后期的慣性權重較小,符合慣性權重自適應調整策略的要求[13]。
2.3 適應度函數(shù)
適應度函數(shù)是衡量粒子所代表參數(shù)值優(yōu)劣的標準,本文定義適應度函數(shù)為:
[fitness=f(i)] (9)
式中[f(i)]表示粒子[i]在LSSVM中的正分率。
2.4 多分類LSSVM
支持LSSVM模型只能用于兩類別的分類問題,而模擬電路的故障識別屬于多分類問題。為了將支持向量機的適用范圍有效拓展到多類別的分類(Multi?class classification),多位學者提出了不同的方法。如一對一算法(One?against?one method,OAO)[14],一對多算法(One?against?Rest method,OAR)[15],決策導向無環(huán)圖SVM(Directed Acyclic Graph SVM,DAGSVM)[16]等。本文采用OAO方法處理多分類問題,在處理[k]類別分類問題時,將構建[k(k-1)2]個兩分類決策函數(shù)(每兩個類別之間構建一個),求解(10)式最優(yōu)化問題即可得到對類別[i]和類別[j]分類的兩分類支持向量機。
[min12(ωij)Tω+Ctξijts.t. (ωij)TΦ(xi)+bij≥1-ξijt, if yt=i,(ωij)TΦ(xi)+bi≤-1+ξijt, if yt≠iξijt≥0] (10)
未知類別的測試數(shù)據[x]的判別方式采用投票的方式,決策函數(shù)如果判定[x]屬于第[i]類,類別[i]加一票;否則,類別[j]加一票。最后將[x]歸屬于得票數(shù)最高的類別。
2.5 PSO?LSSVM算法實現(xiàn)步驟
根據模擬電路故障診斷的特點,建立基于PSO?LSSVM的模擬電路故障診斷模型,其結構如圖1所示。
步驟如下:
(1)對待測電路加載激勵信號,將采集到的輸出響應信號作為原始樣本數(shù)據。
(2)利用特征提取技術提取數(shù)據中的不變特征形成故障模式空間。
(3)PSO參數(shù)初始化。包括種群規(guī)模[m],學習因子[c1]、[c2],慣性權重最小值[ωmin]、最大迭代次數(shù)[Tmax]、粒子的初始速度和位置等。
(4)將訓練樣本代入模型,根據式(10)計算每個粒子的適應度函數(shù)值。
(5)根據式(7)更新粒子的速度和位置。
(6)檢查是否滿足終止條件,如滿足則根據式(6)輸出結果,否則返回步驟(2)。
(7)將測試樣本輸入訓練好的LSSVM模型,根據輸出判斷故障模式。
3 仿真實驗與結果分析
3.1 實驗數(shù)據的獲取
為驗證本文方法的正確性和有效性,采用Sallen?Key帶通濾波器[17]作為研究對象,電路結構及參數(shù)如圖2所示。設電路中電容的容差為其標稱值的10%,電阻的容差為其標稱值的5%。對電路進行靈敏度分析可知,元件R2,R3,C1,C2的變化對電路的輸出Vo影響顯著,因此,設置電路的故障類型為R2,R3,C1,C2發(fā)生單軟故障,則電路的故障模式可劃分為9種,如表1所示。其中↑和↓分別表示元件參數(shù)值向上或向下偏離標稱值的50%。
在PSpice環(huán)境下對電路進行Monte Carlo仿真,仿真默認溫度27 ℃,其他仿真條件采用默認設置,每種故障模式采樣50次。
本文采用小波包變換提取故障特征,即利用各頻段信號的能量構造故障特征向量。首先對采樣信號進行三層小波包分解,基函數(shù)采用db3小波,根據重構信號計算8個頻帶的能量,并以能量為元素構成一個特征向量。為提高收斂速度,應對特征樣本進行歸一化處理。對輸出信號Vo的特征向量如表2所示(由于篇幅限制,給出部分值)。針對9種故障模式,采用一對一方法構建LSSVM多分類器,共需要36個二分類LSSVM。
3.2 仿真結果分析
為驗證本文方法的效果,分別利用兩種模型對所得數(shù)據進行故障診斷。模型一,采用LSSVM模型,用網格劃分來尋找最優(yōu)參數(shù),參數(shù)[C]的范圍設定為[0,100],參數(shù)[γ]的范圍設定為[-100,100];模型二,采用改進的PSO算法優(yōu)化LVSVM模型參數(shù),設定種群規(guī)模[m]=20,學習因子[c1=c2]=1.7,調節(jié)系數(shù)[c]=0.5,最大迭代次數(shù)[Tmax]=100。隨機選取30組數(shù)據作為訓練樣本,另外20組數(shù)據作為測試樣本。首先利用訓練樣本分別對兩種診斷模型進行訓練,然后利用訓練后的模型對測試樣本進行故障診斷,所得診斷結果如表3所示。
從表3可知,與LSSVM模型相比,經過粒子群優(yōu)化的LSSVM診斷方法的故障診斷準確率和診斷效率都得到提高。
4 結 語
本文利用改進的粒子群優(yōu)化算法對最小二乘支持向量機模型進行參數(shù)尋優(yōu)。首先針對標準PSO易陷入局部最優(yōu)的問題,將小生境技術引入到粒子的優(yōu)化迭代過程中,通過對粒子進行分類保證種群的多樣性。然后借助粒子群算法的全局搜索能力對LSSVM模型的參數(shù)進行動態(tài)選擇。最后以典型濾波器電路Sallen?Key的故障診斷為例進行仿真驗證。仿真結果表明,采用改進的PSO算法對LSSVM模型進行參數(shù)尋優(yōu)時克服了網格劃分遍歷搜索造成的低效率問題。同時,與LSSVM相比,故障診斷精度和效率都得到了提高。
參考文獻
[1] AMINIAN F, AMINIAN M, COLLINS H W, Jr. Analog fault diagnosis of actual circuits using neural networks [J]. IEEE Transactions on Instrumentation and Measurement, 2002, 51(3): 544?550.
[2] 王承,陳光,謝永樂.基于小波?神經網絡的模擬電路IDDT故障診斷[J].儀器儀表學報,2005,26(11):1106?1108.
[3] 毛先柏.基于支持向量機的模擬電路故障診斷研究[D].武漢:華中科技大學,2009.
[4] 連可,王厚軍,龍兵.基于SVM的模擬電子系統(tǒng)多故障診斷研究[J].儀器儀表學報,2007,28(6):1029?1034.
[5] 王安娜,邱增,吳潔,等.基于SVM多類分類算法的模擬電路軟故障診斷[J].東北大學學報:自然科學版,2008,29(7):924?927.
[6] KEERTHI S S, LIN C J. Asymptotic behaviors of support vector machines with gaussian kernel [J]. Neural Computation, 2003, 15(7): 1667?1689.
[7] üSTüN B, MELSSEN W J. Determination of optimal support vector regression arameters by genetic algorithms and simplex optimization [J]. Analytic Chimica Acta, 2005(544): 292?305.
[8] SUYKENS J A K, VANDEWALLE J. Least square support vector machines classifiers [J]. Neural Processing Letters, 1999, 9(3): 293?300.
[9] 潘明清.基于支持向量機的機械故障模式分類研究[D].杭州:浙江大學,2009.
[10] MüLLER K R, MIKE S, R?TSCH G, et al. An Introduction to kernel?based learning algorithms [J]. IEEE Transactions on Neural Networks, 2001, 12: 181?202.
[11] KENNEDY J, EBERHART R C. Particle swarm optimization [C]// Proceeding of IEEE International Conference on Neural Network. Perth, Australia: IEEE, 1995: 1942?1948.
[12] SHI Y, EBERHART R C. A modified particle swarm optimizer [C]// IEEE International Conference on Evolutionary Computation. Piscataway, NJ: IEEE Service Center, 1998: 69?73.
[13] 李勇平.基于改進粒子群神經網絡的電信業(yè)務預測模型研究[D].廣州:華南理工大學,2009.
[14] KNEEL U. Pairwise classification and support vector machines [M]. [S.l.]: MIT Press, 1999: 255?268.
[15] BOTTOU L, CORTES C. Comparison of classifier methods: a case study in handwriting digit recognition [C]// International Conference on Pattern Recognition. [S.l.]: IEEE Computer Society Press, 2000: 77?87.
[16] PLATT J C, CFISFIANINI N, SHAWE?TAYLOR J. Large margin DAGs for multi?class classification [M]. [S.l.]: MIT Press, 2000: 547?553.
[17] AMINIAN F, AMINIAN M. Fault diagnosis of analog circuits using Bayesian neural networks with wavelet transform as preprocessor [J]. Journal of Electronic Testing: Theory and Applications, 2001, 17(1): 29?36.