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

news2024/10/3 0:28:03

适用平台: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.coloradmin.cn/o/1377935.html

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

相关文章

【竞技宝】DOTA2:梦幻联赛开战在即 中国区前两名将晋级正赛

北京时间2024年1月12日,近期DOTA2刚刚结束了别墅杯东南亚/中国区的封闭预选赛,而别墅杯的正赛还要等到下个月才会正式开打,而即将在明天开始进行的是梦幻联赛S22的中国区预选赛,除官方直邀的XG战队直接晋级正赛之外,其…

C++力扣题目106,105--中序和后序,前序和中序遍历构造二叉树

106.从中序与后序遍历序列构造二叉树 力扣题目链接(opens new window) 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder [9,3,15,20,7]后序遍历 postorder [9,15,7,20,3] 返回如下的二叉树&am…

功能强大:JMeter 常用插件全解析

JMeter 作为一个开源的接口性能测试工具,其本身的小巧和灵活性给了测试人员很大的帮助,但其本身作为一个开源工具,相比于一些商业工具(比如 LoadRunner),在功能的全面性上就稍显不足。这篇博客,…

ubuntu20.04网络问题以及解决方案

1.网络图标消失,wired消失,ens33消失 参考:https://blog.51cto.com/u_204222/2465609 https://blog.csdn.net/qq_42265170/article/details/123640669 原始是在虚拟机中切换网络连接方式(桥接和NAT), 解决…

MySQL表结构转换为ES索引Mapping

背景 日常开发过程中肯定会存在MySQL表数据迁移至ES的情况,以canal为例,数据迁移时需要提前在ES中创建索引Mapping,但是如果碰到字段特别的表时,创建Mapping将是一件耗费心神的事情。为了解决这些重复工作,我使用Pyth…

mp-html 微信原生小程序渲染富文本

引入组件 "usingComponents": {"mp-html": "/components/mp-html/index"}使用 <mp-html content"{{info.course_info.info}}" />获取组件 介绍 mp-html&#xff0c;小程序富文本解析利器 全面支持html标签 小程序大多数都是…

Docker 方式安装 HertzBeat

一、安装docker docker安装参考https://www.runoob.com/docker/docker-tutorial.html curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh二、拉取docker镜像 https://hertzbeat.com/zh-cn/docs/start/docker-deploy部署HertzBeat您可能需要掌握的几条…

【c++】类和对象1

1.面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 C是基于面向对象的&#xff0c;关注的是对象&#xff0c;将一件事情拆分成不同的对象&#xff0c;靠对象之间的交互完 成 …

第二节课 书生·浦语大模型趣味 Demo笔记及作业

文章目录 笔记作业基础作业&#xff1a;进阶作业&#xff1a; 笔记 书生浦语大模型InternLM-Chat-7B 智能对话 Demo&#xff1a;https://blog.csdn.net/m0_49289284/article/details/135412067书生浦语大模型Lagent 智能体工具调用 Demo&#xff1a;https://blog.csdn.net/m0_…

线性方程组计算

一、题型 1&#xff09;给一个线性方程组&#xff0c;问&#xff1a;唯一解&#xff1f;无解&#xff1f;无穷多解&#xff1f; 2&#xff09;在上面的基础上&#xff0c;给一个未知数λ&#xff0c;问&#xff1a;当λ为几时&#xff0c;方程组唯一解&#xff1f;无解&#…

短视频账号矩阵剪辑分发系统无人直播技术开发源头

一、全行业独家源头最全面的核心技术 短视频矩阵新玩法是指利用批量自动混剪系统来处理大量短视频&#xff0c;通过智能算法自动进行视频剪辑、场景切换、特效添加等操作&#xff0c;最终生成高质量、精彩纷呈的混剪视频作品的方法和技术。这一方法的出现使得大规模短视频制作…

结构体成员 分数比较大小

题目&#xff1a; 代码&#xff1a; #include <bits/stdc.h> #include<cstring>using namespace std;struct Num{double fenzi;double fenmu;char fenhao;};bool cmp(Num r1,Num r2){return r1.fenzi/r1.fenmu<r2.fenzi/r2.fenmu;}int main(){int n;Num num[n…

jmeter--3.使用提取器进行接口关联

目录 1. 正则表达式提取器 1.1 提取单个数据 1.2 名词解释 1.3 提取多个数据 2. 边界值提取器 2.2 名词解释 3. JSON提取器 3.1 Json语法 3.2 名词解释 3.3 如果有多组数据&#xff0c;同正则方式引用数据 1. 正则表达式提取器 示例数据&#xff1a;{"access_to…

2023年毕马威中国金融科技双50榜单揭晓 百望云实力入选

近日&#xff0c;“2023年毕马威中国金融科技企业双50榜单发布暨颁奖典礼”&#xff08;简称“KPMG Fintech 50”&#xff09;在成都举行。此次活动是在“交子千年”系列活动之成都金融科技产业发展大会暨交子金融文化月启动仪式上进行&#xff0c;由中国人民银行四川省分行、成…

【AI视野·今日Robot 机器人论文速览 第七十二期】Mon, 8 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Mon, 8 Jan 2024 Totally 13 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers Deep Reinforcement Learning for Local Path Following of an Autonomous Formula SAE Vehicle Authors Harvey Merton, Thoma…

想做鸿蒙开发应该学会哪些知识?

鸿蒙开发学习是一项探索性的工作&#xff0c;旨在开发一个全场景分布式操作系统&#xff0c;覆盖所有设备&#xff0c;让消费者能够更方便、更直观地使用各种设备。 鸿蒙系统定位为面向未来、面向全场景&#xff08;移动办公、运动健康、社交通信、媒体娱乐等&#xff09;的分…

服务器管理平台开发(2)- 设计数据库表

数据库表设计 本篇文章主要对数据管理平台数据库表设计进行介绍&#xff0c;包括单库多表设计、SQL语句、视图构造等 1、整体设计 设备品牌、序列号、型号等使用业务主表进行记录&#xff0c;逻辑磁盘、PCI设备可能出现1对N的情况&#xff0c;分别使用PCI设备表、Mac地址表、逻…

航空公司文件如何开展数字化?

航空公司员工每天要处理大量的文书工作&#xff0c;这可能是繁重且耗时的。复杂文档的手动管理也可能导致错误和合规性问题。然而&#xff0c;通过实施强大的文档管理系统&#xff0c;航空公司可以简化日常运营、降低成本并改善协作。在本文中&#xff0c;我们将探讨手动文档管…

如何使用CentOS系统中的Apache服务器提供静态HTTP服务

在CentOS系统中&#xff0c;Apache服务器是一个常用的Web服务器软件&#xff0c;它可以高效地提供静态HTTP服务。以下是在CentOS中使用Apache提供静态HTTP服务的步骤&#xff1a; 1. 安装Apache服务器 首先&#xff0c;您需要确保已安装Apache服务器。可以使用以下命令安装Ap…

使用图形化界面工具DataGrip

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出现错误&am…