直接写一区! ZOA-PCNN-AT-SVM斑马优化并行卷积-支持向量机融合注意力机制的故障识别程序,特征可视化,实验多!图多!

适用平台:Matlab2023版本及以上

本原创程序提出的ZOA-PCNN-AT-SVM故障识别模型还没有人写!在此基础上进一步对参考模型进行多重改进,程序注释清晰,干货满满,下面对文章和程序做简要介绍!

①识别模型部分参考中文EI期刊《电力自动化设备》12月29号网络首发文献:《基于格拉姆角场与并行CNN的并网逆变器开关管健康诊断》;②优化模型部分参考知名SCI、EI期刊《IEEE Access》2022年10月发表的论文《Zebra Optimization Algorithm》

该算法提出时间很短,目前还没有套用这个算法的文献

识别模型原文献解读:这篇文献中,首先,采集一维故障电压与电流信号的时序序列;其次,利用格拉姆角场对其进行变换,将两种一维时序信号转化为格拉姆角场,最后,将生成的两组图像同时送入CNN进行并行学习训练,实现逆变器故障诊断。

斑马优化ZOA简介:ZOA斑马优化的基本灵感来自斑马在自然界中的行为。ZOA模拟了斑马的觅食行为及其对捕食者攻击的防御策略,对 ZOA 步骤进行描述,然后进行数学建模。ZOA 在优化方面的性能根据 68 个基准函数进行评估,包括单峰、高维多模态、固定维多模态。将ZOA获得的结果与九种知名算法GWO、TLBO、GA、MPA、PSO、QANA、TSA、WOA和GSA的性能进行了比较,仿真结果表明,ZOA能够通过在探索和开发之间建立适当的平衡来解决优化问题,并且与9种竞争算法相比具有更优越的性能。并在四个实际工程问题上对ZOA进行了测试。

模型改进:我们提出的模型在上述文献模型基础上作出多重改进,提出的ZOA-PCNN-AT-SVM故障识别模型:采用双支路结构,仅需原始故障波形数据,即可根据波形数据,将一维序列转化为二维格拉姆求和场图像。将图像同时输入PCNN-AT-SVM模型,用ZOA对模型中的超参数进行寻优,提供两条支路提取的特征图,提供原始样本和特征样本之间的分布情况,提高模型可解释性,并计算精确度、召回率、精确率、F1分数等评价指标。故障识别流程如下:https://mbd.pub/o/bread/ZZmZmp5q

七重创新点:

1、时序图像化:将一维时序信号转化为二维图像,从而更全面地描述数据的特征。这有助于提取更丰富、更有区别性的特征,从而提高分类和识别的准确性。

2、空间特征学习:CNN(卷积神经网络)在图像处理中表现出色,能够有效地学习图像的空间特征和局部模式。将CNN用于图像数据的处理可以帮助提取图像的纹理、形状和边缘等特征,有助于更准确地进行分类和故障识别。

3、双支路结构:利用两个分支CNN学习不同的图像权重值,双支路高维特征互补,使得深层空间特征得到显著增强。

4、多头自注意力机制:融合多头注意力机制有效把握提取特征的贡献程度,将特征进行重点强化,提高故障识别的准确率。

5、可解释性为提升模型的可解释性,应用t-SNE可解释性算法对各个支路模块的特征图进行可视化;对比原始样本和ZOA-PCNN-AT-SVM提取特征后的样本分布情况。

6、改进输出结构:将原始的Softmax层改进为SVM,Softmax作为概率方法,会受到异常值的影响,而SVM采用样本分布的边缘来分类一定距离内的故障样本,对异常值具有更强的鲁棒性。

7、超参数优化:斑马优化算法ZOA对模型中的难以确定的学习率、支路1卷积核大小、支路2卷积核大小等参数进行寻优,使得模型的结构更加合理,提高了故障识别精度。

适用领域:适用于各种数据分类场景,如滚动轴承故障、变压器油气故障、电力系统输电线路故障区域、绝缘子、配网、电能质量扰动,等领域的识别、诊断和分类。

以下手把手带大家分析程序的结果:

数据格式:一行一个样本,最后一列为样本所属的故障类型标签直接替换数据就可以,使用Excel表格直接导入,不需要对程序大幅修改。程序内有详细注释,便于理解程序运行。

程序结果:(由上述一维序列自动转化为格拉姆图像)

模型结构:

PCNN 双支路实现特征可视化(证明2条支路的特征不同,有互补性)

与原始样本相比,ZOA-PCNN-SVM 能够实现相同样本聚合,实现同类别故障样本的聚合(不同类间的区分,同类间的聚合)

模型训练曲线:

训练曲线:和 斑马优化ZOA适应度曲线:

部分图片来源于网络,侵权联系删除!

部分代码:

%% %%%%%%%%%%%%%%%%%%%  ZOA-PCNN-SVM算法  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%来自公众号:《创新优化及预测代码》%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
完整代码:https://mbd.pub/o/bread/ZZmZmp5q
%% 定义ZOA参数
Fun_name='objectiveFunction1';                               %% 目标函数
SearchAgents = 2;                                            %% 斑马数量(种群规模)
Max_iterations = 10;                                         %% 最大迭代次数

%% 目标函数
fitness = @objectiveFunction;    %% 获取目标函数信息
lowerbound = [0.001, 1, 2];      %% 寻优参数下限  [学习率, 支路1卷积核大小, 支路2卷积核大小];
upperbound = [0.01, 5, 6];       %% 寻优参数上限  [学习率, 支路1卷积核大小, 支路2卷积核大小];
dimension = 3;                   %% 有几个需要优化的参数就是几维

%% ZOA-PCNN-SVM优化参数优化(学习率、支路1卷积核、支路2卷积核)
[Best_score,Best_pos,ZOA_curve,bestPred,Best_PCNN_AT_SVM, Best_info]=zoa( ...
SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);  % 使用斑马优化算法计算目标函数

%% 保存优化数据     
% 使用save函数保存变量
save(fullfile(save_path, 'bestPred.mat'), 'bestPred');             %% 最佳预测结果
save(fullfile(save_path, 'Best_PCNN_SVM.mat'), 'Best_PCNN_AT_SVM');   %% 最佳网络
save(fullfile(save_path, 'Best_info.mat'), 'Best_info');           %% 最佳网络下的迭代曲线
save(fullfile(save_path, 'ZOA_curve.mat'), 'ZOA_curve');           %% 适应度曲线

%% 优化结果可视化
disp(['斑马优化后的神经网络识别误差:', num2str((1-Best_score).*100), '%']);
figure
plot(ZOA_curve,LineWidth=2,Color=[0 0 1]);
title('斑马优化ZOA-PCNN-AT-SVM适应度曲线')
xlabel('优化迭代次数');
ylabel('适应度');

% ZOA优化后-PCNN网络的结构参数信息
analyzeNetwork(Best_PCNN_AT_SVM) ;

%% 查看网络结构
figure
plot(Best_PCNN_AT_SVM)
title("斑马优化后的ZOA-PCNN-AT-SVM模型")  % SVM属于机器学习部分,故无法绘制,实际上是ZOA-PCNN-AT-SVM模型 SVM取代原模型中的softmax层

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%来自公众号:《创新优化及预测代码》%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% 过程步骤一: PCNN 双支路实现特征可视化(证明2条支路的特征不同,有互补性)

%% %%%%%%%%%%%%%%%%%%%  分别绘制双支路的特征图  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%来自公众号:《创新优化及预测代码》%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 激活支路1末端的maxpool1层
layer1 = 'maxpool1';
LayersNeed = activations(Best_PCNN_AT_SVM,imdsTest,layer1,'OutputAs','channels');% 支路1
%%  支路1所提取特征
% 前4个池化核
figure;
for i = 1:4                             % 前4个特征图 i的不能超过池化核的个数
    LayersFeature = LayersNeed(:,:,i,2);% 随机针对第2个样本的特征提取过程
    subplot(2, 2, i);                   % 创建池化层1的第i个子图
    image(LayersFeature, 'CDataMapping', 'scaled');
    colormap(hsv);
    xlim([1, size(LayersFeature, 2)]);  % 限制坐标轴
    ylim([1, size(LayersFeature, 1)]);  % 限制坐标轴
    axis off;                           % 关闭坐标轴显示
    box on;
    title(['特征图', num2str(i)]);      % 添加特征图标题
end

部分图片来源于网络,侵权联系删除! 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机导论10-软件与软件工程

文章目录 软件软件的概念软件的定义软件的特征 软件的保护与授权软件的法律保护软件许可 软件工程软件危机软件危机的概念产生软件危机的原因 软件工程的概念软件工程的定义软件工程基本原理软件工程框架软件工程三要素 软件工程方法学软件工程方法软件工程工具软件工程过程 软…

【RPC】网络通信:哪种网络IO模型最适合RPC框架?

一、背景 RPC是解决进程间通信的一种方式。一次RPC调用,本质就是服务消费者与服务提供者间的一次网络信息交换的过程。服务调用者通过网络IO发送一条请求消息,服务提供者接收并解析,处理完相关的业务逻辑之后,再发送一条响应消息…

AttributeError: module ‘openai‘ has no attribute ‘error‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Flink实战之运行架构

本文章:重点是分析清楚运行架构以及并行度与slot的分配 1、JobManager和TaskManager Flink中的节点可以分为JobManager和TaskManager。 JobManager处理器也称为Master,用于协调分布式任务执行。他们用来调度task进行具体的任务。TaskManager处理器也称…

海思SD3403,SS928/926,hi3519dv500,hi3516dv500移植yolov7,yolov8(9)

上一节yolov8的训练已经完成了,现在要开始做模型的转换了,这里和yolov7方式相似,但是有一些差异,尤其是yolov7的不带NMS部分的输出顺序和yolov8的输出顺序与格式是有差异的。 首先还是要自己手动加入rpn_op,这里包含了filter,sort,nms部分。 我们一个一个看,首先filter.py…

从零开始的源码搭建:详解连锁餐饮行业中的点餐小程序开发

时下,点餐小程序成为了许多餐饮企业引入的一种创新工具,不仅方便了顾客的用餐体验,同时也提高了餐厅的运营效率。本文将详细探讨如何从零开始搭建一个源码,并深入解析连锁餐饮行业中的点餐小程序开发过程。 一、需求分析与规划 在…

运维工具之tmux命令

tmux终端复用器的使用 1.tmux的概念 ​ tmux,“Terminal MultipleXer”,意思是"终端复用器"。是一个可以让人们通过一个窗口操作多个会话的工具,对于经常操作Linux系统的运维人员来说,绝对是一款提高工作效率的利器。 2.tmux能帮…

计算机网络 应用层

文章目录 应用层域名系统 DNS域名系统概述互联网的域名结构域名服务器 文件传送协议FTP 概述FTP 的基本工作原理简单文件传送协议 TFTP 远程终端协议 TELNET万维网 WWW统一资源定位符 URL超文本传送协议 HTTP万维网的信息检索系统 电子邮件电子邮件概述简单邮件传送协议 SMTP邮…

微服务基础设施怎么建设,如何选择微服务框架

微服务基础设施架构全貌 微服务 vs SOA 微服务基础设施优先级 微服务框架核心 模式1-嵌入式SDK式 【优点】 1. 架构简单,天然支持高性能、高可用; 2. 维护简单,无需维护独立的 Proxy 节点。 【缺点】 1. 应用侵入,需要集成 SD…

Leetcode2645. 构造有效字符串的最少插入数

Every day a Leetcode 题目来源:2645. 构造有效字符串的最少插入数 解法1:枚举 数学 word 仅由字母 “a”、“b” 和 “c” 组成。 因此我们只需要每次统计相邻字符之间的编号差再减去 1(并进行一定修正),就可以得…

CAN 节点状态转换

CAN节点 按照错误严重程度可分为三种不同的状态 主动错误状态(Error Active) 被动错误状态(Error Passive) 总线关闭状态(Bus Off) 存在两种错误计数器 发送错误计数值 TEC : Transmit Error Counter …

Js-web APIs(一)

目录 Web API 基本认知 • 作用和分类 • 什么是DOM • DOM树 • DOM对象(重要) 获取DOM对象 • 根据CSS选择器来获取DOM元素 (重点) 1.选择匹配的第一个元素 2.选择匹配的多个元素 • 其他获取DOM元素方法(了解) 操作元素内容 • 对象.innerT…

WPF应用程序生存期以及相关事件

WPF 应用程序的生存期会通过 Application 引发的几个事件来加以标记,相关事件对应着应用程序何时启动、激活、停用和关闭。 应用程序生存期事件 • 独立应用程序(传统风格的 Windows 应用程序,这些应用程序作为要安装到客户端计算机并从客户端计算机运…

数据结构与算法教程,数据结构C语言版教程!(第四部分、字符串,数据结构中的串存储结构)三

第四部分、字符串,数据结构中的串存储结构 串存储结构,也就是存储字符串的数据结构。 很明显,字符串之间的逻辑关系也是“一对一”,用线性表的思维不难想出,串存储结构也有顺序存储和链式存储。 提到字符串&#xff…

力扣刷MySQL-第二弹(详细解析)

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:力扣刷题讲解-MySQL 🍹文章作者技术和水平很有限,如果文中出…

IP定位技术在网络安全行业的探索

随着互联网的普及和深入生活,网络安全问题日益受到人们的关注。作为网络安全领域的重要技术,IP定位技术正逐渐成为行业研究的热点。本文将深入探讨IP定位技术在网络安全行业的应用和探索。 一、IP定位技术的概述 IP定位技术是通过IP地址来确定设备地理位…

FRE123|开源! 普通人如何快速免费搭建个性化导航网站

FRE123 - Free Resource for Everyone:老胡信息周刊的衍生项目,核心目的是用技术打破信息差,为每个人提供免费优质资源。 老胡的信息周刊在第三个年头,希望这个系列也能持续更新下去: 01.FRE123|老胡周刊免费资源之启动…

什么是防火墙?

目录 什么是防火墙,为什么需要防火墙?防火墙与交换机、路由器对比防火墙和路由器实现安全控制的区别防火墙的发展史1989年至1994年1995年至2004年2005年至今 什么是防火墙,为什么需要防火墙? “防火墙”一词起源于建筑领域&#x…

backtrader策略库:强化学习一: 梯度提升( Gradient Ascent)

本文来自博客文章,文末含源码链接。 In the next few posts, I will be going over a strategy that uses Machine Learning to determine what trades to execute. Before we start going over the strategy, we will go over one of the algorithms it uses: Gra…

软件研发过程中,项目管理工具应该如何选择?

本文作者:极狐GitLab 资深解决方案架构师 尹学峰 许多企业依旧在用老旧的方式,如Excel离线表格进行项目管理。表格无法简介的呈现出项目的任务分解、完成进度、任务类别等多种项目管理过程中必备的要求,更无法实现与企业员工的日常即时通信系…
最新文章