直接写一区! 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适应度曲线:

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

部分代码:

适用平台: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.mzph.cn/news/616504.shtml

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

相关文章

模拟开关灯

1.  实验任务 如图所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。…

JUC之Phaser的使用

Phaser是并发包juc.concurrent包下的一个关于线程同步和线程通信的一个工具类,类似于CountDownLanch 和 CyclicBarrier,不同的是 Phaser可以用来根据步骤,等待线程按步骤同时触发执行。 package com.example.test;import com.example.abstra…

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

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

2024年1月6日~2024年1月12日周报

目录 一、前言 二、SeisInvNet-2020 三、RTM研究 四、遇到的问题及解决 4.1 KeyError: data 4.2 将mat文件转换为npy文件 五、小结 5.1 存在的问题及疑惑 5.2 下周安排 一、前言 本周的主要安排是阅读论文查看一些好的点子。 但是想法总是美好的,之前答应的…

图灵机:计算机科学的奠基之作

图灵机的概念由英国数学家阿兰图灵在1936年提出,这个时期正是计算机科学的黎明时分。那个时候,人们还在使用机械计算器进行计算,而且这些计算器的功能都非常有限。 图灵提出这个概念的初衷,是为了解决所谓的“判定问题”&#xf…

机器人持续学习基准LIBERO系列4——robosuite最基本demo

0.前置 机器人持续学习基准LIBERO系列1——基本介绍与安装测试机器人持续学习基准LIBERO系列2——路径与基准基本信息机器人持续学习基准LIBERO系列3——相机画面可视化及单步移动更新 1.robosuite的相关资料 是基于MuJoCo的机器人学习方针环境,提供一套基准环境…

蓝桥杯省赛无忧 竞赛常用库函数 课件5 排序

01 sort简介 02 sort的用法 sort(起始地址&#xff0c;结束地址的下一位,比较函数);默认用小于号#include<bits/stdc.h> using namespace std; int main(){int a[1000];int n;//读取数组大小cin>>n;//读取元素for(int i1;i<n;i)cin>>a[i];//对数组进行排…

vue3+vite+ts+pinia新建项目(略详细版)

1、新建项目 npm create vite@latest 2、安装依赖 yarn add vue-router yarn add -D @types/node vite-plugin-pages sass sass-loader 3、配置别名 //vite.config.ts import { defineConfig } from vite import path from node:path export default defineConfig({ plu…

如何有效提高矢量网络分析仪的动态范围

动态范围是网络分析仪&#xff08;VNA&#xff09;接收机的最大输入功率与最小可测量功率&#xff08;本底噪声&#xff09;之间的差值&#xff0c;如图所示&#xff0c;要使测量有效&#xff0c;输入信号必须在这些边界内。 如果需要测量信号幅度非常大的变化&#xff0c;例如…

openai自定义API操作 API (openai.custom):OpenAI API 实现电商平台的智能库存管理

在电商行业中&#xff0c;库存管理是至关重要的环节之一。一个高效的库存管理系统可以确保商品的正常供应&#xff0c;避免缺货或积压现象&#xff0c;从而提高销售效率和客户满意度。然而&#xff0c;传统的库存管理方式往往存在一些问题&#xff0c;如数据不准确、响应不及时…

版本控制系统教程

1.Git的基本介绍 1.1 Git的概念 Git是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目.Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件.Git与常用的版本控制工具CVS&#xff0c;Subversion等不同&#xff…

大模型关于Lora论文集合

《Chain of LoRA:Efficient Fine-tuning of Language Models via Residual Learning》 Chain of LoRA (COLA)&#xff0c;这是一种受 Frank-Wolfe 算法启发的迭代优化框架&#xff0c;旨在弥合 LoRA 和全参数微调之间的差距&#xff0c;而不会产生额外的计算成本或内存开销。CO…

【c++】类和对象1

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

JavaScript高级程序设计读书记录(十二):函数

函数是ECMAScript中最有意思的部分之一&#xff0c;这主要是因为函数实际上是对象。每个函数都是Function 类型的实例&#xff0c;而 Function 也有属性和方法&#xff0c;跟其他引用类型一样。因为函数是对象&#xff0c;所以函数名就是 指向函数对象的指针&#xff0c;而且不…

[linux]编译一个ko文件并运行

一、需求 有一段代码需要在运行时加载注入内核中&#xff0c;当用户层需要访问时可以提供内核态环境去运行。 二、c代码构建 // #include <errno.h> // #include <string.h> // #include <stdio.h> // #include <fcntl.h> // #include <stdlib.h…

Windows安装Rust环境(详细教程)

一、 安装mingw64(C语言环境) Rust默认使用的C语言依赖Visual Studio&#xff0c;但该工具占用空间大安装也较为麻烦&#xff0c;可以选用轻便的mingw64包。 1.1 安装地址 (1) 下载地址1-GitHub&#xff1a;Releases niXman/mingw-builds-binaries GitHub (2) 下载地址2-W…

Excel地址

解题思路&#xff1a; 根据题中歪歪和笨笨的话可以有两种解法。 1.输入的数为多大&#xff0c;则循环1多少次&#xff0c;当值为27时就要进行进位操作。这时要分情况讨论。 当集合中元素为一个时&#xff0c;如26&#xff0c;则需要变为1 1&#xff0c;集合元素个数加一。 当…

2023年全球软件质量效能大会(QECon上海站):核心内容与学习收获(附大会核心PPT下载)

会议聚焦于软件质量和效能的提升。在智能时代&#xff0c;随着数字化的深入人心&#xff0c;软件正在随着云计算、移动互联网、物联网等的发展而不断进化&#xff0c;软件对企业的发展愈加重要&#xff0c;大家对软件的质量要求也在从传统功能、性能、安全这些基础层面向着用户…

(超详细)5-YOLOV5改进-添加A2Attention注意力机制

1、在yolov5/models下面新建一个A2Attention.py文件&#xff0c;在里面放入下面的代码 代码如下&#xff1a; import numpy as np import torch from torch import nn from torch.nn import init from torch.nn import functional as Fclass DoubleAttention(nn.Module):def …

87.乐理基础-记号篇-反复记号(一)反复、跳房子

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;86.乐理基础-记号篇-速度记号-CSDN博客 首先是反复记号表总结图&#xff1a; 当前是写前两个记号&#xff0c;其余记号后面写&#xff1a;这些反复记号最主要的目的很简单&#xff0c;还是为了节约纸张&#xff0c…