基于法醫調查算法優化概率神經網絡PNN的分類預測 - 附代碼
文章目錄
- 基于法醫調查算法優化概率神經網絡PNN的分類預測 - 附代碼
- 1.PNN網絡概述
- 2.變壓器故障診街系統相關背景
- 2.1 模型建立
- 3.基于法醫調查優化的PNN網絡
- 5.測試結果
- 6.參考文獻
- 7.Matlab代碼
摘要:針對PNN神經網絡的光滑因子選擇問題,利用法醫調查算法優化PNN神經網絡的光滑因子的選擇,并應用于變壓器故障診斷。
1.PNN網絡概述
概率神經網絡( probabilistic neural networks , PNN )是 D. F. Specht 博士在 1 989 年首先提出的,是一種基于 Bayes 分類規則與 Parzen窗的概率密度面數估計方法發展而來的并行算 法。它是一類結胸簡單、訓練簡潔、應用廣泛的人工神經網絡 。在實際應用中,尤其是在解決分類問題的應用中, PNN 的優勢在于用線性學習算法來完成非線性學 習算法所傲的工作,同 時保持非線性算法的高精度等特性;這種網絡對應的權值就是模式樣本的分布,網絡不需要訓練,因而能夠滿足訓練上實時處理的要求。
PNN 網絡是由徑向基函數網絡發展而來的一種前饋型神經網絡,其理論依據是貝葉斯最小風險準則(即貝葉斯決策理論), PNN作為徑向基網絡的一種,適合于模式分類。當分布密度 SPREAD 的值接近于 0 時,它構成最鄰分類器; 當 SPREAD 的值較大時,它構成對幾個訓練樣本的臨近分類器 。 PNN 的層次模型,由輸入層、模式層、求和層、輸出層共 4 層組成 , 其基本結構如圖 1 所示。
f ( X , w i ) = e x p [ ? ( X ? w i ) T ( X ? W i ) / 2 δ ] (1) f(X,w_i)=exp[-(X-w_i)^T(X-W_i)/2\delta]\tag{1} f(X,wi?)=exp[?(X?wi?)T(X?Wi?)/2δ](1)
式中, w i w_i wi?為輸入層到模式層連接的權值 ; δ \delta δ為平滑因子,它對分類起著至關重要的作用。第 3 層是求和層,是將屬于某類的概率累計 ,按式(1)計算 ,從而得到故障模式的估計概率密度函數。每一類只有一個求和層單元,求和層單元與只屬于自己類的模式層單元相連接,而與模式層中的其他單元沒有連接。因此求和層單元簡單地將屬于自己類的模式層單元 的輸出相加,而與屬于其他類別的模式層單元的輸出無關。求和層單元的輸出與各類基于內 核的概率密度的估計成比例,通過輸出層的歸一化處理 , 就能得到各類的概率估計。網絡的輸 出決策層由簡單的闊值辨別器組成,其作用是在各個故障模式的估計概率密度中選擇一個具 有最大后驗概率密度的神經元作為整個系統的輸出。輸出層神經元是一種競爭神經元,每個神經元分別對應于一個數據類型即故障模式,輸出層神經元個數等于訓練樣本數據的種類個 數,它接收從求和層輸出的各類概率密度函數,概率密度函數最大的那個神經元輸出為 1 ,即 所對應的那一類為待識別的樣本模式類別,其他神經元的輸出全為 0 。
2.變壓器故障診街系統相關背景
運行中的變壓器發生不同程度的故障時,會產生異常現象或信息。故障分析就是搜集變壓器的異常現象或信息,根據這些現象或信息進行分析 ,從而判斷故障的類型 、嚴重程度和故障部位 。 因此 , 變壓器故障診斷的目的首先是準確判斷運行設備當前處于正常狀態還是異常狀態。若變壓器處于異常狀態有故障,則判斷故障的性質、類型和原因 。 如是絕緣故障、過熱故障還是機械故障。若是絕緣故障,則是絕緣老化 、 受潮,還是放電性故障 ;若是放電性故障又 是哪種類型的放電等。變壓器故障診斷還要根據故障信息或根據信息處理結果,預測故障的可能發展即對故障的嚴重程度、發展趨勢做出診斷;提出控制故障的措施,防止和消除故障;提出設備維修的合理方法和相應的反事故措施;對設備的設計、制造、裝配等提出改進意見,為設備現代化管理提供科學依據和建議。
2.1 模型建立
本案例在對油中溶解氣體分 析法進行深入分析后,以改良三比值法為基礎,建立基于概率神經網絡的故障診斷模型。案例數據中的 data. mat 是 33 × 4 維的矩陣,前3列為改良三比值法數值,第 4 列為分類的輸出,也就是故障的類別 。 使用前 23 個樣本作為 PNN 訓練樣本,后10個樣本作為驗證樣本 。
3.基于法醫調查優化的PNN網絡
法醫調查算法原理請參考:https://blog.csdn.net/u011835903/article/details/128172264
利用法醫調查算法對PNN網絡的光滑因子進行優化。適應度函數設計為訓練集與測試集的分類錯誤率:
f i t n e s s = a r g m i n { T r a i n E r r o r R a t e + P r e d i c t E r r o r R a t e } (2) fitness = argmin\{TrainErrorRate + PredictErrorRate\}\tag{2} fitness=argmin{TrainErrorRate+PredictErrorRate}(2)
適應度函數表明,如果網絡的分類錯誤率越低越好。
5.測試結果
法醫調查參數設置如下:
%% 法醫調查參數
pop=20; %種群數量
Max_iteration=20; % 設定最大迭代次數
dim = 1;%維度,即權值與閾值的個數
lb = 0.01;%下邊界
ub = 5;%上邊界
從結果來看,法醫調查-pnn能夠獲得好的分類結果。
6.參考文獻
書籍《MATLAB神經網絡43個案例分析》,PNN原理部分均來自該書籍