26.利用概率神经网络分类 预测基于PNN的变压器故障诊断(附matlab程序)

news2024/11/27 17:39:22

1.简述

 

       学习目标: 概率神经网络分类预测   基于PNN的变压器故障诊断

       概率神经网络是由Specht博士在1989年首先提出,  是一种与统计信号处理的许多概念有着紧密联系的并行算法。它实质上是一个分类器,根据概率密度函数的无参估计进行贝叶斯决策而得到分来结果。整个网络属于径向型网络,不需要进行反向误差传递,具备学习速度快、具有很强的容错性、可以完成任意非线性变换的优点,同时由于各层神经元的数目比较固定,因此易于硬件实现。在实际应用中,尤其在解决分类问题中,PNN不仅能用线性学习算法来完成非线性学习算法的工作,用时也能保证非线性算法的高精度等特征,所以被广泛应用于故障检测和目标分类识别领域。 概率神经网络通常由4层组成。

第1层为输入层,这一层负责将特征向量输入到神经网络中去,输入层神经元的个数就是样本特征值的个数,这一层的作用只是将输入信号用分步的方式来表示。

 第2层为模式层,它与输入层之间通过连接权值相连接。

 第3层为累加求和层,它具有线性求和功能。这一层的神经元数目与欲分的模式数目相同。

 第4层为累输出层,具有判决功能,输出为离散值1和0,分别代表着输入模式的类别。

建立基于PNN的故障诊断模型
       当变压器在发生故障时,具有多种故障运行形态。因此,能够及早的发现并处置故障,防止造成重大人员伤亡和经济损失显得十分重要。在采集到的状态数据基础上,训练得出合适的故障诊断模型来对其进行分类。

 PNN设计流程图
 

 

2.代码

%% 清空环境变量
clc;
clear all
close all
nntwarn off;
warning off;
%% 数据载入
load data
%% 选取训练数据和测试数据

Train=data(1:23,:);
Test=data(24:end,:);
p_train=Train(:,1:3)';
t_train=Train(:,4)';
p_test=Test(:,1:3)';
t_test=Test(:,4)';

%% 将期望类别转换为向量
t_train=ind2vec(t_train);
t_train_temp=Train(:,4)';
%% 使用newpnn函数建立PNN SPREAD选取为1.5
Spread=1.5;
net=newpnn(p_train,t_train,Spread)

%% 训练数据回代 查看网络的分类效果

%%  Sim函数进行网络预测
Y=sim(net,p_train);
%%  将网络输出向量转换为指针
Yc=vec2ind(Y);

%% 通过作图 观察网络对训练数据分类效果
figure(1)
subplot(1,2,1)
stem(1:length(Yc),Yc,'bo')
hold on
stem(1:length(Yc),t_train_temp,'r*')
title('PNN 网络训练后的效果')
xlabel('样本编号')
ylabel('分类结果')
set(gca,'Ytick',[1:5])
subplot(1,2,2)
H=Yc-t_train_temp;
stem(H)
title('PNN 网络训练后的误差图')
xlabel('样本编号')


%% 网络预测未知数据效果
Y2=sim(net,p_test);
Y2c=vec2ind(Y2)
figure(2)
stem(1:length(Y2c),Y2c,'b^')
hold on
stem(1:length(Y2c),t_test,'r*')
title('PNN 网络的预测效果')
xlabel('预测样本编号')
ylabel('分类结果')
set(gca,'Ytick',[1:5])
 

3.运行结果

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/664924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VanillaNet实战:使用VanillaNet实现图像分类(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整算法设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试热力图可视化展示…

【掌握Spring事务管理】深入理解事务传播机制的秘密

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 1.Spring 中事务的实现方式 1.1 Spring 编程式…

第八十天学习记录:计算机硬件技术基础:80486微处理器的指令系统

80486微处理器的寻址方式 要使微处理器能够完成指令规定的操作,则指令中须包含2种信息,一是执行什么操作;二是该操作所涉及的数据在哪里;三是结果存于何处,故指令通常操作由操作码字段和操作数字组成,其书…

chatgpt赋能python:Python的抹零功能介绍及使用方法

Python的抹零功能介绍及使用方法 Python是一种广泛使用的编程语言,而其抹零功能是在进行浮点数操作时非常有用的。在本文中,我们将介绍python中抹零的概念、使用方法以及注意事项,以帮助大家更好地使用python中的抹零功能。 什么是抹零&…

【MarkDown】CSDN Markdown之时间轴图timeline详解

文章目录 时间轴图一个关于时间轴图的例子语法分组长时间段或事件文本换行时间段和事件文本样式自定义颜色方案主题基础主题森林主题黑色主题默认主题中性主题 与库或网站集成 时间轴图 时间轴图:现在这是一个实验性的图表。语法和属性可能会在未来版本中更改。除了…

渣土车未苫盖识别系统 yolov8

渣土车未苫盖识别系统通过yolov8python,渣土车未苫盖识别系统对经过的渣土车进行实时监测,当检测到有渣土车未能及时苫盖时,将自动发出警报提示现场管理人员及时采取措施。Yolo模型采用预定义预测区域的方法来完成目标检测,具体而…

chatgpt赋能python:Python抽人代码:如何优化你的抽奖过程?

Python抽人代码:如何优化你的抽奖过程? 简介 抽奖是在网站上进行的一项非常常见的活动。随着技术的发展,抽奖活动的方式也越来越多样化。在这些活动中,人们喜欢使用抽人软件或代码来提高效率并确保随机性。这在Python中是相当简…

chatgpt赋能python:Python查找第二大的数——从入门到实战

Python查找第二大的数——从入门到实战 Python是一门非常强大的编程语言,不仅支持基本的编程技巧,也支持各种复杂的算法和数据结构。本篇文章将介绍如何通过Python编写一个程序,来实现查找数组中第二大的数。 环境准备 想要运行这个程序&a…

SQL 函数:concat函数、concat_ws()函数、group_concat()

SQL 函数:concat函数、concat_ws()函数、group_concat()函数(转载) concat()函数 功能:将多个字符串连接成一个字符串。 语法:concat(str1, str2,…) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返…

java - 报错解决集合

ssm-java学习笔记 java.lang.NoSuchMethodException: org.cjh.bean.Dept.<init>()Invalid bound statement (not found)错误解决方法动态sql if java.lang.IndexOutOfBoundsException: Index: 5, Size: 5Failed to determine a suitable driver classjava.sql.SQLExcepti…

第十二章 sys模块

1. sys模块介绍 什么是Python 解释器 当编写Python 代码时&#xff0c;通常都会得到一个包含Python 代码的以.py 为扩展名的文件。要运行编写的代码&#xff0c;就需要使用Python 解释器去执行.py 文件。因此&#xff0c;Python 解释器就是用来执行Python 代码的一种工具。常…

Windows下Nacos的配置与使用

一、什么是 Nacos 以下引用来自 nacos.io Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称&#xff0c;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用…

19使用MATLAB中的BP神经网络来做字母识别

1.简述 学习目标&#xff1a; 学习BP神经网络字母识别 字符识别应用非常广泛&#xff0c;比如车辆牌照自动识别和手写识别等。我们采用BP网络对26个英文字母进行识别&#xff0c;首先将26个字母中每一个字母都通过75的方格进行数字化处理&#xff0c;并用一个向量表示&#x…

中间件 -zookeeper

三连支持 一起鼓励 一起进步 zookeeper 文章目录 一、概述1.Leader 角色2.Follower 角色3.数据同步4. 2PC提交5. Observer 角色6. leader 选举7. 集群组成6. 惊群效应 二、Curator三、应用场景总结 一、概述 首先&#xff0c;在分布式架构中&#xff0c;任何的节点都不能以单点…

支持记录和审计上传/下载的文件内容,支持控制用户连接资产的方式,JumpServer堡垒机v3.4.0发布

2023年6月19日&#xff0c;JumpServer开源堡垒机正式发布v3.4.0版本。在这一版本中&#xff0c;JumpServer新增支持多种资源选择策略&#xff0c;包括用户登录、命令过滤、资产登录和连接方式&#xff1b;支持记录和审计上传/下载的文件内容&#xff0c;进一步提升系统的安全性…

linux(线程同步和互斥)

目录&#xff1a; 1.为什么需要同步和互斥 2.明确一些概念 3.实现一个抢票程序 4.理解加锁和解锁是原子的呢&#xff1f;&#xff1f; ------------------------------------------------------------------------------------------------------------------------- 1.为什么…

哈工大计算机网络传输层详解之:流水线机制与滑动窗口协议

哈工大计算机网络传输层详解之&#xff1a;流水线机制与滑动窗口协议 在上一节中我们逐步分析了可靠传输协议的设计过程&#xff0c;最后讲到rdt3.0的设计和实现机制。但是rdt3.0为了实现可靠性&#xff0c;牺牲了很大一部分性能&#xff0c;其中最主要的原因就在于停止等待协…

23.ELman神经网络预测数据

1.简述 学习目标&#xff1a;ELman神经网络预测数据 Elman网络介绍 神经网络是一个庞大的体系和概念&#xff0c;根据处理信息的不同方式来区分不同的network。比如根据处理信息结果的传递方向&#xff0c;分前馈型与反馈型。前馈型网络会根据输出数值来调整网络的参数&#xf…

LangChain 中文入门教程

为了便于阅读&#xff0c;已生成gitbook&#xff1a;LangChain 中文入门教程 - LangChain 的中文入门教程 github地址&#xff1a;https://github.com/liaokongVFX/LangChain-Chinese-Getting-Started-Guide 加了个 CHANGELOG,更新了新的内容我会写在这里&#xff0c;方便之前看…

2023-06-19 Untiy进阶 C#知识补充2——C#版本与Unity的关系

文章目录 一、Unity 与 C# 版本二、Unity 的 .Net API 兼容级别 一、Unity 与 C# 版本 Unity 版本C# 版本Unity 2021.2C# 9Unity 2020.3C# 8Unity 2019.4C# 7.3Unity 2017C# 6Unity 5.5C# 4 ​ 更多信息可以在 Unity 官网说明查看&#xff1a;Unity - Manual: C# compiler (u…