当前位置: 首页 > 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…...

级联双二阶IIR滤波器设计与实现详解

1. 从零理解级联双二阶IIR滤波器设计在数字信号处理领域&#xff0c;IIR&#xff08;无限脉冲响应&#xff09;滤波器因其高效的频率选择特性而广受欢迎。但高阶IIR滤波器直接实现时&#xff0c;系数量化误差会导致严重的稳定性问题。级联双二阶&#xff08;Biquad&#xff09;…...

Adobe-GenP 3.0:三步快速激活Adobe全家桶的终极指南

Adobe-GenP 3.0&#xff1a;三步快速激活Adobe全家桶的终极指南 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 还在为Adobe Creative Cloud的高昂订阅费发愁吗&…...

简单三步:Fun-ASR多语言语音识别模型部署与调用教程

简单三步&#xff1a;Fun-ASR多语言语音识别模型部署与调用教程 1. 快速了解Fun-ASR语音识别模型 Fun-ASR-MLT-Nano-2512是阿里通义实验室推出的轻量级多语言语音识别模型&#xff0c;它能帮你把各种语言的语音内容快速转换成文字。想象一下&#xff0c;你只需要对着手机说话…...

嵌入式系统与CPS核心技术解析与应用实践

1. 嵌入式系统与信息物理系统概述1.1 基本概念与技术特征嵌入式系统是以专用计算机为核心&#xff0c;嵌入到对象体系中完成特定功能的智能化电子系统。与通用计算机系统不同&#xff0c;嵌入式系统具有三个显著特征&#xff1a;专用性&#xff1a;针对特定应用场景优化设计&am…...

YouTube API配额总不够用?手把手教你优化搜索请求,把1万次配额用到极致

YouTube API配额优化实战&#xff1a;如何将1万次配额效率提升300% 当你开发的视频分析工具突然因API配额耗尽而瘫痪&#xff0c;或是眼睁睁看着精心设计的功能因配额限制被迫降级——这种场景对使用YouTube Data API的开发者来说再熟悉不过。每日1万次的默认配额看似充裕&…...

Qwen3-4B-Thinking作品分享:碳足迹核算标准解读+企业减排路径推理生成

Qwen3-4B-Thinking作品分享&#xff1a;碳足迹核算标准解读企业减排路径推理生成 1. 模型介绍 Qwen3-4B-Thinking-2507-Gemini-2.5-Flash-Distill是基于通义千问Qwen3-4B官方模型开发的专业推理模型。这个4B参数的稠密模型具有原生256K tokens的上下文处理能力&#xff0c;并…...

像素时装锻造坊应用指南:快速生成电商海报、社交配图的像素艺术时装

像素时装锻造坊应用指南&#xff1a;快速生成电商海报、社交配图的像素艺术时装 1. 像素艺术的商业价值与创作痛点 在电商和社交媒体时代&#xff0c;视觉内容的生产效率直接决定营销效果。传统设计流程中&#xff0c;制作一张商品海报或社交配图需要经历&#xff1a;构思→草…...

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...

Pymol科研绘图:从AlphaFold预测结构到发表级图片,我的完整工作流分享

Pymol科研绘图&#xff1a;从AlphaFold预测结构到发表级图片&#xff0c;我的完整工作流分享 在结构生物学和药物设计领域&#xff0c;一张清晰的蛋白质结构图往往胜过千言万语。作为实验室里"出图率"最高的软件之一&#xff0c;Pymol的强大功能常被初学者低估——它…...

Linux Socket编程进阶:send()函数flags参数全解析,从MSG_DONTWAIT到MSG_MORE的实战避坑指南

Linux Socket编程进阶&#xff1a;send()函数flags参数全解析与实战避坑指南 在网络编程的世界里&#xff0c;send()函数就像是一位沉默的信使&#xff0c;而它的flags参数则是这位信使的"行为模式开关"。今天&#xff0c;我们不谈基础&#xff0c;直接深入探讨如何…...