当前位置: 首页 > news >正文

基于人工兔算法优化概率神经网络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[(Xwi)T(XWi)/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/128491707

利用人工兔算法对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神经网络…...

微服务学习(十二):安装Minio

微服务学习(十二):安装Minio 一、简介 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。MinIO系统,非常适合于存储大容量非结构化的数据,例如图片、视…...

SpringCloud实用-OpenFeign整合okHttp

文章目录 前言正文一、OkHttpFeignConfiguration 的启用1.1 分析配置类1.2 得出结论,需要增加配置1.3 调试 二、OkHttpFeignLoadBalancerConfiguration 的启用2.1 分析配置类2.2 得出结论2.3 测试 附录附1:本系列文章链接附2:OkHttpClient 增…...

Python 异步套接字编程

异步套接字编程是异步编程在网络通信中的应用,它使用异步 IO 操作和事件循环来实现高并发的网络应用。Python 中的 asyncio 模块提供了对异步套接字编程的支持,以下是异步套接字编程的一些重要概念和使用方法: 1. 异步套接字服务器&#xff…...

今年的校招薪资真的让人咋舌!

秋招接近尾声,各大公司基本也陆续开奖了。这里整理了部分公司的薪资情况,数据来源于 OfferShow 和牛客网。 ps:爆料薪资的几乎都是 211 和 985 的,并不是刻意只选取学校好的。另外,无法保证数据的严格准确性。 淘天 …...

debian 设置系统默认以命令行方式启动,关闭x windows

debian 设置系统默认以命令行方式启动,关闭x windows 2021-01-02 tech linux 设置 grub启动设置在/etc/default/grub中,打开 default grub 配置: $ sudo vim /etc/default/grub修改以下配置: 更新grub,设置多用户启动: …...

AMEYA360:蔡司新能源汽车解决方案驱动产业未来

电动化正在重塑中国汽车工业。自中国汽车工业开始发展以来,在电动化和智能化的浪潮推动下,汽车行业从未面临着如此巨大的变革。得益于中国汽车产业尤其是新能源车过去十余年的激流勇进,消费者对新能源汽车的接受度也在发生转变。新能源汽车市…...

C#面试问题整理

sqlserver中视图和表的区别 在 SQL Server 中,视图(View)和表(Table)是不同的对象,它们有以下几点区别: 数据存储方式:表是一种实际存储数据的数据库对象,它包含列和行&…...

微信小程序 基于Android的共享付费自习室座位选座系统uniAPP

题目: 基于Android的共享自习室APP设计与实现 (学校要求:数据库不少于有逻辑关系的20个表,系统功能不少于60个功能点) 技术: 功能: 1. 用户端: 一、首页: (1&…...

Java中类的类型判断技巧以及没有无参构造函数时的应对策略。isInstance()方法解析

类的类型判断 基本数据类型的包装类中&#xff0c;例如Integer、Long这些类是没有无参构造方法的&#xff0c;因此在以下情况中&#xff0c;会出错 具体类型是未知的&#xff0c;只有全路径类名 String typeSte "java.lang.Integer"; Class<?> typeClass …...

基于微信小程序的员工宿舍报修系统

项目介绍 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时…...

机器学习探索计划——KNN算法流程的简易了解

文章目录 数据准备阶段KNN预测的过程1.计算新样本与已知样本点的距离2.按照举例排序3.确定k值4.距离最近的k个点投票 scikit-learn中的KNN算法 数据准备阶段 import matplotlib.pyplot as plt import numpy as np# 样本特征 data_X [[0.5, 2],[1.8, 3],[3.9, 1],[4.7, 4],[6.…...

ES6之class类

ES6提供了更接近传统语言的写法&#xff0c;引入了Class类这个概念&#xff0c;作为对象的模板。通过Class关键字&#xff0c;可以定义类&#xff0c;基本上&#xff0c;ES6的class可以看作只是一个语法糖&#xff0c;它的绝大部分功能&#xff0c;ES5都可以做到&#xff0c;新…...

17 redis集群方案

1、RedisCluster分布式集群解决方案 为了解决单机内存&#xff0c;并发等瓶颈&#xff0c;可使用此方案解决问题. Redis-cluster是一种服务器Sharding技术&#xff0c;Redis3.0以后版本正式提供支持。 这里的集群是指多主多从&#xff0c;不是一主多从。 2、redis集群的目标…...

[数据结构]—栈和队列

&#x1f493;作者简介&#x1f389;&#xff1a;在校大二迷茫大学生 &#x1f496;个人主页&#x1f389;&#xff1a;小李很执着 &#x1f497;系列专栏&#x1f389;&#xff1a;数据结构 每日分享✨&#xff1a;到头来&#xff0c;有意义的并不是结果&#xff0c;而是我们度…...

【GridSearch】 简单实现并记录运行效果

记录了使用for循环实现网格搜索的简单框架。 使用df_search记录每种超参数组合下的运行结果。 lgb_model.best_score返回模型的最佳得分 lgb_model.best_iteration_返回模型的最佳iteration也就是最佳n_extimator import numpy as np import pandas as pd import lightgbm as …...

SecureCRT出现Key exchange failed.No compatible key exchange method. 错误解决方法

SecureCRT出现Key exchange failed.No compatible key exchange method. 如下 Key exchange failed. No compatible key exchange method. The server supports these methods: curve25519-sha256,curve25519-sha256libssh.org,diffie-hellman-group-exchange-sha256解决方法&…...

Android RGB转YUV的算法

将 ARGB&#xff08;Alpha-Red-Green-Blue&#xff09;颜色空间转换为 YUV&#xff08;亮度-色度&#xff09;颜色空间的常用算法有以下几种&#xff1a; 矩阵转换法 使用预定义的转换矩阵将 RGB 值转换为 YUV 值。其中&#xff0c;Y 表示亮度&#xff0c;U 和 V 表示色度。这…...

Spring事务底层原理(待完善)

EnableTransactionManagement 我们经常使用EnableTransactionManagement开启事务, 这个注解导入一个类,Import(TransactionManagementConfigurationSelector.class), 会在spring容器增加两个bean, AutoProxyRegistrar和ProxyTransactionManagementConfiguration. AutoProxyRe…...

微信小程序 修改默认单选,多选按钮样式

微信小程序 修改默认单选&#xff0c;多选按钮样式 1.在微信开发者文档中复制一份单选或者多选的代码 <!--pages/index3/index.wxml--> <radio-group bindchange"radioChange"><label class"weui-cell weui-check__label" style"dis…...

Verdi之nWave波形高效调试实战

1. Verdi与nWave初探&#xff1a;数字电路调试的瑞士军刀 第一次接触Verdi的nWave功能时&#xff0c;我正被一个棘手的FPGA时序问题困扰。传统仿真工具生成的波形文件像天书一样难以解读&#xff0c;直到同事推荐了nWave这个神器。简单来说&#xff0c;nWave是Synopsys Verdi调…...

内容优化:让信息更清晰、更有价值

什么是内容优化&#xff1f;我们每天都会接触大量文字、视频、图片&#xff0c;但并不是所有内容都能让人看懂、记住或产生共鸣。内容优化&#xff0c;就是把原本杂乱、模糊或冗长的信息&#xff0c;调整得更清晰、更贴合读者需求的过程。它不是简单地删减字数&#xff0c;也不…...

笔记本EC与BIOS的‘暗号’:深入解读Q Event与GPIO SMI在电源、按键背后的协作

笔记本EC与BIOS的‘暗号’&#xff1a;深入解读Q Event与GPIO SMI在电源、按键背后的协作 当按下笔记本电源键时&#xff0c;这个看似简单的动作背后隐藏着一场精密的硬件交响乐。嵌入式控制器&#xff08;EC&#xff09;与BIOS通过Q Event和GPIO SMI这两种特殊通信机制&#…...

企业未来需要“首席 AI Agent Harness Engineering 官”吗?

《从CIO到CAHEO:为什么2027年80%的世界500强都会设立「首席AI Agent驾驭工程官」?》 关键词 首席AI Agent驾驭工程官(CAHEO)、AI Agent治理、企业AI落地ROI、Agent工程化、大模型应用架构、数字员工管理、AI合规风险防控 摘要 2024年,AI Agent已经从实验室概念演变为企…...

抖音批量下载终极指南:免费开源工具快速搞定视频素材管理

抖音批量下载终极指南&#xff1a;免费开源工具快速搞定视频素材管理 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…...

RANSAC(随机采样一致性算法)

🧮 数学原理与公式推导 1. 迭代次数计算公式 迭代次数 N N N 的确定基于概率理论: N = log ⁡ ( 1 − p ) log ⁡ ( 1 − ( 1 − e ) s ) N = \frac{\log(1-p)}{\log(1-(1-e)^s)} N...

如何下载huggingface数据

使用 Hugging Face 新版 CLI 工具 hf 下载数据集&#xff08;国内镜像加速版&#xff09; 在进行机器学习和深度学习项目时&#xff0c;我们经常需要从 Hugging Face Hub 下载公开的数据集。然而&#xff0c;由于网络原因&#xff0c;国内用户直接访问 Hugging Face 官方源时往…...

从零到一搭建企业级容器平台:我为什么选择KubeSphere 3.x而不是裸奔K8s?

从零到一搭建企业级容器平台&#xff1a;为什么KubeSphere 3.x是比裸奔K8s更明智的选择&#xff1f; 当技术团队决定将业务迁移到容器平台时&#xff0c;摆在面前的第一个关键决策往往是&#xff1a;直接使用原生Kubernetes&#xff0c;还是选择一个企业级发行版&#xff1f;这…...

终极指南:3步彻底解决TranslucentTB开机不启动问题,让你的Windows任务栏永远透明

终极指南&#xff1a;3步彻底解决TranslucentTB开机不启动问题&#xff0c;让你的Windows任务栏永远透明 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/Tran…...

力扣1172题今天做不出来了 ,明日再战

今天上午两节 Java 课 , Java 老师 真惨啊 , 呜呜呜呜 , Java 老师胳膊周末的时候不小心摔骨折了 . 他扎着绷带还给我们上课 , 真的是感动死了. 真的 , 我哭死 … . . 晚上 自己搞了: 观看技术直播 AI 大模型应用开发 Python持续学习 AI 相关知识…使用了一下 openclaw , …...