李文君子 王夢(mèng)沈
摘 要:DGA技術(shù)能夠及時(shí)探查到充油型設(shè)備在使用過(guò)程中不易發(fā)現(xiàn)的隱性問(wèn)題,k近鄰算法是一種惰性分類(lèi)算法,但是單一故障診斷算法準(zhǔn)確性無(wú)法滿(mǎn)足實(shí)際工程需求。為了提高變壓器故障診斷精確性,本文用Adaboost算法對(duì)k近鄰算法進(jìn)行提升,并對(duì)Adaboost算法進(jìn)行延伸,從而發(fā)展出了Adaboost.M2-kNN算法,能夠處理多類(lèi)分類(lèi)任務(wù)。試驗(yàn)發(fā)現(xiàn)利用Adaboost.M2-kNN算法能夠有效提高變壓器故障診斷的準(zhǔn)確性,該方法逐步應(yīng)用于工程實(shí)踐中。
關(guān)鍵詞:變壓器;kNN算法;Adaboost算法;故障診斷;實(shí)例分析
DOI:10.16640/j.cnki.37-1222/t.2018.22.117
1 引言
在Boosting的基礎(chǔ)上誕生了Adaboost算法,而B(niǎo)oosting的理論框架則是從機(jī)器學(xué)習(xí)模型PAC中發(fā)展而來(lái)到。由于Adaboost算法只能用來(lái)應(yīng)對(duì)二分類(lèi)的問(wèn)題,因此本文利用Adaboost的擴(kuò)展算法Adaboost.M2來(lái)解決多分類(lèi)問(wèn)題。
2 Adaboost.M2-kNN算法
2.1 Adaboost.M2的基本原理
Adaboost.M2屬于軟分類(lèi)的一種形式,在輸入樣本(xi,yi)后,當(dāng)y不等于yi時(shí),ht弱分類(lèi)器就會(huì)根據(jù)(k-1)的順序進(jìn)行詢(xún)問(wèn),通過(guò)偽誤差的方法來(lái)重新調(diào)整分類(lèi)器。首先選擇大小為m的訓(xùn)練集,S={(xi,yi),(x2,y2),...,(xm,ym)}進(jìn)行輸入,而x可以是訓(xùn)練空間中的任何訓(xùn)練例子,也可以由多種屬性值組成。而y則是和x對(duì)稱(chēng)的類(lèi)別標(biāo)簽。同時(shí)在每輪循環(huán)中,都要調(diào)整弱學(xué)習(xí)器,當(dāng)循環(huán)到第t輪時(shí),弱學(xué)習(xí)器就會(huì)針對(duì)訓(xùn)練樣本D進(jìn)行分類(lèi)計(jì)算,從而得出弱假設(shè)ht,在進(jìn)行t輪循環(huán)后,進(jìn)行加權(quán)投票,能夠在全部的弱假設(shè)h中得出最終結(jié)果hfin。
2.2 Adaboost.M2算法的誤差
強(qiáng)分類(lèi)器Adaboost.M2中的訓(xùn)練誤差是:
在上列公式中,=0.5-。從公式中可以看出,當(dāng)弱假設(shè)的準(zhǔn)確率高于隨機(jī)猜測(cè)時(shí),訓(xùn)練的誤差就會(huì)通過(guò)指數(shù)的方式快速降低,能夠提升分類(lèi)的準(zhǔn)確性[1]。
2.3 Adaboost.M2-kNN算法的具體流程
以Adaboost.M2-kNN算法為基礎(chǔ)的弱學(xué)習(xí)器,建立針對(duì)變壓器故障問(wèn)題的診斷模型。根據(jù)變壓器的本來(lái)的數(shù)據(jù)衍生出數(shù)量為m的訓(xùn)練樣本,Trs={(xi,yi),(x2,y2),...,(xm,ym)},而x則是訓(xùn)練空間中的任意數(shù)據(jù),由數(shù)個(gè)值組成。故障類(lèi)別標(biāo)簽yi屬于{1,2,...k}中的任意值,其中k是故障類(lèi)型,而i則是樣本代號(hào),訓(xùn)練樣本分布為定義D,弱學(xué)習(xí)器個(gè)數(shù)用T來(lái)顯示,也就是迭代次數(shù)。
3 變壓器故障實(shí)例診斷分析
3.1 參數(shù)選擇
在變壓器剛開(kāi)始出現(xiàn)故障的時(shí)候會(huì)產(chǎn)生出一些氣體,而這些氣體和故障的性質(zhì)聯(lián)系較為密切[2]。為此首先需要選擇原始屬性數(shù)據(jù),例如可以選擇C2H2、C2H4、C2H6、CH4、H2這五種典型氣體。由于不同成分之間的含量具有較大的差異性,因此要將溶解氣體進(jìn)行歸一化處理,從而保證其數(shù)值都在[-1,1]內(nèi),從而充當(dāng)樣本中的屬性值。同時(shí)為變壓器的故障類(lèi)別進(jìn)行編號(hào),將正常狀態(tài)設(shè)置為1號(hào),將中溫設(shè)置為2號(hào),將高溫狀態(tài)設(shè)置為3號(hào),以此類(lèi)推,包括局部放電、電弧放電以及火花放電,一直到6號(hào)。Adaboost.M2-kNN算法的循環(huán)次數(shù)最大值T可以取值100,將kNN當(dāng)作弱分類(lèi)器,參數(shù)k=1,在建立Adaboost.M2故障診斷模型。
Adaboost.M2-kNN算法中將T的最大循環(huán)次數(shù)設(shè)為100,其中弱分類(lèi)器用kNN來(lái)代替,將k的參數(shù)設(shè)為1,隨后建立相關(guān)模型。
3.2 實(shí)例分析
首先選擇測(cè)試樣本和訓(xùn)練樣本,將288已知故障類(lèi)型的變壓器溶解氣體數(shù)據(jù)作為Adaboost.M2模型中的測(cè)試樣本與訓(xùn)練樣本[3]。在訓(xùn)練樣本中,每種故障中都有三十組數(shù)據(jù),剩下的一百組數(shù)據(jù)作為測(cè)試樣本。
實(shí)驗(yàn)結(jié)果分析,以288組數(shù)據(jù)為初始數(shù)據(jù),在進(jìn)行歸一化后,通過(guò)一百組數(shù)據(jù)對(duì)Adaboost.M2模型操作訓(xùn)練,利用一百組數(shù)據(jù)操作測(cè)試,最終結(jié)果發(fā)現(xiàn)以單一kNN算法為基礎(chǔ)進(jìn)行計(jì)算的分類(lèi)準(zhǔn)確率是62%,同時(shí)利用Adaboost.M2算法進(jìn)行診斷的正確率是89%,我們可以在分析后得到結(jié)果,發(fā)現(xiàn)正確率提高了27%左右。同時(shí)我們我們也可以發(fā)現(xiàn),測(cè)試誤差與訓(xùn)練誤差在故障診斷樣本中隨著迭代次數(shù)的提高而出現(xiàn)降低的顯示,隨著迭代次數(shù)的提高,訓(xùn)練誤差幾乎趨近于零,同樣測(cè)試誤差也是如此[4]。測(cè)試誤差雖然在下降過(guò)程中出現(xiàn)過(guò)上升趨勢(shì),但從整體來(lái)看,依然是以降低趨勢(shì)為主。通過(guò)實(shí)驗(yàn)對(duì)比分析我們能夠得出一下結(jié)果,在訓(xùn)練誤差值為零時(shí),發(fā)現(xiàn)測(cè)試誤差呈現(xiàn)出整體上的降低趨勢(shì),這一現(xiàn)象也符合了Adaboost算法的關(guān)于泛化誤差的相關(guān)研究結(jié)果。
目前在我國(guó)寧夏銀川的一個(gè)交流變電站中已經(jīng)開(kāi)始使用了本文中所闡述的以Adaboost.M2為基礎(chǔ)的模型,在這一模型之中,只需要設(shè)置迭代次數(shù)就可以,不需要擁有其他任何知識(shí)經(jīng)驗(yàn),其中算法會(huì)自動(dòng)調(diào)整模型內(nèi)部的運(yùn)行參數(shù)。和傳統(tǒng)故障診斷方式相比,Adaboost.M2模型的方法泛化能力更強(qiáng)一些,對(duì)于整體故障的識(shí)別率能夠有效提升21%,檢測(cè)效果較為精確[5]。
參考文獻(xiàn):
[1]魏雪倩,黃新波.基于AdaBoost多分類(lèi)算法變壓器故障診斷[J].西安工程大學(xué)學(xué)報(bào),2016,30(02):207-211.
[2]黃新波,李文君子.采用遺傳算法優(yōu)化裝袋分類(lèi)回歸樹(shù)組合算法的變壓器故障診斷[J].高電壓技術(shù),2016,42(05):1617-1623.
[3]劉景艷,王福忠.基于RBF神經(jīng)網(wǎng)絡(luò)和自適應(yīng)遺傳算法的變壓器故障診斷[J].武漢大學(xué)學(xué)報(bào)(工學(xué)版),2016,49(01):88-93.
[4]苑津莎,張利偉.基于互補(bǔ)免疫算法的變壓器故障診斷[J].電工技術(shù)學(xué)報(bào),2015,30(24):67-75.
[5]呂忠,周強(qiáng).基于遺傳算法改進(jìn)極限學(xué)習(xí)機(jī)的變壓器故障診斷[J].高壓電器,2015,51(08):49-53.