邊 莉,劉文靜
(1.黑龍江科技大學(xué) 電子與信息工程學(xué)院,黑龍江 哈爾濱 150022;2.黑龍江科技大學(xué) 電氣與控制工程學(xué)院,黑龍江 哈爾濱 150022)
隨著科學(xué)技術(shù)的飛速發(fā)展,各類電氣設(shè)備的復(fù)雜性日益增加?,F(xiàn)已將人工智能技術(shù)引入診斷技術(shù),以大大提高診斷的準(zhǔn)確度和效率。由于故障數(shù)據(jù)的獲取很困難,故障數(shù)據(jù)的數(shù)量通常較少,使得支持向量機(jī)憑借小樣本訓(xùn)練的優(yōu)勢從各種人工智能方法中脫穎而出。例如,Rimjhim A等[1]將支持向量機(jī)應(yīng)用于配電網(wǎng)的故障診斷,Ravikumar等[2]將支持向量機(jī)應(yīng)用于輸電系統(tǒng)的故障診斷,王澤星[3]將支持向量機(jī)應(yīng)用于數(shù)控機(jī)床電主軸的故障診斷。可見,支持向量機(jī)在分類領(lǐng)域具有良好的適用性。因為支持向量機(jī)參數(shù)的取值存在一定盲目性,所以本文將引入交叉熵算法對其參數(shù)進(jìn)行優(yōu)化,從而提高準(zhǔn)確率和速度。
小概率事件的仿真中,和重要度抽樣技術(shù)(IS)提到的一種小概率事件估計的新方法相互結(jié)合的算法就是交叉熵算法。算法的基本原理如下[4]。
針對小概率事件估計問題,有:
蒙特卡洛估計是對l最直接的估計方法,也就是使用密度函數(shù)f(·;u)生成N個隨機(jī)樣本x1,x2,…,xN,再使用對l來做無偏估計。當(dāng)前使用IS技術(shù),這個估計問題就可以表示為:
把l的無偏估計表示為:
這里W(x)=f(x)/g(x)稱為似然比(LR)l 稱為似然比估計,x1,x2,…,xN~ g。式(4)表示的概率密度函數(shù)進(jìn)行尺度變換是估計的最合理的辦法。
此時,對所有的i都有:
同時能夠在{ f(·;v)}里找一個匹配的g,也就是找到匹配的v,所以g*和f(x;v)的距離能夠使用交叉熵表達(dá),把其帶到式(1)中化簡為:
使用密度函數(shù)f(·;w)產(chǎn)生隨機(jī)樣本x1,x2,…,xN。事實上,當(dāng)l是某個很小的概率(小于10-5)時,假設(shè)樣本數(shù)N沒有達(dá)到很大值,就會出現(xiàn)很多或者所有的指示函數(shù)I{S(Xi)≥γ}等于0,這種情況就不再適用。對于這種情況可以使用多級迭代,設(shè)置一個分布參數(shù)序列{v^t,t≥ 0} 及一個級序列 {γ^t,t≥ 0}。
結(jié)果是使v^t趨向v*,γ^t趨向γ。以上提到的就是交叉熵算法的基本原理[5]。
支持向量機(jī)基于VC理論和結(jié)構(gòu)風(fēng)險最小化原理,是一種經(jīng)典的用于進(jìn)行樣本分類的機(jī)器學(xué)習(xí)算法[6]。
支持向量機(jī)通過構(gòu)造一個普通平面將兩類分開。當(dāng)無法將兩類分開時,將上升到多維空間,通過超平面將兩類完整分開。在構(gòu)造平面時,不僅單單分開兩類,還要尋求最優(yōu),使分類的隔離邊緣最大,這就將低維度空間的非線性化分類轉(zhuǎn)化為高維度空間的線性化分類。
一個內(nèi)積空間H中的任意一個超平面都可以表示為:
其中w是表示的一個向量且與超平面相互垂直。
對于一個超平面來說,它其實是由自身的參數(shù)(w,b)決定的,那么就可以大致把其表示成(w,b)。但是,當(dāng)其參數(shù)w、b與其他的非零常數(shù)相乘時(w,b)不發(fā)生改變。為減少這種問題的發(fā)生,引出了規(guī)范超平面概念。
超平面:
稱關(guān)于點x1,x2,…,xl∈H的規(guī)范超平面。若其能夠滿足:
那么規(guī)范超平面與最近點的距離是1/||w||。(w,b)和(-w,-b)都能夠滿足規(guī)范超平面的要求。
間隔在SVM算法中作用極大,對一超平面(w,b)稱:
是點(x, y)∈H×{±1}的幾何間距,而稱:
為關(guān)于訓(xùn)練集:
的幾何間隔。
假若(xi, yi)被正確分開,那么這一間隔就是模式x到超平面之間的距離。假若點位于超平面上,那么這一點的間隔即為0;若這個點不在超平面上,那么這一點的間隔為:
其中:
本文采用的支持向量機(jī)模型選用的核函數(shù)為徑向基函數(shù),選擇優(yōu)化的參數(shù)一個是支持向量機(jī)本身的懲罰系數(shù)C,還有一個是徑向基函數(shù)自帶的參數(shù)g。懲罰系數(shù)C反映的是對誤差的寬容程度,決定著學(xué)習(xí)機(jī)器的泛化能力;核參數(shù)g則反映訓(xùn)練樣本中數(shù)據(jù)的分布情況,決定著分類的最小誤差,隱含地決定著數(shù)據(jù)映射到新的特征空間后的分布情況。
綜上,選擇交叉熵算法在MATLAB上進(jìn)行編程計算,以支持向量機(jī)的懲罰系數(shù)C和核函數(shù)參數(shù)g為目標(biāo)進(jìn)行優(yōu)化,以支持向量機(jī)的交叉驗證概率為適應(yīng)度函數(shù),采用連續(xù)型交叉熵算法,經(jīng)過設(shè)定初值、取樣、排序、更新、平滑、終止,從而獲取支持向量機(jī)的模型最優(yōu)參數(shù)C、g。交叉熵算法優(yōu)化支持向量機(jī)參數(shù)的具體步驟如圖1所示。
算法終止時輸出最優(yōu)解X*=μ(t),這是一個二維向量,其中的兩個元素即為支持向量機(jī)的最優(yōu)參數(shù)——懲罰系數(shù)、徑向基核函數(shù)參數(shù)。
圖1 優(yōu)化流程圖
交叉熵優(yōu)化支持向量機(jī)的干式變壓器故障診斷模型的建立步驟如下:
(1)本文通過文獻(xiàn)[7]獲取80組樣本數(shù)據(jù),具體的分布情況和對應(yīng)的標(biāo)簽如表1所示。
表1 樣本數(shù)據(jù)分布及標(biāo)簽分類
(2)建立SVM故障分類模型,并采用CE對SVM的系數(shù)C和g進(jìn)行優(yōu)化,以獲得最佳參數(shù)。
(3)將80組數(shù)據(jù)均分為兩組,第一組數(shù)據(jù)對CE-SVM故障分類模型進(jìn)行訓(xùn)練。
(4)第二組數(shù)據(jù)作為測試樣本,輸入到已經(jīng)訓(xùn)練好的分類模型中,將得到的分類結(jié)果和之前的標(biāo)簽進(jìn)行對比,從而得到該模型分類的準(zhǔn)確率。
干式變壓器的故障一般都會導(dǎo)致溫度的升高,所以通過溫度信息就可以大致判斷故障的類型。溫度的數(shù)據(jù)來源于文獻(xiàn)[7],每種狀態(tài)的訓(xùn)練樣本數(shù)據(jù)如表2所示,40組測試樣本數(shù)據(jù)如表3所示。
通過MATLAB仿真軟件進(jìn)行仿真,其中SVM分類部分用到了libsvm軟件包,通過編寫交叉熵優(yōu)化支持向量機(jī)的程序來實現(xiàn)交叉熵對支持向量機(jī)懲罰系數(shù)C、徑向基核參數(shù)g的尋優(yōu)和支持向量機(jī)通過訓(xùn)練對故障進(jìn)行分類診斷。
將編寫好的程序輸入到MATLAB,并將上文中的40組故障訓(xùn)練樣本和40組故障測試樣本分別導(dǎo)入,然后運行交叉熵優(yōu)化支持向量機(jī)的程序。經(jīng)過十幾秒的運行后可以得到結(jié)果,如圖2、圖3和圖4是運行50次取得的最優(yōu)結(jié)果。
表2 干式變壓器40組故障訓(xùn)練樣本
表3 干式變壓器40組故障測試樣本
圖2 交叉熵優(yōu)化支持向量機(jī)的參數(shù)收斂曲線
從圖2可以看出,經(jīng)過15代進(jìn)化,兩個參數(shù)的值已經(jīng)趨于平穩(wěn);經(jīng)過25代進(jìn)化,兩個參數(shù)已經(jīng)收斂于某個定值??芍?,交叉熵算法對參數(shù)尋優(yōu)具有較高的快速性與穩(wěn)定性。
從圖3可以看出,該曲線從進(jìn)化8代后就趨于穩(wěn)定,收斂速度快,穩(wěn)定性良好。還可以讀取最優(yōu)懲罰系數(shù)C為6.611 7、最優(yōu)核參數(shù)g為7.069,最優(yōu)交叉驗證概率為96.946 6%。
圖3 交叉熵算法適應(yīng)度函數(shù)收斂曲線
圖4 交叉熵優(yōu)化支持向量機(jī)測試集實際與預(yù)測分類圖
圖4 為支持向量機(jī)測試集實際與預(yù)測分類圖。通過觀察結(jié)果計算可知,分類準(zhǔn)確率Accuracy=97.5%(39/40)。其中,有一組數(shù)據(jù)出現(xiàn)誤判,這種誤差的出現(xiàn)原因很多:采集數(shù)據(jù)時出現(xiàn)干擾、數(shù)據(jù)采集時監(jiān)測點位置出現(xiàn)偏移、數(shù)據(jù)記錄或者處理時出現(xiàn)人為失誤等。綜上所述,本次仿真的分類準(zhǔn)確率很高。實際運用中還應(yīng)該采取一些措施,如數(shù)據(jù)采集時盡量避免外界干擾、監(jiān)測點位置應(yīng)十分精確、數(shù)據(jù)幾率和處理時應(yīng)十分仔細(xì)等,從而使分類準(zhǔn)確率更高。
本文采用的是交叉熵算法對支持向量機(jī)的參數(shù)進(jìn)行尋優(yōu)。為了更好地體現(xiàn)出交叉熵算法在尋優(yōu)方面的優(yōu)越性,又建立一個對比仿真模型,即粒子群算法優(yōu)化支持向量機(jī)參數(shù)的分類診斷模型。同樣地,數(shù)據(jù)輸入后得到如圖5、圖6和圖7所示的仿真圖。
從圖5可以看出,經(jīng)過20代進(jìn)化,兩個參數(shù)的值已經(jīng)趨于平穩(wěn);經(jīng)過30代進(jìn)化后,兩個參數(shù)已經(jīng)收斂于某值。與圖3比較可以得出,交叉熵算法對參數(shù)尋優(yōu)的速度快于粒子群算法。
圖6為粒子群算法優(yōu)化支持向量機(jī)的最佳適應(yīng)度函數(shù)收斂曲線,交叉驗證概率曲線進(jìn)化了25代以后才趨于穩(wěn)定。與圖5比較可以看出,交叉熵優(yōu)化的交叉驗證概率曲線收斂速度明顯高于粒子群優(yōu)化的結(jié)果。
圖7為粒子群優(yōu)化支持向量機(jī)測試集實際與預(yù)測分類圖,和交叉熵優(yōu)化后的分類結(jié)果一致,這里不再闡述。
表4為交叉熵算法和粒子群算法優(yōu)化的一些參數(shù)對比,其中尋優(yōu)時間和分類準(zhǔn)確率是運行50次后取得的最優(yōu)值,而迭代次數(shù)是運行50次取得的平均值。對比結(jié)果顯示,交叉熵算法比粒子群運算速度快,穩(wěn)定性強(qiáng)。
圖5 粒子群優(yōu)化支持向量機(jī)參數(shù)的收斂曲線
圖6 粒子群算法最佳適應(yīng)度函數(shù)收斂曲線
粒子群算法每次迭代過程不僅要更新每個粒子的速度和位置,還要評價每個粒子的適應(yīng)度,以尋得全局最優(yōu);而交叉熵算法基于參數(shù)化的概率密度產(chǎn)生隨機(jī)樣本,每次迭代只需更新概率密度參數(shù)和分位數(shù)。通過兩種優(yōu)化算法的對比可以得出,交叉熵算法優(yōu)化支持向量機(jī)的方法的適應(yīng)度函數(shù)曲線的收斂速度、穩(wěn)定性和對參數(shù)的尋優(yōu)時間明顯優(yōu)越于粒子群算法。雖然基于粒子群算法優(yōu)化支持向量機(jī)方法的測試集分類準(zhǔn)確率和交叉熵算法相同,但是整體來說,基于交叉熵算法優(yōu)化支持向量機(jī)的診斷方法優(yōu)勢明顯,更適用于干式變壓器的故障診斷。
本文將交叉熵算法和支持向量機(jī)融合,編寫交叉熵優(yōu)化支持向量機(jī)參數(shù)、支持向量機(jī)對數(shù)據(jù)進(jìn)行訓(xùn)練與分類的程序,然后通過Matlab建立故障診斷模型,將獲取的干式變壓器數(shù)據(jù)分為訓(xùn)練集和測試集分別導(dǎo)入進(jìn)行仿真得出仿真圖,得出經(jīng)過交叉熵優(yōu)化過得向量機(jī)分類程序分類準(zhǔn)確且穩(wěn)定。為了突出交叉熵算法參數(shù)尋優(yōu)的優(yōu)越性,又通過粒子群算法優(yōu)化支持向量機(jī)做對比試驗。經(jīng)過前后兩種優(yōu)化算法的比較可以得出,交叉熵算法在優(yōu)化方面具有速度優(yōu)勢??芍?,交叉熵算法是一個在尋優(yōu)方面見長的人工智能算法,可適用于多種領(lǐng)域。
圖7 粒子群優(yōu)化支持向量機(jī)測試集實際與預(yù)測分類圖
表4 兩種方法優(yōu)化支持向量機(jī)的對比