基于浣熊算法优化概率神经网络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/130538719
利用浣熊算法对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神经网络的光滑…...
uni-app打包后,打开软件时使其横屏显示
找到page.json文件,在global加入以下代码: 这样就可以横屏显示了。...
MYSQL基础知识之【创建,删除,选择数据库】
文章目录 前言MySQL 创建数据库使用 mysqladmin 创建数据库使用 PHP脚本 创建数据库 MySQL 删除数据库使用 mysqladmin 删除数据库使用PHP脚本删除数据库 MySQL 选择数据库从命令提示窗口中选择MySQL数据库使用PHP脚本选择MySQL数据库 后言 前言 hello world欢迎来到前端的新世…...
关于 token 和证书
关于 token 和证书 在网络检测中,Token通常是指一种特殊的令牌,用于在分布式系统中进行资源控制和访问管理。Token可以用于验证客户端的身份、限制客户端的访问权限以及控制客户端对某些资源的使用。 在网络检测中,Token通常用于以下几个方…...
基于SSM和微信小程序的场地预约网站
文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SSM和微信小程序的场地预约网站,jav…...
Javascript每天一道算法题(十七)——缺失的第一个正整数_困难
文章目录 前言1、问题2、示例3、解决方法(1)方法1 总结 前言 提示: 1、问题 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 看了很久…...
【React】路径别名配置
路径解析配置(webpack),把 / 解析为 src/路径联想配置(VsCode),VSCode 在输入 / 时,自动联想出来对应的 src/下的子级目录 1. 路径解析配置 安装craco npm i -D craco/craco项目根目录下创建配…...
前缀和——238. 除自身以外数组的乘积
文章目录 🍷1. 题目🍸2. 算法原理🍥解法一:暴力求解🍥解法二:前缀和(积) 🍹3. 代码实现 🍷1. 题目 题目链接:238. 除自身以外数组的乘积 - 力扣&a…...
MySql数据库常用指令(二)
MySql数据库常用指令(二) 一、WHERE 子句二、UPDATE 更新三、DELETE 语句四、LIKE 子句五、UNION 操作符 注:文中TEST为测试所用数据库,根据实际应用修改 一、WHERE 子句 SELECT 语句使用 WHERE 子句从数据表中读取数据…...
zookeeper 单机伪集群搭建简单记录
1、官方下载加压后,根目录下新建data和log目录,然后分别拷贝两份,分别放到D盘,E盘,F盘 2、data目录下面新建myid文件,文件内容分别为1,2,3.注意文件没有后缀,不能是txt文…...
【Linux】匿名管道与命名管道,进程池的简易实现
文章目录 前言一、匿名管道1.管道原理2.管道的四种情况3.管道的特点 二、命名管道1. 特点2.创建命名管道1.在命令行上2.在程序中 3.一个程序执行打开管道并不会真正打卡 三、进程池简易实现1.makefile2.Task.hpp3.ProcessPool.cpp 前言 一、匿名管道 #include <unistd.h&g…...
HTML5+ API 爬坑记录
背景: 有个比较早些使用5开发的项目, 最近两天反馈了一些问题, 解决过程在此记录; 坑1: plus.gallery.pick 选择图片没有进入回调 HTML5 API Reference 在 联想小新 平板电脑上选择相册图片进行上传时, 打开相册瞬间 应用会自动重启, 相册倒是有打开, 不过应用重启了, 导…...
idea git将某个分支内的commit合并到其他分支
idea git将某个分支内的commit合并到其他分支 1.打开旧分支的代码提交记录 在IDEA中切换到新分支的代码,点击Git打开代码管理面板,在顶部点击Log:标签页(这个标签页内将来可以选择不同分支的个人/所有人的代码commit记录)&#x…...
Google hacking语法
Google hacking语法 文章目录 Google hacking语法site:inurl:intitle:filetypecacheintext注意 site: 搜索子域 跟域名site:www.baidu.com 定位 跟语言 site: jp inurl: 用于在特定url链接中搜索网站信息 inurl:login intitle: 使用intitle:指令返回页面标题中包含关键…...
Redis集群(新)
1.什么是集群 Redis集群实现了对Redis的水平扩容,可实现并发写操作,启动n个redis节点,将数据分别存储在不同的节点中,每块节点负责不同区域的插槽,所以Redis集群通过分区来提供一定程度的可用性。 Redis集群现采用的是…...
[JVM] 常用调优参数
随着Java应用程序的不断发展和优化,JVM调优已经变得越来越重要。在这篇文章中,我们将探讨一些常用的JVM调优参数,了解如何更好地优化Java应用程序的性能。 文章目录 1. -Xmx2. -Xms3. -XX:PermSize和-XX:MaxPermSize4. -XX:NewRatio5. -XX:Ma…...
【nlp】3.5 Transformer论文复现:3.解码器部分(解码器层)和4.输出部分(线性层、softmax层)
Transformer论文复现:3.解码器部分(解码器层)和4.输出部分(线性层、softmax层) 3.1 解码器介绍3.2 解码器层3.2.1 解码器层的作用3.2.2 解码器层的代码实现3.2.3 解码器层总结3.3 解码器3.3.1 解码器的作用3.3.2 解码器的代码实现3.3.3 解码器总结4.1 输出部分介绍4.2 线性…...
宝塔 Linux 面板安装一个高大上的论坛程序 —— Flarum
这个是很早搭建的版本,基于宝塔面板,比较复杂,如果想要简单的搭建方法,可以参看咕咕新写的这篇: 【好玩的 Docker 项目】10 分钟搭建一个高大上的论坛程序 购买腾讯云轻量应用服务器 待补充 登录服务器 待补充 BBR 加速脚本 BBR 加速脚本: BASH cd /usr/src &…...
数字化转型如何赋能企业实现数字化增值?
随着科技的不断发展,数字化转型已经成为了企业营销的重要趋势。数字化转型不仅可以提高企业的运营效率,还可以更好地满足消费者的需求,提升企业的市场竞争力。 一、数字化转型可以提高企业营销的精准性 在传统的企业营销中,营销人…...
深度学习之九(Transformers)
Transformers 是一种用于处理序列数据的深度学习模型,特别擅长于自然语言处理(NLP)任务。Transformer 是一种基于自注意力机制(Self-Attention Mechanism)的架构,于2017年由 Vaswani 等人在 “Attention is All You Need” 论文中提出,它在机器翻译任务中取得了显著的性…...
基于vue的脑卒中患者居家康养管理系统[vue]-计算机毕业设计源码+LW文档
摘要:脑卒中作为一种高发病率、高致残率的脑血管疾病,患者出院后的居家康养管理至关重要。本文旨在设计并实现一个基于Vue框架的脑卒中患者居家康养管理系统,以提高患者居家康养的规范性和有效性。系统采用前后端分离架构,前端利用…...
避坑指南:Smart3D照片建模从导入到生成的5个关键设置(CC 10.16版)
Smart3D照片建模高阶避坑手册:CC 10.16版核心参数全解析 当你在深夜盯着屏幕上第7次空三计算失败的红色报错提示时,是否怀疑过那些被默认参数掩盖的关键设置?这不是又一篇照本宣科的软件教程,而是一位经历过237次建模失败的工程师…...
Meshroom终极指南:从照片到3D模型的免费开源完整教程
Meshroom终极指南:从照片到3D模型的免费开源完整教程 【免费下载链接】Meshroom Node-based Visual Programming Toolbox 项目地址: https://gitcode.com/gh_mirrors/me/Meshroom Meshroom是一款基于节点式视觉编程的开源3D重建软件,能够将普通2D…...
TrafficMonitor插件大全:打造你的终极桌面监控中心
TrafficMonitor插件大全:打造你的终极桌面监控中心 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 想在桌面上实时监控股票行情、硬件状态、天气信息却不想被复杂软件…...
Hearthstone-Script终极指南:如何用Java/Kotlin打造智能炉石传说自动化脚本
Hearthstone-Script终极指南:如何用Java/Kotlin打造智能炉石传说自动化脚本 【免费下载链接】Hearthstone-Script Hearthstone script(炉石传说脚本) 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Script 在炉石传说这款…...
Parsec VDD:Windows虚拟显示器终极解决方案,免费扩展你的数字工作空间
Parsec VDD:Windows虚拟显示器终极解决方案,免费扩展你的数字工作空间 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd 在当今多任务处理日益普及的数字时代…...
别再被‘kernel source tree not found’卡住:一份给Linux新手的RPM包依赖关系排查指南
别再被‘kernel source tree not found’卡住:一份给Linux新手的RPM包依赖关系排查指南 第一次在Linux上编译驱动或内核模块时,看到屏幕上跳出"kernel source tree not found"的红色错误,多数人的反应都是懵的。这个看似简单的报错…...
低速机器人路径跟踪选MPC还是PID?从双轮差速模型实战看优劣与适用场景
低速机器人路径跟踪:MPC与PID的深度对比与工程选型指南 当你的双轮差速机器人需要在仓库货架间精准穿梭,或是服务机器人在餐厅里灵活避让桌椅时,控制算法的选择直接决定了项目成败。作为经历过7个机器人项目的技术负责人,我见过太…...
别再手动拉镜像了!用这个脚本5分钟搞定K8s 1.18.6集群的国内镜像源问题
5分钟极速部署Kubernetes 1.18.6集群:智能镜像加速方案全解析 当你在国内环境尝试搭建Kubernetes集群时,是否经常被各种镜像拉取失败的问题困扰?传统的手动拉取镜像方式不仅耗时耗力,还容易出错。本文将为你揭秘一种高效解决方案—…...
3D 地球卫星轨道可视化平台开发 Day11(筛选指定卫星字段生成适配前端的JSON数据)
在3D地球卫星轨道可视化平台的开发过程中,我们往往会收录全球海量卫星数据,但实际前端渲染时,并不需要全部数据——更多时候,我们只需要聚焦那些知名度高、应用广泛的核心卫星系列,既能精简数据量、提升前端加载速度&a…...
