基于概率神经网络的变压器故障诊断

1.案例背景

1.1 PNN概述

        概率神经网络(probabilistic neural networks. PNN)是 D.F.Specht博士在1989年首先提出的,是一种基于Bayes分类规则与Parzen窗的概率密度函数估计方法发展而来的并行算法。它是一类结构简单、训练简洁,应用广泛的人工神经网络。在实际应用中,尤其是在解决分类问题的应用中,PNN 的优势在于用线性学习算法来完成非线性学习算法所做的工作,同时保持非线性算法的高精度等特性;这种网络对应的权值就是模式样本的分布,网络不需要训练,因而能够满足训练上实时处理的要求。
        PNN 网络是由径向基函数网络发展而来的一种前馈型神经网络,其理论依据是贝叶斯最小风险准则(即贝叶斯决策理论),PNN作为径向基网络的一种,适合于模式分类。当分布密度 SPREAD的值接近于0时,它构成最邻分类器;当SPREAD的值较大时,它构成对几个训练样本的临近分类器。PNN的层次模型,由输入层、模式层、求和层、输出层共4层组成,其基本结构如图24-1所示。

        输入层接收来自训练样本的值,将特征向量传递给网络,其神经元数目和样本矢量的维数相等。模式层计算输入特征向量与训练集中各个模式的匹配关系,模式层神经元的个数等于各个类别训练样本数之和,该层每个模式单元的输出为

        第3层是求和层,是将属于某类的概率累计,按式(24-1)计算,从而得到故障模式的估计概率密度函数。每一类只有一个求和层单元,求和层单元与只属于自己类的模式层单元相连接,而与模式层中的其他单元没有连接。因此求和层单元简单地将属于自己类的模式层单元的输出相加,而与属于其他类别的模式层单元的输出无关。求和层单元的输出与各类基于内核的概率密度的估计成比例,通过输出层的归一化处理,就能得到各类的概率估计。网络的输出决策层由简单的阈值辨别器组成,其作用是在各个故障模式的估计概率密度中选择一个具有最大后验概率密度的神经元作为整个系统的输出。输出层神经元是一种竞争神经元,每个神经元分别对应于一个数据类型即故障模式,输出层神经元个数等于训练样本数据的种类个数,它接收从求和层输出的各类概率密度函数,概率密度函数最大的那个神经元输出为1,即所对应的那一类为待识别的样本模式类别,其他神经元的输出全为0。

1.2变压器故障诊断系统相关背景

        故障诊断(Fault Diagnosis,FD)始于机械设备故障诊断。现代设备技术水平和复杂度不断提高,设备故障对生产的影响也显著增加,因此要保证设备可靠、,有效地运行,充分发挥其效益,必须发展故障诊断技术。故障诊断技术借助于现代测试、监控和计算机分析等手段,研究设备在运行中或相对静止条件下的状态信息,分析设备的技术状态,诊断其故障的性质和起因,并预测故障趋势,进而确定必要的对策。利用故障诊断技术可以早发现故障征兆和原因,有利于及早排除故障和安全隐患﹐避免不必要的损失,因而具有很高的经济和社会效益。
        运行中的变压器发生不同程度的故障时,会产生异常现象或信息。故障分析就是搜集变压器的异常现象或信息,根据这些现象或信息进行分析,从而判断故障的类型、严重程度和故障部位。因此,变压器故障诊断的目的首先是准确判断运行设备当前处于正常状态还是异常状态。若变压器处于异常状态有故障,则判断故障的性质,类型和原因。如是绝缘故障、过热故障还是机械故障:若是绝缘故障,则是绝缘老化、受潮,还是放电性故障;若是放电性故障又是哪种类型的放电等。变压器故障诊断还要根据故障信息或根据信息处理结果预测故障的可能发展即对故障的严重程度、发展趋势做出诊断;提出控制故障的措施,防止和消除故障;提出设备维修的合理方法和相应的反事故措施;对设备的设计,制造、装配等提出改进意见,为设备现代化管理提供科学依据和建议。
        对变压器油中溶解气体进行分析是变压器内部故障诊断的重要手段。我国当前大量应用的是改良三比值法,但利用三比值法作为变压器故障诊断的判据存在两方面的不足,即所谓编码缺损和临界值判据缺损。人工神经网络以其分布式并行处理、自适应、自学习,联想记忆以及非线性映射等优点,为解决这一问题开辟了新途径。当前变压器故障诊断系统大多数都是采用BP网络模型,但由于BP网络自身结构的特点,在训练样本较大且要求精度较高时,网络常常不收敛且容易陷入局部最优。

2.模型建立

        任何神经网络建模中,选取的输人特征向量,必须能够正确地反映问题的特征。如果所基于的故障特征没有包括足够的待识别信息或未能提取反映故障特征的信息,则诊断结果往往会受到很大的影响。油中溶解气体分析的方法能很好地反映变压器的潜伏性故障,且在各种诊断方法中以改良三比值法的判断准确率最高,所以选择油中溶解气体含量的三对比值作为神经网络的输入特征向量,而输出特征向量则选用变压器的故障类型。

        在此思路的基础上,经过以下几个步骤设计PNN 网络模型,流程图如图24-2所示。


        概率神经网络结构简单、训练简洁,利用概率神经网络模型的强大的非线性分类能力,将故障样本空间映射到故障模式空间中,可形成一个具有较强容错能力和结构自适应能力的诊断网络系统,从而提高故障诊断的准确率。本案例在对油中溶解气体分析法进行深入分析后,以改良三比值法为基础,建立基于概率神经网络的故障诊断模型。案例数据中的data. mat是33×4维的矩阵,前3列为改良三比值法数值,第4列为分类的输出,也就是故障的类别。使用前23个样本作为 PNN训练样本,后10个样本作为验证样本。

3.MATLAB代码


%% 清空环境变量
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])

 运行结果:

        由图可见,在训练后,将训练数据作为输入代人已经训练好的PNN 网络中,只有两个样本判断错误,并且用预测样本进行验证时候,也只有两个样本即两种变压器的故障类型判断错误。最后得到的PNN 网络可以用来进行更多样本的预测。

4案例扩展

4.1与BP网络相比,PNN的优势。

        ①PNN过程简单,收敛速度快。BP网络的输人输出和 PNN相同,但其隐藏层单元的选取没有确定性法则,需要根据经验反复试算得到。而PNN需调节的参数少,不需确定隐藏层数、隐藏层中的神经元个数等网络结构,比较容易使用。BP网络的学习算法收敛速度慢,而且易陷入局部最优值。PNN 的训练过程一步到位,训练样本可直接赋值给网络,其训练时间仅仅略大于数据读取的时间,且不存在局部最优值。
        ②PNN总收敛于 Bayes 优化解,稳定性高。

        BP网络的分类规则是没有确定解释的,缺乏透明度。PNN是基于贝叶斯最小风险准则对对象进行分类的,可以最大限度地利用故障先验知识,无论分类问题多么复杂,只要有足够多的训练样本,概率神经网络能够保证获得贝叶斯准则下的最优解,而BP神经网络却可能在一个局部最优值处中断,无法保证得到一个全局最优值。
        ③样本的追加能力强,且可以容忍个别错误的样本。

        如果在故障诊断过程中有新的训练样本加入或需要除去某些旧的训练样本,PNN 只需增加或减少相应的模式层单元,新增加的输入层至模式层的连接权值只需将新样本直接赋值。而对于BP网络,修改训练样本后则需要重新进行训练,网络的连接权值全部需要重新赋值,相当于重新建立整个网络。
        在实际应用中,需要建立变压器故障样本库,其内容会随着变压器故障的增加、变化而产生变化,此时 PNN样本追加能力强的优越性就可得到充分的体现。综上所述,PNN变压器故障诊断系统在诊断速度、追加样本的能力以及在实际应用中的诊断准确率等几个方面的性能都要优于BP变压器故障诊断系统。

4.2 SPREAD 的作用

        如果SPREAD值接近于0,则创建的概率神经网络可以作为一个最近邻域分类器。随着SPREAD的增大,需要更多地考虑该网络附近的设计向量。具体请参见7.4.2中关于SPREAD的讨论。

4.3 其他需要注意的问题

        PNN模型故障特征的选择要使得故障特征样本包含最大故障信息量,因此要深人分析故障产生机理及故障信息传递关系,选择最能反映故障的特征量,对一些无关或关系较小的故障特征量应不予考虑,以保证生成的 PNN规模最小。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯鸿蒙!华为HarmonyOS NEXT不再兼容安卓应用,无法安装Apk文件

8月7日消息,近日,华为举行2023年华为开发者大会(HDC.Together)上,除了发布HarmonyOS 4、全新升级的鸿蒙开发套件外,华为还带来了HarmonyOS NEXT开发者预览版。 据了解,HarmonyOS NEXT开发者预览…

豪越HYDO智能运维助力智慧医院信息化建设

随着国家政策的推动与支持,医疗行业信息化应用不断普及,大数据、AI、医疗物联网等技术的应用,快速推动了电子病历、智慧服务、智慧管理的智慧医院建设和医院信息标准化建设,通过不断探索创新“智慧医院”服务模式,实现…

FLatten Transformer 简化版Transformer

今天在找论文时,看到一篇比较新奇的论文,在这里跟大家分享一下,希望可以给一些人提供一些思路。虽然现在Transformer 比较火,在分割上面也应用的比较多,但是我一直不喜欢用,其中一个原因是结构太复杂了&…

Linux平台下搭建GB28181服务器(WVP+ZLMediakit)

文章目录 什么是GB28181平台依赖项搭建步骤配置Redis和MySQL配置ZLMediakit配置WVP 使用效果封装成Docker镜像 什么是GB28181 GB28181(国标28181),全称为《中华人民共和国公共安全视频监控联网系统技术要求》,是中国国家标准委员会发布的一个针对公共安…

LeetCode面向运气之Javascript—第121题-买卖股票的最佳时机-97.77%

LeetCode第121题-买卖股票的最佳时机 题目要求 给定一个数组prices ,它的第i个元素prices[i]表示一支给定股票第i天的价格。 你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回…

面试题:ArrayList扩容时扩容多少?

大家好,我是你们的小米!今天要和大家一起来探讨一个在Java面试中经常被问到的问题:“ArrayList扩容时扩容多少?”相信很多小伙伴都在面试中遇到过这个问题,那么接下来,我就为大家详细解析一下这个问题&…

OpenCV实例(八)车牌字符识别技术(三)汉字识别

车牌字符识别技术(三)汉字识别 1.代码实例2.遇到问题3.汉字识别代码实例 相较于数字和英文字符的识别,汽车牌照中的汉字字符识别的难度更大,主要原因有以下4个方面: (1)字符笔画因切分误差导致非笔画或笔画流失。 (2…

【C++】开源:CGAL计算几何库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍CGAL计算几何库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,…

MachineLearningWu_16/P72-P77_Diagnostic

x.1 导数,计算图,大型网络 计算图就是根据链式法则求取偏导,大型网络就是多层网络堆叠而成。 x.2 Diagnostic 在我们对深度学习有了一些认知后,最重要的就是模型的诊断,以带有L1正则化的线性回归为例,我…

Vue中使用Tailwind css

1.什么是Tailwind 就是一个CSS框架,和你知道的bootstrap,element ui,Antd,bulma。一样。将一些css样式封装好,用来加速我们开发的一个工具。 Tailwind解释 tailwind css 中文文档 2.Vue使用Tailwind配置 1. 新建vu…

探索FSM (有限状态机)应用

有限状态机(FSM) 是计算机科学中的一种数学模型,可用于表示和控制系统的行为。它由一组状态以及定义在这些状态上的转换函数组成。FSM 被广泛用于计算机程序中的状态机制。 有限状态机(FSM)应用场景 在各种自动化系统…

【iOS】RunLoop

前言-什么是RunLoop? 什么是RunLoop? 跑圈?字面上理解确实是这样的。 Apple官方文档这样解释RunLoop RunLoop是与线程息息相关的基本结构的一部分。RunLoop是一个调度任务和处理任务的事件循环。RunLoop的目的是为了在有工作的时候让线程忙起来&#…

SpringBoot案例-部门管理-新增

根据页面原型,明确需求 页面原型 需求 阅读接口文档 接口文档链接如下: 【腾讯文档】SpringBoot案例所需文档 https://docs.qq.com/doc/DUkRiTWVaUmFVck9N 思路分析 前端在输入要新增的部门名称后,会以JSON格式将数据传入至后端&#xf…

php使用get和post传递数据出现414 Request-URI Too Large的解决方案

递数据出现414 Request-URI Too Large的解决方案 一、Request-URI Too Large的原因二、GET与POST三、项目分析1.读取源数据2.将读取的到数据,进行传递3.ajax获取传递的数据并传递到后台4.传递数据5.解决方案 一、Request-URI Too Large的原因 “Request-URI Too La…

HTTP和HTTPS

目录 HTTP和HTTPS的基本概念(应用层协议) HTTP的版本 HTTP状态码 HTTP请求报文 GET和POST请求 GET和POST请求的区别 条件GET方法 HTTP与HTTPS有什么区别? HTTP的工作原理 HTTP的长链接 http1.1长链接判断一个请求已经结束了 HTTP管线化 HTT…

分布式学习最佳实践:从分布式系统的特征开始

正文   在延伸feature(分布式系统需要考虑的特性)的时候,我逐渐明白,这是因为要满足这些feature,才设计了很多协议与算法,也提出了一些理论。比如说,这是因为要解决去中心化副本的一致性问题&…

iOS 使用build setting中的配置项配置info.plist

如图所示,选中build setting,由于我们这里是想要获取版本号, 所以这里获取current project version 选中info,将bundle version 设置为$(CURRENT_PROJECT_VERSION),注意,要使用下划线链接&…

案例10 Maven入门案例

基于Maven构建快速构建项目,输出“Hello World!”。 1.选择Maven快速构建项目 ​2.设置Maven项目信息 ​3.设置Maven环境信息 ​4.项目结构 ​ 5.Maven操作 ​6.执行结果

GDB 函数调用栈管理

栈的调用关系:后进先出 1、bt:backtrace 查看栈回溯信息 #0号栈桢表示正在执行的函数,在栈的最顶部。 2、frame n 切换栈桢 3、info f n 查看栈桢信息 4、直接调用函数 格式 p 函数名(参数) 或者 call 函数名(参数)(gdb) p get_time_stam…

使用webpack插件webpack-dev-server 出现Cannot GET/的解决办法

问题描述 文档地址深入浅出webpack 使用 DevServer运行webpack,跑起来之后提示Cannot GET/: 解决方案: 查阅官方文档 根据目录结构修改对应的配置: 然后就可以成功访问: