基于天鷹算法優化概率神經網絡PNN的分類預測 - 附代碼

基于天鷹算法優化概率神經網絡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 。

圖1.PNN網絡結構

2.變壓器故障診街系統相關背景

運行中的變壓器發生不同程度的故障時,會產生異常現象或信息。故障分析就是搜集變壓器的異常現象或信息,根據這些現象或信息進行分析 ,從而判斷故障的類型 、嚴重程度和故障部位 。 因此 , 變壓器故障診斷的目的首先是準確判斷運行設備當前處于正常狀態還是異常狀態。若變壓器處于異常狀態有故障,則判斷故障的性質、類型和原因 。 如是絕緣故障、過熱故障還是機械故障。若是絕緣故障,則是絕緣老化 、 受潮,還是放電性故障 ;若是放電性故障又 是哪種類型的放電等。變壓器故障診斷還要根據故障信息或根據信息處理結果,預測故障的可能發展即對故障的嚴重程度、發展趨勢做出診斷;提出控制故障的措施,防止和消除故障;提出設備維修的合理方法和相應的反事故措施;對設備的設計、制造、裝配等提出改進意見,為設備現代化管理提供科學依據和建議。

2.1 模型建立

本案例在對油中溶解氣體分 析法進行深入分析后,以改良三比值法為基礎,建立基于概率神經網絡的故障診斷模型。案例數據中的 data. mat 是 33 × 4 維的矩陣,前3列為改良三比值法數值,第 4 列為分類的輸出,也就是故障的類別 。 使用前 23 個樣本作為 PNN 訓練樣本,后10個樣本作為驗證樣本 。

3.基于天鷹優化的PNN網絡

天鷹算法原理請參考:https://blog.csdn.net/u011835903/article/details/123476675

利用天鷹算法對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原理部分均來自該書籍

7.Matlab代碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160168.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160168.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160168.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

新手必看!!附源碼!!STM32通用定時器輸出PWM

一、什么是PWM? PWM(脈沖寬度調制)是一種用于控制電子設備的技術。它通過調整信號的脈沖寬度來控制電壓的平均值。PWM常用于調節電機速度、控制LED亮度、產生模擬信號等應用。 二、PWM的原理 PWM的基本原理是通過以一定頻率產生的脈沖信號&#xff0…

【5 樹與二叉樹】統計二叉樹結點值和。

typedef struct BiTNode{int data;struct BiTNode *lchild,*rchild; }*BiTree,BiTNode;int sum(BiTree T){if(Tnull)return 0;return T->datasum(T->lchild)sum(T->rchild); }

Android:Google三方庫之Firebase集成詳細步驟(二)

Analytics分析 1、將 Firebase 添加到您的 Android 項目(如果尚未添加),并確保在 Firebase 項目中啟用了 Google Analytics(分析): 如果您要創建新的 Firebase 項目,請在項目創建過程中啟用 G…

實時錯誤’-2147217887‘多步OLB DB 操作產生錯誤。如果可能,請檢查OLE DB狀態值

目錄 背景問題問題分析問題解決 錯誤解決與定位技巧總結 背景 仍舊是學生信息管理系統的問題,當時做的時候沒發現這么多問題呢,只能說明一件事,做的時候沒有站在用戶的角度考慮需求,設置了什么內容,就按照設置好的去測…

AIGC ChatGPT4總結SQL優化細節操作

數據庫SQL優化是一個復雜的過程,它通常涉及到許多不同的技術和方法。以下是一些常用的SQL優化策略: 1. **索引使用**:索引可以極大地加速查詢速度。但是,索引并不總是有好處的,因為它們需要額外的空間來存儲,并且在插入和更新數據時可能會減慢速度。因此,選擇正確的字段…

Unity中Shader紋理的過濾

文章目錄 前言一、為什么要過濾?二、過濾方式1、Point(no filter) 無過濾2、Bilinear 雙線性過濾3、Trilinear 三線性過濾 前言 Unity中Shader紋理的過濾 一、為什么要過濾? 事實上沒有一個紋理上的紋素是與屏幕上的像素是一一對應的。 屏幕上的 一個…

redis安裝(Windows和linux)

如何實現Redis安裝與使用的詳細教程 Redis 簡介 Redis是一個使用C語言編寫的開源、高性能、非關系型的鍵值對存儲數據庫。它支持多種數據結構,包括字符串、列表、集合、有序集合、哈希表等。Redis的內存操作能力極強,其讀寫性能非常優秀,且…

萬字解析:十大排序(直接插入排序+希爾排序+選擇排序+堆排序+冒泡排序+快速排序+歸并排序+計數排序+基數排序+桶排序)

文章目錄 十大排序排序算法復雜度及穩定性分析一、 排序的概念1.排序:2.穩定性:3.內部排序:4.外部排序: 二、插入排序1.直接插入排序2.希爾排序 三、選擇排序1.直接選擇排序方法一方法二直接插入排序和直接排序的區別 2.堆排序 四…

【藍橋杯省賽真題45】Scratch九宮格游戲 藍橋杯scratch圖形化編程 中小學生藍橋杯省賽真題講解

目錄 scratch九宮格游戲 一、題目要求 編程實現 二、案例分析 1、角色分析

輕量封裝WebGPU渲染系統示例<37>- 多個局部點光源應用于非金屬材質形成的效果(源碼)

當前示例源碼github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/BasePbrMaterialMultiLights.ts 當前示例運行效果: 此示例基于此渲染系統實現,當前示例TypeScript源碼如下: export class BasePbrMaterial…

2023年09月 Scratch(二級)真題解析#中國電子學會#全國青少年軟件編程等級考試

Scratch等級考試(1~4級)全部真題?點這里 一、單選題(共25題,每題2分,共50分) 第1題 點擊綠旗,運行程序后,舞臺上的圖形是?( ) A:畫筆粗細為4的三角形 B:畫筆粗細為5的六邊形 C:畫筆粗細為4的六角形 D:畫筆粗細為5的三角形 答案:D 第2題 如下圖所示,從所給…

緩存雪崩、擊穿、穿透_解決方案

文章目錄 緩存雪崩、擊穿、穿透1.緩存雪崩造成緩存雪崩解決緩存雪崩 2. 緩存擊穿造成緩存擊穿解決緩存擊穿 3.緩存穿透造成緩存穿透解決緩存穿透 緩存雪崩、擊穿、穿透 一般用戶數據存儲于磁盤,讀寫速度慢。 使用redis作為緩存,相當于數據緩存在內存&a…

GZ031 應用軟件系統開發賽題第1套

2023年全國職業院校技能大賽 應用軟件系統開發賽項(高職組) 賽題第1套 工位號: 2023年4月 競賽說明 一、項目背景 黨的二十大報告指出,要加快建設制造強國、數字中國,推動制造業高端化、智能化、綠色化發展。《IDC中國制造企業調研報告,2021》報告指…

SpringBoot學習筆記-實現微服務:匹配系統(上)

筆記內容轉載自 AcWing 的 SpringBoot 框架課講義,課程鏈接:AcWing SpringBoot 框架課。 CONTENTS 1. 配置WebSocket2. 前后端WebSocket通信2.1 WS通信的建立2.2 加入JWT驗證 3. 前后端匹配業務3.1 實現前端頁面3.2 實現前后端交互邏輯3.3 同步游戲地圖 …

年底了,我勸大家真別輕易離職...

年底了,一些不滿現狀,被外界的“高薪”“好福利”吸引的人,一般就在這時候毅然決然地跳槽了。 在此展示一套學習筆記 / 面試手冊,年后跳槽的朋友可以好好刷一刷,還是挺有必要的,它幾乎涵蓋了所有的軟件測試…

銀河麒麟V10-ARM架構-postgresql安裝與部署指南

提示:本人長期接收外包任務。 前言 本文詳細介紹應用源碼進行pgsql的安裝步驟,本文以postgresql-12.0為例。 一、下載并解壓安裝包 ☆下載地址:https://ftp.postgresql.org/pub/source/ 解壓安裝包,創建安裝路徑: …

shopee數據分析軟件:了解市場趨勢,分析競爭對手,優化運營策略

在當今數字化時代,數據已經成為了企業決策的重要依據。對于電商行業來說,數據更是至關重要。如果你想在電商領域中脫穎而出,那么你需要一款強大的數據分析工具來幫助你更好地了解市場、分析競爭對手、優化運營策略。而知蝦數據軟件就是這樣一…

【python學習】中級篇-圖形界面-內置庫Tkinter,用于創建圖形用戶界面(GUI)

Tkinter是Python的一個內置庫,用于創建圖形用戶界面(GUI)。 以下是一個簡單的Tkinter用法示例: import tkinter as tkdef on_click():label.config(text"你好," entry.get())# 創建主窗口 root tk.Tk() root.title("Tkinte…

【python】[subprocess庫] 優雅的并發模板:并發,多進程管理與交互

需求 1> 創建多個進程,并發執行多個終端指令 2> 每個進程的進程號不同(以供記錄,并在異常退出時進行進程清理) 3> 每個子進程的輸出可被python變量記錄 (別問,就是想看) 4> 這些子…

錯題集(c語言)

一、 #include <stdio.h> int main() {int x, y;for (x 30, y 0; x > 10, y<10; x--, y)x / 2, y 2;printf("x%d,y%d\n", x, y);return 0; }思路&#xff1a; 第一次循環開始前&#xff1a;x30&#xff0c;y0&#xff0c;結束&#xff1a;x15&#…