基于蝠鲼觅食算法优化概率神经网络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 。

2.变压器故障诊街系统相关背景
运行中的变压器发生不同程度的故障时,会产生异常现象或信息。故障分析就是搜集变压器的异常现象或信息,根据这些现象或信息进行分析 ,从而判断故障的类型 、严重程度和故障部位 。 因此 , 变压器故障诊断的目的首先是准确判断运行设备当前处于正常状态还是异常状态。若变压器处于异常状态有故障,则判断故障的性质、类型和原因 。 如是绝缘故障、过热故障还是机械故障。若是绝缘故障,则是绝缘老化 、 受潮,还是放电性故障 ;若是放电性故障又 是哪种类型的放电等。变压器故障诊断还要根据故障信息或根据信息处理结果,预测故障的可能发展即对故障的严重程度、发展趋势做出诊断;提出控制故障的措施,防止和消除故障;提出设备维修的合理方法和相应的反事故措施;对设备的设计、制造、装配等提出改进意见,为设备现代化管理提供科学依据和建议。
2.1 模型建立
本案例在对油中溶解气体分 析法进行深入分析后,以改良三比值法为基础,建立基于概率神经网络的故障诊断模型。案例数据中的 data. mat 是 33 × 4 维的矩阵,前3列为改良三比值法数值,第 4 列为分类的输出,也就是故障的类别 。 使用前 23 个样本作为 PNN 训练样本,后10个样本作为验证样本 。
3.基于蝠鲼觅食优化的PNN网络
蝠鲼觅食算法原理请参考:https://blog.csdn.net/u011835903/article/details/112390588
利用蝠鲼觅食算法对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代码
相关文章:
基于蝠鲼觅食算法优化概率神经网络PNN的分类预测 - 附代码
基于蝠鲼觅食算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蝠鲼觅食算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蝠鲼觅食优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…...
「分享学习」SpringCloudAlibaba高并发仿斗鱼直播平台实战完结
[分享学习]SpringCloudAlibaba高并发仿斗鱼直播平台实战完结 第一段:简介 Spring Cloud Alibaba是基于Spring Cloud和阿里巴巴开源技术的微效劳框架,普遍应用于大范围高并发的互联网应用系统。本文将引见如何运用Spring Cloud Alibaba构建一个高并发的仿…...
Vue|props配置
props是Vue中用于传递数据的属性。通过在子组件的选项中定义props属性,可以指定子组件可以接收的数据以及其他配置选项。父组件可以通过在子组件上使用特定的属性来传递数据。 目录 目录 App.vue 什么是App.vue 组件引用 props配置 组件复用 案例1:…...
使用Microsoft Dynamics AX 2012 - 2. 入门:导航和常规选项
Microsoft Dynamics AX的核心原则之一是为习惯于Microsoft软件的用户提供熟悉的外观和感觉。然而,业务软件必须适应业务流程,这可能相当复杂。 用户界面和常见任务 在我们开始进行业务流程和案例研究之前,我们想了解一下本章中的常见功能。…...
【代码随想录】算法训练计划21、22
day 21 1、530. 二叉搜索树的最小绝对差 题目: 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 思路: 利用了二叉搜索树的中序遍历特性用了双指…...
java实现钉钉机器人消息推送
项目开发中需要用到钉钉机器人发送任务状态,本来想单独做一个功能就好,但是想着公司用到钉钉机器人发送项目挺多的。所以把这个钉钉机器人抽离成一个组件发布到企业maven仓库,这样可以给其他同事用提高工作效率。 1.目录结构 2.用抽象类&…...
C语言之break continue详解
C语言之break continue 文章目录 C语言之break continue1. break 和 continue2. while语句中的break和continue2.1break和continue举例 3. for语句中的break和continue3.1break和continue举例 1. break 和 continue 循环中break和continue 在循环语句中,如果我达到…...
mysql group by 执行原理及千万级别count 查询优化
大家好,我是蓝胖子,前段时间mysql经常碰到慢查询报警,我们线上的慢sql阈值是1s,出现报警的表数据有 7000多万,经常出现报警的是一个group by的count查询,于是便开始着手优化这块,遂有此篇,记录下…...
Linux的几个常用基本指令
目录 1. ls 指令2.pwd命令3.cd 指令4. touch指令5.mkdir指令6.rmdir指令 && rm 指令7.man指令8.cp指令9.mv指令10.cat指令 1. ls 指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件&…...
mac中安装Homebrew
1、Homebrew是什么? 软件安装管理工具 2、先检查电脑中是否已经安装了Homebrew 打开终端输入:brew 提示命令没有找到,说明电脑没有安装Homebrew 如果提示上述图片说明Homebrew已经安装成功 3、安装Homebrew 进入https://brew.sh/ 复制的命…...
Vue23的计算属性(computed)
Vue2&3的计算属性(computed) Vue2的计算属性 原理:data中的属性通过计算得到新的属性,称为计算属性(computed)。computed 具有 getter 和 setter 属性 getter 属性在使用时分别有两次调用:…...
vue3中祖孙组件之间的通信provide和inject
一、在vue3中新增的祖孙之间通信的方式 provide和inject是Vue中的两个相关功能,它们一起提供了一种祖孙组件之间共享数据的方式。父组件可以使用provide来提供数据,而子孙组件可以使用inject来接收这些数据。 二、使用 父组件中部分代码 <script&g…...
月影下的时光机:Python中的日期、时间、农历、节气和时区探秘
前言 在现代软件开发中,对日期、时间和时区的准确处理至关重要。无论是全球化应用的开发,还是与时序数据相关的任务,都需要强大而灵活的工具。Python作为一门流行的编程语言,提供了丰富的标准库和第三方库,使得处理日…...
【Bazel】Bazel 学习笔记
本文简单记录下 Bazel 使用过程中的一些知识点。 目录 文章目录 目录Bazel 目录结构BUILD 构建规则常用构建规则 Bazel 命令bazel buildbazel query Mac 安装 Bazel Bazel 是谷歌推出的一个开源的构建工具,工作原理与 make、maven 或 gradle 等其他构建工具类似。但…...
2023年“华为杯”第二十届中国研究生数学建模成绩数据分析(末尾有吃席群)
目录 0引言1、数据大盘1.1 官方数据1.2 分赛题统计数据1.2.1 A-F 获奖数1.2.2 A-F 获奖率 2、分学校统计获奖情况(数模之星没有统计)3、 数模之星4、吃席群5、写在最后的话 0引言 2023年华为杯成绩于2023年9月22-26日顺利举行,来自国际和全国…...
Linux文件和文件夹命令详解
1.Linux文件类型详解 常见的Linux文件类型: 普通文件(Regular File):(例如文本文件、二进制文件、图片、视频和压缩文件等;) 普通文件是最常见的文件类型,存储了实际的数据…...
MIKE水动力笔记20_由dfs2网格文件提取dfs1断面序列文件
本文目录 前言Step 1 MIKE Zero工具箱Step 2 提取dfs1 前言 在MIKE中,dfs2是一个一个小格格的网格面的时间序列文件,dfs1是一条由多个点组成的线的时间序列文件。 如下两图: 本博文内容主要讲如何从dfs2网格文件中提取dfs1断面序列文件。 …...
微服务nacos实战入门
注册中心 在微服务架构中,注册中心是最核心的基础服务之一 主要涉及到三大角色: 服务提供者 ---生产者 服务消费者 服务发现与注册 它们之间的关系大致如下: 1.各个微服务在启动时,将自己的网络地址等信息注册到注册中心&#x…...
PyCharm 远程连接服务器并使用服务器的 Jupyter 环境
❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...
HBase中的数据表是如何用CHAT进行分区的?
问CHA:HBase中的数据表是如何进行分区的? CHAT回复: 在HBase中,数据表是水平分区的。每一个分区被称为一个region。当一个region达到给定的大小限制时,它会被分裂成两个新的region。 因此,随着数据量的增…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
