鐘化蘭,黃揚海,傅軍棟
(華東交通大學 電氣與自動化工程學院,江西 南昌 330033)
在電力系統中,變壓器承擔著電能傳遞的重要任務。我國是一個用電大國,變壓器的運行狀態緊密影響著用戶的用電體驗以及日常生產生活。油中溶解氣體分析法(Dissolved Gas Analysis,DGA)是一種預防性監測方法,它能直接反映出變壓器的運行狀態,在國內被列為油浸式變壓器故障診斷方法的首選。但是,傳統的DGA方法判據大多是建立在經驗之上,且故障分類的邊界過于絕對,容易出現分類錯誤的情況,后融入智能算法,以提高診斷準確度,常用的智能算法有神經網絡、免疫算法(Immue Algorithm)、支持向量機(Support Vector Machines,SVM)等。雖然,這些算法能夠被應用于故障診斷,但是單一的分類算法或多或少會存在收斂慢、精度低、易陷入局優等問題。如文獻[1]建立的支持向量機故障診斷模型,雖然能夠很好的解決非線性分類問題,但是該方法存在運行不穩定、模型表現受超參數對制約等問題。文獻[2]在以BP神經網絡為基礎構建的變壓器故障診斷模型的基礎上,引入天牛須智能優化算法,對故障診斷模型進行參數優化,該模型在變壓器故障診斷中提高了準確率、縮減了診斷時間。文獻[3]利用人工蜂群算法(Artificial Bee Colony Algorithm,ABC)優化支持向量機參數,克服了傳統方式選取最優超參數組效率低下的問題,減少了SVM算法的故障診斷時間,提高了故障診斷準確率,但是人工蜂群算法存在局部搜索能力較弱,導致搜索精度不理想的問題,因此尋得參數并不能使得SVM故障診斷模型性能達到最優。
因此,針對ABC算法的不足,本文以傳統人工蜂群算法為基礎,提出了一種改進精英蜂群算法(Elite Artificial Bee Colony Algorithm,EABC),并將其應用SVM算法中,構建EABC-SVM變壓器故障診斷模型。通過仿真驗證,此模型具有故障診斷準確率高、克服局優能力強、計算簡單等優勢。
支持向量機[4](Support Vector Machines,SVM),是一種基于統計學習理論(Statistical Learning Theory,SLT)的新的機器學習算法。由SLT基本原理可知,基于統計模型的機器學習算法誤差由經驗誤差和置信域組成,在SVM模型中,以最小置信域為優化目標,訓練誤差為約束條件,因而該模型是一種結構誤差最小化的機器學習模型,具有良好的分類精度與泛化能力。其基本分類原理如圖1所示。

圖1 SVM基本分類原理圖

(1)
式中,w為最優超平面的法線方向;b為閾值。約束條件是指個樣本點(xi,yi)到最優超平面的距離,其值是大于或者等于1。
若在圖1中出現類別1與類別2出現鄰近甚至重合的情況下,則上述線性可分問題變為了線性不可分模式下的問題。因此,引入松弛變量ζ,來弱化式(1)中的約束條件,使得SVM在線性不可分數據樣本中也能得到很好的應用,同時引入懲罰參數C,來優化松弛變量,因此得到式(2)如下所示。
(2)
首先構建拉格朗日函數,將式(2)的目標函數轉化為關于w和b的無約束問題,如式(3)所示。
(3)
式中,λi>0(i=1,2,…,l)為拉格朗日乘子。
以拉格朗日對偶理論為依據,將式(2)的問題轉變為對偶問題,即:
(4)
在處理變壓器油中溶解氣體故障特征量數據這種樣本小、維數高的非線性數據時,SVM優勢明顯。SVM通過非線性變換Φ:Rm→H,將樣本數據從原始空間映射到高維度歐幾里德空間H中,映射到高維空間中的分類器變得更加簡單[5]。問題空間映射到高維空間可視化如圖2所示。

圖2 低維樣本問題映射到高維空間示意圖
在原始問題空間向高維歐幾里德空間轉換同時,向量點積計算的難度會隨著空間維度的增高變大。這里需要采用滿足Mercer定理的核函數K(xi,xj)來替代高維度空間中向量的點積運算,從而減少計算的工作量和復雜程度。高斯徑向基核函數參數少、局部性能優良、性能穩定,在實現SVM非線性映射時具有一定優勢[6-7]。因此,在本文的SVM故障診斷模型中,選取高斯徑向基核函數。
(5)
原始問題完成到歐幾里德高維特征空間的映射后,求解問題轉化為:
(6)

(7)
即得最優分類函數為:
f(x)=sgn(w*K(xi,xj)+b*)
(8)
在上述推導中不難發現發現,式(2)中的懲罰因子C和式(5)中的核參數g的取值在很大程度上決定了SVM分類模型的表現。為了使SVM分類模型具有優秀的分類表現,本文采用改進精英蜂群算法對SVM的超參數組合(g,C)進行優化選取,旨在提高SVM分類模型的性能。
人工蜂群算法是一種研究蜜蜂采蜜行為的新型群體智能優化算法,在2005年由Karaboga小組提出,旨在解決多變量函數優化問題,是集群智能思想的一個具體應用[8]。ABC算法具有搜尋盲目性較低、對個體進行針對性比較等特點。其優勢在于每次全局迭代過程中通過引領蜂、跟隨蜂、偵察蜂進行局部搜索,通過局部尋優最終找到全局最優。
在ABC[9]算法中,求解問題時,首先根據公式(9)隨機產生N個初始解如式(9)所示。
xi,j=Lj+rand(0,1)(Uj-Lj)
(9)
式中,xi,j∈(Lj,Uj),Uj和Li分別代表為搜索解的上下限,i=1,2,…,N;j=1,2,…,D,D為決策變量的數量。初始后,ABC通過3個階段來搜索待解決問題的最優解,具體如下。
2.1.1 引領蜂階段
在對應的蜜源xi,j的位置,每只引領蜂通過以式(10)的策略,進行搜索并產生新的蜜源。
vi,j=xi,j+φ(xi,j-xk,j)
(10)
式中,j∈[1,D],代表引領蜂任意地選擇去進行搜索的某一維,其值為隨機的整數;k∈{1,2,…,NP},k≠i,表示在NP個蜜源中隨機選擇一個不等于i的蜜源;φ∈[-1,1]代表均勻分布的隨機數。若新蜜源適應度優于舊蜜源時,采用貪婪的思想,引領蜂選擇高適應度的蜜源,所有的引領蜂保留了高適應度的蜜源后,完成式(10)運算并返回舞蹈區分享蜜源信息。
2.1.2 跟隨蜂階段
在引領蜂以跳舞的方式將自身探索到的蜜源信息向跟隨蜂傳遞后,跟隨蜂分析所接受到蜜源信息,并按式(11)計算的概率進行跟隨。
(11)
跟隨蜂選擇引領蜂進行跟隨時,采用輪盤賭的策略。在[0,1]產生一個均勻分布的隨機數r,如果Pi>r,該跟隨蜂根據式(10)的策略,在選取蜜源i開采,同時探測此蜜源i位置附近的其他蜜源,并采取與引領蜂相同的策略,保存自身最優適應度蜜源。在搜索過程中,如果蜜源經過迭代發現適應度更好的蜜源且被保留,則蜜源能被開采的次數參數trail置為0,反之trail+1。
適應度函數為:
(12)
2.1.3 偵察蜂階段
如果一個蜜源經過式(10)的勘探并沒有改進更新且trail的值大于蜜源能被開采的最大限制參數limt的值,放棄此蜜源,該引領蜂變為偵察蜂。偵察蜂通過式(9)任意產生新的蜜源,以克服搜索過程陷入局部極值的問題。
上述過程如式(13)所示。
(13)
綜上所述,ABC算法的核心包括3個部分:(1)引領蜂搜索蜜源;(2)引領蜂傳以跳舞的方式在舞蹈區傳遞自身探索到的蜜源信息給跟隨蜂,跟隨蜂分析蜜源信息,并選取蜜源跟蹤開采;(3)偵察蜂在搜索空間隨機搜索。
針對傳統人工蜂群算法存在的不足,本文對其做了如下改進。
2.2.1 初始化改進
標準蜂群算法采用隨機初始化蜂群,在改進精英算法中使用均勻初始化,即在搜索范圍內均勻分布蜜源。
2.2.2 雇傭蜂(引領蜂)偵查行為改進
在傳統的標準人工蜂群算法中,引領蜂在每個蜜源附近進行探測,其蜜源信息的更新公式如下式所示。
(14)
其中φ為[-1,1]隨機數,vi,j為原來該雇傭蜂對應的蜜源,這個策略過于簡單,不容易跳出局部最優解,同時收斂速度較慢。基于此,使用混沌算子改進雇傭蜂的偵查策略,公式如式(15)所示。
(15)
其中混沌算子R為與雇傭蜂相同維數的向量,在蜂群算法每一次迭代時,R同時更新,公式為Rt=u·Rt-1·(1-Rt-1),其中u是一個可以調節的參數。
2.2.3 跟隨蜂跟隨策略改進
在傳統的標準人工蜂群算法中,跟隨蜂以較大概率選擇適應度較高的蜜源開采,同時在其附近探索其他蜜源,保留高適應度的蜜源,跟隨蜂位置更新公式如式(16)所示。
(16)
傳統標準人工蜂群算法中,跟隨蜂跟隨策略較為盲目,具有較慢的收斂速度也不容易跳出局部最優解,精英蜂群算法中引入了精英蜂群的概念,精英蜂群即在雇傭蜂中擁有最高適應度蜜源的一批蜜蜂,有理論可以證明問題的最優解有較大概率分布在精英蜂群中心點,所以使用精英蜂群指導跟隨蜂的行為更具有價值,同時我們引入慣性系數,在迭代初期鼓勵跟隨蜂探索大范圍的蜜源,增加探索到全局最優解的概率,隨著迭代次數增加,我們將逐漸將其收緊在精英蜂群所有的蜜源附近,增加收斂速度,本文中跟隨蜂的探索策略為:
(17)
其中慣性系數公式為:
(18)
2.2.4 偵查蜂更新策略
使用在食物空間中均勻探索新的蜜源策略替代隨機探索的方法。
本文選取兩種測試函數,對EABC、ABC算法進行測評,比較測評結果,驗證了改進EABC的性能優勢。表1為測試函數相關參數。

表1 測試函數參數
測試函數1:
(19)
測試函數2:
(20)
觀察圖3可知,分別利用ABC、EABC算法對測試函數GR(X)進行1000次迭代優化,EABC算法在迭代200次左右時收斂,ABC算法在迭代800次左右收斂,EABC、ABC算法收斂時的函數優化值為分別為0.0024、0.0278;觀察圖4可知,利用ABC、EABC算法分別對測試函數AK(x)迭代1000次,EABC算法在迭代800次左右收斂,ABC算法在迭代980次左右收斂,EABC、ABC算法收斂時的函數優化值為分別為0.0080、0.0282。因此,通過以上的分析可以得出結論:改進后的EABC算法收斂快、精度高。

圖3 ABC、EABC優化測試函數GR(X)

圖4 ABC、EABC優化測試函數AK(X)
在SVM分類器模型中,最優核參數g與懲罰因子C對模型表現具有很大影響[10]。傳統的方法使用交叉驗證或者人工調參等方法進行最優參數搜尋,需要依賴人工經驗以及大量的試錯,效率低下且通常找不到最優的超參數組合,本文將改進的EABC應用于SVM分類器的參數尋優中,首先將數據集分為訓練集、驗證集、測試集;然后通過訓練和驗證集用于尋找最優核參數g和懲罰因子C,避免了人工調參帶來的不利影響;最后通過測試集進行測試。從結果來看取得了較好的效果,算流程圖如圖5所示,算法具體步驟如下。

圖5 EABC優化SVM參數流程圖
Step1精英蜂群算法參數初始化,包含蜜源數目的大小F,蜂群的數目N、控制參數limit及最大迭代次數T等。
Step2SVM參數初始化,在一定的范圍內均勻的生成超參數對(g,C),這些參數對作為SVM模型的最佳超參數候選解。
Step3將所有超參數對(g,C)做為蜜源的位置,對于每個超參數對(g,C),使用訓練數據集合訓練當前g和C的SVM,然后使用驗證集進行驗證,得到的準確度做為EABC算法模型的適應度。
Step4通過EABC算法尋找SVM模型在驗證集下的最優參數(g,C)。
Step5在訓練集下,對使用Step4中尋找到的最優超參數對(g,C)的SVM模型進行人工經驗訓練,從而得到性能最優的SVM分類器,最后使用測試集進行最終結果的測試。
為證明EABC-SVM模型的性能優勢,分別利用ABC、GA優化SVM的參數,將EABC-SVM、ABC-SVM、GA-SVM這三種模型進行仿真訓練,多次訓練后模型收斂速度及收斂時模型對應的分類準確率如圖6、圖7所示。

圖6 GA、EABC、ABC優化的SVM模型的收斂速度

圖7 GA、EABC、ABC優化的SVM模型的收斂時對應準確率
由圖6可知,GA-SVM模型收斂速度最快,與EABC-SVM、ABC-SVM模型在分別在迭代66次、65次后收斂相比,GA-SVM模型在迭代63次后收斂。觀察圖中EABC-SVM、ABC-SVM、GA-SVM三個模型收斂時其各自對應的準確率可知,EABC-SVM模型最優分類準確率為94.048%,且很大程度上克服了模型陷入局部最優的問題;GA-SVM模型最優分類準確率也可達到94.048%,但與EABC-SVM模型相比,其陷入局部最優次明顯增多,運行不穩定;ABC-SVM模型的最優分類準確率雖然也可以達到90.300%,但是運行非常不穩定,與GA-SVM、EABC-SVM分類模型相比,不僅僅準確率低,陷入局部最優的缺點明顯。因此,綜合分析,EABC算法在解決SVM參數尋優問題中,克服了局部最優問題,提升了SVM的分類性能。
參考IEC 60599標準可知,變壓器故障類型主要分為高溫過熱、高能放電、中溫過熱、中低溫、低溫過熱、低能放電6種故障[11],加上正常工作狀態,總共7種運行狀態狀態。本文采用H2,CH4,C2H6,C2H4,C2H2這5種氣體的檢測量進行故障診斷。考慮到故障數據的在數值區間跨度大,各數量級上數據量不同等問題會影響分類表現,需要對數據進行預處理[12]。
由文獻[13]中可知LOG函數轉換方式對變壓器油中氣體原始數據處理效果比較好,用LOG函數轉換方法作為預處理方法,轉換函數如式(21)所示。
(21)
式中,max為樣本數據的最大值。
表2 、表3分別為訓練樣本和測試樣本分布情況。

表2 訓練樣本分布

表3 測試樣本分布
分別利用EABC-SVM、GA-SVM、ABC-SVM、Rand-SVM等同構分類器以及異構的RandF分類器對變壓器故障樣本進行分類,分類結果如表4所示;同構分類器GA-SVM、ABC-SVM、EliteABC-SVM分類器分類可視化如圖8-圖10所示。

表4 各分類器分類準確率

圖8 GA-SVM模型的分類準確率

圖9 ABC-SVM模型的分類準確率

圖10 EABC-SVM模型的分類準確率
觀察表4可知,利用Rand-SVM分類器模型(隨機參數支持向量機模型)、RandF分類器模型(隨機森林模型)對變壓器進行故障診斷時,這兩個單一故障診斷模型的總體診斷正確率均為83.333%;而經過智能算法優化參數之后的ABC-SVM、GA-SVM、EABC-SVM分類模型的故障診斷總體正確率分別為88.095%、91.667%、94.048%,故障診斷精度均高于Rand-SVM和RandF,因此可知將智能優化算法引入SVM分類模型中對其分類性能有較好的提升,且本文基于改進EABC算法,以SVM分類模型為基礎構建的EABC-SVM故障診斷模型,在變壓器故障診斷中具有最高的故障識別率。
由圖8-圖10可知,ABC-SVM在變壓器故障診斷中總共出現了9個誤識,包括1個低能放電被錯誤識別為高溫過熱;5個高能放電,1個被錯誤識別為高溫過熱,4個被錯誤識別為低能放電;3個中低溫過熱,分別被錯誤識別為低能放電和高溫過熱以及高能放電。
GA-SVM在變壓器故障診斷中出總共現了7個誤識,包括了1個低能放電被錯誤的識別成了高能放電;4個高能放電被錯誤識別為低能放電;2個中低溫過熱,被錯誤識別為了高能放電和低溫過熱,一個被錯誤識別為高能放電,另一個被錯誤識別為低溫過熱。
EABC-SVM在變壓器故障診斷中總共出現了5個誤識,包括1個低能放電被錯誤識別為高能放電;2個高能放電被錯誤識別為低能放電;2個中低溫過熱,一個被錯誤識別為高能放電,另一個被錯誤識別為低溫過熱。
綜合以上的圖表分析可知,EABC優化參數后的SVM分類模型,其分類性能表現的提升均要優于ABC、GA算法優化后的SVM分類模型,EABC-SVM在變壓器的故障識別中與ABC-SVM、GA-SVM相比具有更高的的故障識別率,且通過與異構分類器RandF對比,其故障識別率遠高于RandF。
為解決支持向量機在解決線性不可分的高維樣本數據時,其分類性能很大程度的受到核參數及懲罰因子這一弊端的影響,本文在針對傳統標準人工蜂群算法的缺點上進行相應改進,提升了基本人工蜂群算法的局部搜索能力、加快了算法收斂速度、很大程度克服了算法局優問題,提升了算法運行穩定性。并將其應用于SVM分類模型中,對分類模型超參數組進行迭代優化搜索,提升了SVM分類模型的分類準確率和泛化能力。最后利用構建的EABC-SVM、ABC-SVM、GA-SVM等同構診斷模型對變壓器油中溶解氣體進行故障診斷,三個模型的故障診斷正確率分別為88.095%、91.667%、94.048%;EAB-SVM在與異構的RandF診斷模型進行準確率對比時,EABC-SVM診斷模型的分類正確率比異構診斷模型RandF的診斷準確率高出12.8%,性能對比突出。因此可以得出結論,本文方法能對變壓器故障信息做出更為精確的診斷,具有方法簡單、泛化能力強、計算速度快等優點。在理論研究和工程實際中都具有一定意義。