郭曉蕓, 李海明, 許赟杰
(上海電力大學 計算機科學與技術學院, 上海 200090)
電力變壓器是配電系統中的重要設備。由于其內部結構復雜,電場及熱場分布不均等諸多因素,事故率仍然很高,因此研究精確有效的變壓器故障診斷對電力部門而言顯得格外重要[1]。
電力變壓器產生故障的原因復雜且不易直觀看出,故判斷故障性質和產生位置難度增大[2]。油中溶解氣體分析(Dissolved Gas Analysis,DGA)是變壓器故障診斷中最常用的方法,是通過分析變壓器油中溶解氣體的相對含量來判斷故障類型的[3]。神經網絡在識別變壓器故障時容易陷入局部最優(yōu),收斂速度慢。概率神經網絡(Probablistic Neural Network,PNN)具有訓練時間短,結構固定,能產生貝葉斯后驗概率輸出等優(yōu)點,適合解決模式分類問題[4]。果蠅優(yōu)化算法(Fruit Fly Optimization Algorithm,FOA)具有簡單易理解、易調節(jié)、參數少、快速收斂到全局最優(yōu)等優(yōu)點[5-6]。
本文提出了一種定向變步長的果蠅算法(Directional Variable Step Fruit Fly Optimization Algorithm,DVSFOA),解決了果蠅算法中存在的搜索步長變化的問題,提高了其整體的尋優(yōu)能力,并將DVSFOA與PNN相結合,優(yōu)化了PNN中的平滑因子,降低了人為因素對神經網絡的影響,具有較強的結構自適應能力和容錯能力。將該模型應用到變壓器故障診斷中,能有效地對變壓器故障進行診斷,且準確率較高。
PNN是一種前向型神經網絡,利用高斯函數作為基函數與Parzen窗法估計得到概率密度,然后與貝葉斯最小風險準則相結合發(fā)展而來的[7]。
利用PNN模型強大的非線性分類能力,構造了一個具有監(jiān)督功能的分類器模型,將其應用到模式分類中,具有較高的精確率和容錯率[8]。PNN通常由4層組成,分別是輸入層、模式層、求和層和輸出層[9]。其拓撲結構如圖1所示。
圖1 PNN拓撲結構
輸入層作為PNN模型的入口,主要將特征向量傳入網絡,節(jié)點的個數等于樣本的特征維度。模式層緊接著輸入層,其通過權值與上一層連接,主要用于識別傳入的特征向量與訓練集中各類別的匹配關系。求和層求出相同類別測試樣本所對應的模式層節(jié)點輸出之和,節(jié)點個數等于訓練樣本的類別個數。輸出層對求和層的輸出進行歸一化處理,求出測試樣本不同類別的概率,根據概率的大小判斷測試樣本的類別。
輸入層和模式層之間通過一個高斯函數連接,其函數公式為
(1)
式中:lg——g類的數量;
n——特征向量的個數;
σ——平滑因子;
xi——輸入層輸入的特征向量。
PNN作為一個多分類器,具有結構簡單、學習速度快、分類能力強、容錯性好、噪聲容忍度高等優(yōu)點。PNN模型中,唯一需要調整的參數是平滑因子σ。如果σ值太小,則PNN是對單獨訓練的樣本進行隔離,其本質上成為了最近鄰域分類器;如果σ太大,則PNN不能完全分辨細節(jié),尤其對于界限不是特別明顯的不同類別,更無法達到理想的分類效果,這時的PNN近似于線性分類器。因此,確定合適的σ值是PNN的關鍵問題。
FOA是受果蠅覓食行為啟發(fā)而提出的一種仿生智能優(yōu)化算法,是一種全局優(yōu)化方法[10]。果蠅因自身嗅覺和視覺而具有對外部環(huán)境極為敏感的特性[11]。在搜尋食物時,每一只個體通過優(yōu)異的嗅覺獲取周邊大范圍中的各種氣味,并從中辨別出食物來源的大致位置,同時向群體中的其他果蠅個體分享自身獲得的氣味信息,之后群體中的果蠅會比較相互之間分享的信息,辨別出最佳氣味的來源,同時通過各自的視覺器官向該位置聚集而去。果蠅迭代搜索食物過程如圖2所示。
圖2 果蠅迭代搜索食物過程
根據果蠅覓食行為特性,將FOA歸納為以下步驟[12]。
(1) 設定果蠅種群規(guī)模Pop_size和最大迭代次數Max_iter,初始化群體位置(X_axis,Y_axis);
(2) 將[-1,1]內的隨機值作為每一次迭代中果蠅的搜索步長,其值的正負分別表示果蠅在X軸和Y軸上的移動方向,值的大小表示移動的距離[13],即
(2)
(3) 計算果蠅距離原點的距離Dist和味道濃度判定值Si
(3)
(4)
(4) 將Si作為參數傳入適應度函數function中[14],計算得出味道濃度Smell_den
Smell_den=function(Si)
(5)
(5) 求出果蠅味道濃度的極大值并記錄
Smell_Best=max(Smell)
Best_Index=arg_max(Smell)
(6)
(6) 記錄味道濃度最大的位置
(7)
(7) 迭代尋優(yōu),重復搜索執(zhí)行步驟。
文獻[15]將FOA與目前常用的群體智能優(yōu)化算法進行尋優(yōu)能力對比,發(fā)現相較于其他智能優(yōu)化算法,FOA具有很強的全局尋優(yōu)能力,較低的算法復雜度,但是其局部尋優(yōu)能力不足,容易過早熟。實際上,FOA尋優(yōu)能力的變化取決于每一次迭代時果蠅群體搜索步長的變化。由于搜索步長的取值在每一次的迭代中都是隨機的,因此原本的FOA無法控制每一次果蠅的移動方向和距離。針對該問題,本文提出了定向變步長的思路,對FOA中的搜索步長進行了改進。
改進的算法公式為
(8)
式中:Lm——味道濃度達到最大值時果蠅所移動的方向;
L[Best_Index]——味道濃度達到最大值時果蠅所移動的步長;
Xi——果蠅迭代位置橫坐標;
Yi——果蠅迭代位置縱坐標。
在上一次迭代結束時記錄下的味道濃度達到最大值時果蠅所移動的步長和方向,并按此方向繼續(xù)搜尋,通過rand()函數可以返回一個或一組服從標準正態(tài)分布的隨機樣本值。由于已經確定了果蠅的前進方向,因此考慮擴大每只果蠅搜索步長的取值。本文認為,取(0,5)之間的隨機實數能夠囊括更大的范圍。比起非定向的FOA來說,該取值確定了每一次前進的方向,向著濃度更高的方向尋找,并且適當地擴大了前進的步長,可以更快速地尋找到最優(yōu)解,而且具備逃離局部最優(yōu)解的能力。
PNN是一種前向型神經網絡,輸入層和模式層之間的連接是通過將高斯函數作為基函數實現非線性分類,將FOA的Si作為參數傳入PNN的高斯函數中,從而實現FOA與PNN的結合,提高診斷性能。DVSFOA-PNN故障診斷流程如圖3所示。
圖3 DVSFOAPNN故障診斷流程
FOA實現步驟過程如下。
步驟1 初始化果蠅群體規(guī)模和迭代次數;
步驟2 為果蠅群體的初始位置X_axis和Y_axis賦予隨機值;
步驟3X[i]=X_axis+ (2×rand(0,1)-1);
步驟4Y[i]=Y_axis+ (2×rand(0,1)-1);
步驟5Dist=np.sqrt(X[i]**2+Y[i]**2);
步驟6S[i]=1/Dist;
步驟7 Smell[i]=function(S[i]) # 將距離傳入適應度函數計算;
步驟8 bestsmell 0t,bestindex=np.max(Smell), np.argmax(Smell);#獲取味道濃度最大的值和其所在位置的下標;
步驟9 判斷味道濃度,迭代尋優(yōu)。
DVSFOA實現步驟如下。
步驟1 初始化果蠅群體規(guī)模和迭代次數;
步驟2 為果蠅群體的初始位置X_axis和Y_axis賦予隨機值;
步驟3 先運行一次FOA,通過LX和LY分別記錄每一只果蠅的移動步長;
步驟4 BestLX=LX[bestindex] # 記錄第一次FOA運行后,味道濃度達到最大值時X所移動的步長;
步驟5 BestLY=LY[bestindex] # 記錄第一次FOA運行后,味道濃度達到最大值時Y所移動的步長;
步驟6X[i]=X_axis+BestLX/abs(BestLX) * Rand(0,5);
步驟7Y[i]=Y_axis+BestLY/abs(BestLY) * Rand(0,5);
步驟8LX=X[i]-X_axis # 記錄本次果蠅在X軸上的移動步長;
步驟9LY=Y[i]-Y_axis # 記錄本次果蠅在Y軸上的移動步長;
步驟10 Dist=np.sqrt(X[i]**2 +Y[i]**2);
步驟11S[i]=1/Dist;
步驟12 Smell[i]=function(S[i]) # 將距離傳入適應度函數計算;
步驟13 bestsmell,IndexBest =np.max(Smell), np.argmax(Smell) # 獲取味道濃度最大的值和其所在位置的下標。
由FOA中的步驟5和步驟6,可以看出每一只果蠅的移動方向和距離均是隨機的,具有一定的不確定性。然而,在每一次的迭代Ij中,可以通過本次味道濃度最大值Best_smell的下標Best_index,對應地找到最佳味道濃度的位置(X[best_ndex],Y[Best_Index])。對于果蠅群體的初始位置X_axis和Y_axis而言,最佳味道濃度位置在X軸和Y軸上的變化方向可以為下一次迭代中的果蠅群體指明方向。
本文對變電站油浸式電力變壓器的故障氣體數據進行分析,以驗證本文所提算法模型對樣本數據處理分類的效果。本文一共收集550組已經確定故障類型的DGA數據,以3∶1比例劃分為訓練樣本與測試樣本。其中411組訓練數據用于參數尋優(yōu),139組樣本數據用于驗證優(yōu)化后模型的診斷準確性。變壓器故障樣本數據分布如表3所示。
表3 變壓器故障樣本數據分布
當變壓器內部出現異常時,絕緣油中會產生氣體,變壓器油中溶解氣體的組分和含量作為變壓器異常的特征值予以記錄。對這些氣體進行分析,可以預測和診斷故障。求出具有相近溶解度和擴散系數的兩種氣體數據的比值,將CH4/H2,C2H2/C2H4,C2H4/C2H6的含量作為特征值P1,P2,P3輸入DVSFOA-PNN網絡中。輸出5種對應的故障類型:低能放電T0,高能放電T1,低溫發(fā)熱T2,中溫過熱T3,高溫過熱T4。故障數據樣本如表4所示。
表4 故障數據樣本
設定果蠅群體規(guī)模為30,迭代次數為100,為了對比改進的測試結果,在參數相同的情況下,分別用FOA-PNN和DVSFOA-PNN建立變壓器故障診斷模型得到優(yōu)化結果,參數尋優(yōu)精度曲線和均方根誤差分析分別如圖4和圖5所示。
圖4 參數尋優(yōu)精度曲線
圖5 均方根誤差分析
在實驗中,將平滑因子的初始值定為0.1,PNN的精度約為69.21%。通過圖4可以看出,FOA和PNN結合后初始的精度為39.57%,但通過4次迭代后精度上升至72.68%,進入局部最優(yōu)解,而后迭代至第88次跳出局部最優(yōu),最終平滑因子σ的取值為0.099 653。
DVSFOA-PNN的初始精度比FOA-PNN略低,為38.13%,但其通過2次迭代在第3次迭代中就達到了局部最優(yōu)解,而后迭代至第9次就達到了82.41%的全局最優(yōu)解,平滑因子σ最優(yōu)解為0.023 558。由此可知,相比于FOA-PNN,DVSFOA-PNN的診斷精度更高。
另外,通過多次實驗發(fā)現,FOA由于其每一次的移動方向和距離均為隨機的原因,并不是每一次都可以跳出局部最優(yōu)解,而DVSFOA在每一次的實驗中均能達到更高的精度,且在達到更高精度的速度上具備更大的優(yōu)勢。
均方根誤差用來衡量測試值與真值之間的偏差,描述離散程度,不是絕對誤差。通過圖5可知,訓練過程中,FOA-PNN的均方根誤差在第2次迭代后驟降至1.35,第4次迭代后緩慢下降至1.31后趨于平穩(wěn);DVSFOA-PNN的均方根誤差在第3次迭代后驟降至1.09,第9次迭代后就趨于1.19,比FOA-PNN低了16.7%。這表明在迭代過程中,DVSFOA-PNN的分類偏離程度低于FOA-PNN,敏感反映了測量誤差,DVSFOA-PNN的精度更高。
通過模型對測試樣本進行分類,得到的PNN測試結果如圖6所示,FOA-PNN測試結果如圖7所示,DVSFOA-PNN測試結果如圖8所示。其中,橫坐標為對應樣本數,縱坐標為故障類型標簽。
圖6 PNN測試數據分類
圖7 FOAPNN測試數據分類
圖8 DVSFOAPNN測試數據分類
表5為變壓器故障診斷結果分析對比。
表5 變壓器故障診斷結果分析
由表5可知,PNN精度為70.11%,PSO-PNN精度為70.61%,FOA-PNN精度為72.68%,DVSFOA-PNN精度為82.41%,表明改進過的算法分類精度高。對于復雜的多分類問題,用PNN和FOA-PNN均易陷入局部極值,精度降低,而DVSFOA-PNN的測試結果表現出較高的精度。耗時方面,由于本次試驗設置的FOA和DVSFOA均具有30只果蠅和100次的迭代次數,總體需要3 000次的迭代,PNN無需迭代,耗時最短,而DVSFOA-PNN的消耗時間比FOA-PNN少15.4%。
本文在FOA的基礎上,為每一次的迭代指定方向,即每一次的迭代方向均指向最優(yōu)解的方向,最終得出DVSFOA。隨后結合PNN模型,搭建了變壓器故障診斷模型,通過實驗比對和分析,得出以下結論。
(1) 用改進的DVSFOA調整更新位置搜索步長公式進行尋優(yōu),確認了每一次迭代移動的方向,在此基礎上加大了每一只果蠅動態(tài)變步長的范圍,從而使果蠅具備更強的搜索能力,可以更為迅速、準確地找到σ的最優(yōu)值。通過實驗結果可以看出,改進后的算法在搜索精度和速度上有明顯優(yōu)勢,并且不易陷入局部最小值,全局搜索能力強。
(2) DVSFOA-PNN模型具有良好的自適應能力,不僅可以更快到達局部最優(yōu)解,而且具備逃離局部最優(yōu)的能力,從而達到更高精度的全局最優(yōu)。在后續(xù)的研究中,將進一步對提高算法的初始精度和最終精度進行研究,并對該組合算法在其他領域的適用性及DVSFOA與其他優(yōu)化算法的性能進行比較研究。