基于秃鹰算法优化概率神经网络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/113775430
利用秃鹰算法对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神经网络的光滑…...
向pycdc项目提的一个pr
向pycdc项目提的一个pr 前言 pycdc这个项目,我之前一直有在关注,之前使用他反编译python3.10项目,之前使用的 uncompyle6无法反编译pyhton3.10生成的pyc文件,但是pycdc可以,但是反编译效果感觉不如uncompyle6。但是版…...
Spring学习③__Bean管理
目录 IOC接口ApplicationContext 详解IOC操作Bean管理基于xml方式基于xml方式创建对象基于xml方式注入属性使用set方法进行注入通过有参数的构造进行注入p 名称空间注入(了解) 基于xml方式注入其他类型属性xml 注入数组类型属性 IOC接口 IOC思想基于IOC…...
《视觉SLAM十四讲》-- 后端 2
文章目录 09 后端 29.1 滑动窗口滤波和优化9.1.1 实际环境下的 BA 结构9.1.2 滑动窗口法 9.2 位姿图9.2.1 位姿图的意义9.2.2 位姿图优化 09 后端 2 9.1 滑动窗口滤波和优化 9.1.1 实际环境下的 BA 结构 由于计算机算力的限制,我们必须控制 BA 的规模,…...
安装插件时Vscode XHR Failed 报错ERR_CERT_AUTHORITY_INVALID
安装插件时Vscode XHR Failed 报错ERR_CERT_AUTHORITY_INVALID 今天用vscode 安装python插件时报XHR failed,无法拉取应用商城的数据, 报的错如下: ERR_CERT_AUTHORITY_INVALID 翻译过来就是证书有问题 找错误代码的方法: 打开vscode, 按F1…...
ON_WM_TIMER()
ON_WM_TIMER() static_cast: cannot convert from void (__cdecl CPop::* )(UINT) to void (__cdecl CWnd::* )(UINT_PTR) OnTimer(UINT nIDEvent) ----> OnTimer(UINT_PTR nIDEvent)...
【Unity】单例模式及游戏声音管理类应用
【Unity】单例模式及游戏声音管理类应用 描述 在日常游戏项目开发中,单例模式是一种常用的设计模式,它允许在应用程序的生命周期中只创建一个对象实例,并提供对该实例的全局访问点。通过使用单例模式,可以提高代码的可维护性和可…...
视频剪辑技巧:轻松搞定视频随机合并,一篇文章告知所有秘诀
在视频制作的过程中,视频随机合并是一种创新的剪辑手法,它打破了传统的线性剪辑模式,使得视频剪辑更加灵活和有趣。通过将不同的视频片段随机组合在一起,我们可以创造出独特的视觉效果和情感氛围。这种剪辑方式让观众在观看视频时…...
torch.stack
看网上看多没讲的不是很明白,我来试试空间上的理解 # 假设是时间步T1的输出 T1 torch.tensor([[1, 2, 3],[4, 5, 6],[7, 8, 9]]) # 假设是时间步T2的输出 T2 torch.tensor([[10, 20, 30],[40, 50, 60],[70, 80, 90]])输出: print(torch.stack((T1,T2…...
手搓哈希表、列表、队列,只为了用C语言快速求解华容道游戏,我不是大佬,只是一个游戏算法爱好者
背景 多年前曾经写过C语言求解华容道,当时没有用到哈希表,导致整个查重搜索数组过大,每次求解都得花上数分钟的时间,如今时过境迁,对数据结构和算法有了更深的理解,所以得把这一块补上了。(其实就是最近想…...
MySQL 的执行原理(一)
5.1 单表访问之索引合并 我们前边说过 MySQL 在一般情况下执行一个查询时最多只会用到单个二级 索引,但存在有特殊情况,在这些特殊情况下也可能在一个查询中使用到多个二 级索引,MySQL 中这种使用到多个索引来完成一次查询的执行方法称之为&…...
2023_“数维杯”问题B:棉秸秆热解的催化反应-详细解析含代码
题目翻译: 随着全球对可再生能源需求的不断增加,生物质能作为一种成熟的可再生能源得到了广泛的关注。棉花秸秆作为一种农业废弃物,因其丰富的纤维素、木质素等生物质成分而被视为重要的生物质资源。虽然棉花秸秆的热解可以产生各种形式的可…...
django理解01
接在Vue理解01后 项目创建 pycharm上下载django框架 在需要创建项目的文件夹终端django-admin startproject 项目名终端创建APPpython manage.py startapp app名注册APP,settings.py里INSTALLED_APPS下,增加一项:app名.apps.类名࿰…...
限制Domain Admin登录非域控服务器和用户计算机
限制Domain Admin管理员使用敏感管理员帐户(域或林中管理员组、域管理员组和企业管理员组中的成员帐户)登录到信任度较低的服务器和用户端计算机。 此限制可防止管理员通过登录到信任度较低的计算机来无意中增加凭据被盗的风险。 建议采用的策略 建议使用以下策略限制对信任度…...
原来机械硬盘比内存慢10万倍
我们都知道机械硬盘的速度很慢,内存的速度很快,那么不同存储器之间的差距到底有多大呢? 我们先来看一幅图: CPU访问寄存器的时间是0.3纳秒,访问L1高速缓存的时间是1纳秒,访问L2高速缓存的时间是4纳秒… 秒…...
ElementUI的Dialog弹窗实现拖拽移动功能
文章目录 1. ElementUI简介2. 弹窗基本使用3. 实现拖拽移动功能4. 拓展与分析 🎉欢迎来到Java学习路线专栏~ElementUI的Dialog弹窗实现拖拽移动功能 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客🎈该系列文章专栏&a…...
生成式AI模型量化简明教程
在不断发展的人工智能领域,生成式AI无疑已成为创新的基石。 这些先进的模型,无论是用于创作艺术、生成文本还是增强医学成像,都以产生非常逼真和创造性的输出而闻名。 然而,生成式AI的力量是有代价的—模型大小和计算要求。 随着生…...
机器人制作开源方案 | 智能快递付件机器人
一、作品简介 作者:贺沅、聂开发、王兴文、石宇航、盛余庆 单位:黑龙江科技大学 指导老师:邵文冕、苑鹏涛 1. 项目背景 受新冠疫情的影响,大学校园内都采取封闭式管理来降低传染的风险,导致学生不能外出,…...
PostgreSQL技术大讲堂 - 第34讲:调优工具pgBagder部署
PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。 第34讲&#…...
《Python日志新宠——Loguru,轻松记录,笑对Bug!》
嘿,程序媛和程序猿们!👩💻👨💻 你们是不是也曾为日志处理这个“小事”而头疼?别着急,今天我给你们介绍一个简直比拥抱泰迪熊还要温暖的Python库——Loguru!这货不仅强…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
