周鵬 張鎮(zhèn)
摘要:支持向量機因有著比較好的分類能力,被廣泛應用在電路故障診斷中,但是它的分類性能與核參數(shù)選擇有關,因此對于支持向量機的參數(shù)優(yōu)化問題,本文提出了基于蝙蝠算法的支持向量機參數(shù)優(yōu)化方法,對支持向量機的c(懲罰參數(shù))和g(核函數(shù)參數(shù))進行優(yōu)化。
關鍵詞:蝙蝠算法;支持向量機;改進;診斷;研究
0 引言
電子設備廣泛應用于各大行業(yè),在人們的日常生活中普遍存在,模擬電路在電子設備中起著非常重要的作用,是電子設備的重要部分。隨著AI和計算機的飛速發(fā)展,人工智能、支持向量機、神經(jīng)網(wǎng)絡等方法被不斷應用于模擬電路故障診斷中,為模擬電路故障診斷提供了許多新的方法,取得了許多研究成果。
支持向量(Support Vector Machine, SVM)在模擬電路中,在模擬電路故障診斷中對于解決小樣本問題和非線性問題有很大的優(yōu)勢。
蝙蝠算法( BA)是基于群體智能提出的啟發(fā)式搜索算法,是一種搜索全局最優(yōu)解的有效方法。該算法是一種基于迭代的優(yōu)化技術,初始化為一組隨機解,然后通過迭代搜尋最優(yōu)解,且在最優(yōu)解周圍通過隨機飛行產(chǎn)生局部新解,加強了局部搜索。
本文將改進的蝙蝠優(yōu)化算法( Modified Bat optimization algorithm,MBOA) 與支持向量機相結合來進行模擬電路故障診斷。首先分析提取故障特征,然后用改進的蝙蝠算法對SVM的參數(shù)進行優(yōu)化,建立MBOA-SVM 診斷模型,最后將該模型應用于模擬電路的故障診斷中,根據(jù)實驗分析,發(fā)現(xiàn)該方法是可行的,有較高的正確率。
1 支持向量機
支持向量機的結構圖:
常見的核函數(shù)有多項式核、高斯徑向基核、Sig-moid核,在這幾種核函數(shù)中,高斯核函數(shù)具有較寬的收斂域,可適用于任意分布的樣本,所以其在SVM中應用最廣。
公式為:
2 蝙蝠算法基本原理
BA算法是模擬自然界中蝙蝠利用一種聲吶來探測獵物、避免障礙物的隨機搜索算法即模擬蝙蝠利用超聲波對障礙物或獵物進行最基本的探測、定位能力并將其和優(yōu)化目標功能相聯(lián)系。在蝙蝠搜索算法中,為了模擬蝙蝠探測獵物、避免障礙物,需假設如下三個近似的或理想化的規(guī)則:
1)所有蝙蝠利用回聲定位的方法感知距離,并且它們采用一種巧妙的方式來區(qū)別獵物和背景障礙物之間的不同。
2)蝙蝠在位置xi以速度vi隨機飛行,以固定的頻率fmin、可變的波長λ和音量A0來搜索獵物。蝙蝠根據(jù)自身與目標的鄰近程度來自動調整發(fā)射的脈沖波長(或頻率)和調整脈沖發(fā)射率r屬于[0,1]。
3)雖然音量的變化方式有多種但在蝙蝠算法中, 假定音量A是從一個最大值A0(整數(shù))變化到固定最小值Amin。
3 蝙蝠算法-支持向量機
支持向量機 的分類精度?主要是受兩個參數(shù) C、g 的影響( C是懲罰因子,表示對超出誤差樣本的懲罰程度、g表示徑向基函數(shù)的寬度) 。由于通過傳統(tǒng)方法核函數(shù)的分類效果不佳,因此本文采用蝙蝠算法尋求最優(yōu)的支持向量機參數(shù)。基于蝙蝠算法的支持向量機參數(shù)優(yōu)化流程完整步驟如下:
1) 設置蝙蝠種群。
蝙蝠種群的大小為 N、維數(shù)為 D、脈沖速率為S、脈 沖頻率為 F、最大迭代數(shù)為 Ng。
2) 蝙蝠個體初始化。
利用 Bmin + rand(1,D) ×(Bmax-Bmin)產(chǎn)生蝙蝠個體,構成初始蝙蝠種群。
3) 計算每個蝙蝠的適應度值并確定最優(yōu)蝙蝠的位置。
將所有蝙蝠個體作為支持向量機的參數(shù)在訓練集上進行訓練和測試集上進行測試。得到的數(shù)值作為對應蝙蝠的適應度值并且輸出,依據(jù)返回的適應度值的大小,找到最優(yōu)的蝙蝠個體 Bbest。
4) 生成新蝙蝠個體。
根據(jù)傳統(tǒng)蝙蝠算法基本公式分別更新脈沖頻率 Fi 與飛行速度 Vi,生成新的蝙蝠個體 Bnew。
5) 更新蝙蝠個體。
①產(chǎn)生一個隨機數(shù) randx,如果randx>Si,則對當前群體中最優(yōu)蝙蝠個體 Bbest 的鄰域進行隨機擾動,獲得一個新的蝙蝠個體,而后用新蝙蝠個體替換當前蝙蝠個體。
②產(chǎn)生一個隨機數(shù) randy,如果滿足 randy >Yi, 并且 f( Bnew ) 式中: α 為脈沖音強衰減系數(shù); γ 為脈沖頻度增加系數(shù); t 為當前迭代次數(shù)。 6) 若達到最大的迭代次數(shù)則算法終止,輸出最優(yōu)參數(shù),否則轉到步驟 4) 繼續(xù)執(zhí)行。 7) 最終獲得最佳參數(shù),然后建立最好的分類器模型。 3 診斷實例及分析 設元件的標稱值為: R1 = 1 kΩ, R2 = 3 kΩ,R3 = 2 kΩ,R4 = 4 kΩ,R5 = 4 kΩ,C1 =5 nF,C2 = 5 nF,電阻及電容的容差為 5% 。當電路出現(xiàn)軟故障時,元件相對其標稱值偏離為 ± 50% ,該元件的值在區(qū)間 [50% Y,95% Y)∪( 105% Y,150% Y]內( Y表示器件的標稱值) 。該電路共有14種故障,分別記為 C1↑,C1↓,C2↑,C2↓,R1↑,R1↓, R2↑,R2↓,R3↑,R3↓,R4↑,R4↓,R5↑,R5↓?!碓墓收现灯?,↓代表元件的故障值偏小,包括無故障狀態(tài)在內一共有15 種狀態(tài)存在,總共有9種故障類型(包括正常)。在 Matlab2019b中搭建故障診斷模型,編寫代碼實現(xiàn)BA算法,并通過所獲得的 DGA 數(shù)據(jù)進行實例仿真。完成了SVM-蝙蝠算法與蝙蝠算法、果蠅算法、遺傳算法(GA)、粒子群算法(PSO)結合SVM模型的對比分析如表1所示。 4結語 本文提出的基于SVM-蝙蝠算法的故障特征提取的支持向量機模擬電路故障診斷方法將本文方法和其他文獻采用的方法進行了比較,通過Sallen-Key帶通濾波器電路故障診斷仿真實驗證明了提出的SVM-蝙蝠算法較傳統(tǒng)的蝙蝠算法具有收斂速度快、平衡收斂的速度和精度高等優(yōu)勢,在模擬電路故障診斷領域,和其他傳統(tǒng)的智能算法相比,支持向量機的分類精度提高了,模擬電路故障診斷的正確率也提高了,是一種有效的方法。 參考文獻: [1] 祖文超,李紅君,苑津莎. 基于糾錯能力的 SVM 在變壓器故障診斷的應用 [J]. 電力科學與工程,2012,28 ( 11) : 39-43. [2] 鄭蕊蕊,趙繼印,趙婷婷,等. 基于遺傳支持向量機和灰色免疫算法的電力變壓器故障診斷[J]. 中國電機工程學報,2011, 31( 7) : 56 - 63. [3] 張倩,楊耀權. 基于支持向量機核函數(shù)的研究 [J].電力科學與工程,2012,25 ( 5) : 42-45.