EEMD-MPE-KPCA-BiLSTM、EEMD-MPE-BiLSTM、EEMD-PE-BiLSTM故障识别、诊断(Matlab)

news2024/9/20 5:57:15

EEMD-MPE-KPCA-BiLSTM(集合经验分解-多尺度排列熵-核主元分析-双向长短期网络)故障识别、诊断(Matlab)

目录

    • EEMD-MPE-KPCA-BiLSTM(集合经验分解-多尺度排列熵-核主元分析-双向长短期网络)故障识别、诊断(Matlab)
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

在这里插入图片描述

基本介绍

EEMD-MPE-KPCA-BiLSTM(集合经验模态分解-多尺度排列熵-核主元分析-双向长短期记忆网络)用于故障识别、诊断(Matlab完整源码和数据)运行环境matlab2023b
1.所用数据集为西安交通大学轴承故障数据集4个故障类别分别为
35HZCage(122条样本)35HZOuter race(123条样本)37.5HZOuter race(161条样本)40HZOuter race(114条样本)
选取每个故障的水平信号并截取前2000个信号点,即共520条样本每条样本长度为2000
2.程序流程
(1)对520条样本分别采用EEMD进行分解通过判定所有分解信号样本熵值,并重构为高中低3个频段信号
(2)对高中低信号分解进行多尺度排列熵计算并合成,最后得到每条样本的特征向量
(3)对每条样本特征向量进行kpca降维
(3)将数据导入至BILSTM进行分类/故障识别
3.对照组
eemd-pe-bilstm、eemd-mpe-bilstm
精度对比有分类散点图、混淆矩阵、精确率、召回率、调和平均数

程序设计

  • 完整程序和数据资源处下载EEMD-MPE-KPCA-BiLSTM(集合经验分解-多尺度排列熵-核主元分析-双向长短期网络)故障识别、诊断(Matlab)


%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%% EEMD-PE-bilstm
load ('eemddata','X1','X2')
load('kpcadata','Y')

data = X1;%%生成pe数据集
%输入输出数据
input=data(:,1:end-1);    %data的第一列-倒数第二列为特征指标
output=data(:,end);  %data的最后面一列为标签类型

N=length(output);   %全部样本数目
testNum=0.2*N;   %设定测试样本数目
trainNum=N-testNum;    %计算训练样本数目

%训练集、测试集
P_train = input(1:trainNum,:)';
T_train =output(1:trainNum)';
P_test =input(trainNum+1:trainNum+testNum,:)';
T_test =output(trainNum+1:trainNum+testNum)';
num_class = length(unique(data(:, end)));  % 类别数(Excel最后一列放类别) 


t_train =  categorical(T_train)';
t_test  =  categorical(T_test )';

% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input );
%  格式转换
for i = 1 : trainNum
    pp_train{i, 1} = p_train(:, i);
end

for i = 1 : testNum
    pp_test{i, 1} = p_test(:, i);
end

%  创建网络
numFeatures = size(P_train, 1);               % 特征维度
numResponses = num_class;

layers = [ ...
  sequenceInputLayer(numFeatures)                  % 输入层
  bilstmLayer(150, 'OutputMode', 'last')         %  bilstm层%%调整神经元个数
  reluLayer                                    % Relu 激活层
  fullyConnectedLayer(numResponses)               % 全连接层数等于分类数
  softmaxLayer                                 % 损失函数层
  classificationLayer];                        % 分类层

% 参数设置
checkpointPath = pwd;
options = trainingOptions('adam', ...                 % 优化算法Adam
    'MaxEpochs', 200, ...                             % 最大训练次数
    'GradientThreshold', 1, ...                       % 梯度阈值
    'InitialLearnRate', 0.03, ...                    % 初始学习率
    'LearnRateSchedule', 'piecewise', ...             % 学习率调整
    'LearnRateDropPeriod', 200, ...                   % 训练700次后开始调整学习率
    'LearnRateDropFactor',0.2, ...                    % 学习率调整因子
    'ExecutionEnvironment', 'cpu',...                 % 训练环境
    'Verbose', 0, ...                                 % 关闭优化过程
    'Plots', 'training-progress');                    % 画出曲线

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128163536?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128151206?spm=1001.2014.3001.5502

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

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

相关文章

RK3588人工智能开发----【1】初识NPU

NPU 的诞生! 随着人工智能和大数据时代的到来,传统嵌入式处理器中的CPU和GPU逐渐无法满足日益增长的深度学习需求。为了应对这一挑战,在一些高端处理器中,NPU(神经网络处理单元)也被集成到了处理器里。NPU的…

【GNSS射频前端】MA2769初识

MAX2769 芯片概述: MAX2769是一款单芯片多系统GNSS接收器,采用Maxim的低功耗SiGe BiCMOS工艺技术。集成了包括双输入低噪声放大器(LNA)、混频器、图像拒绝滤波器、可编程增益放大器(PGA)、压控振荡器&#…

note38:tdsql数据库迁移

数据迁移过程中遇到的具体问题: ①提供给系统团队的表结构与生产不一致,导致脚本报错。因为历史遗留问题,存在部分直接在生产环境更改字段长度或添加索引的情况,导致测试环境和生产环境的表结构不同步。 今后所有生产的变动&…

Vulkan 学习(5)---- Vulkan 内存分配

目录 Overview枚举内存信息分配内存内存映射 Overview Vulkan 将内存管理的工作交给了开发者自己负责,如何分配内存,如何指定内存策略都是由开发者自己决定的,当然处理问题也是由开发者自己负责的 Vulkan 将内存划分为两大类:主…

Android自定义简单仿QQ运动步数进展圆环

实现效果主要效果分为三个部分: 1.固定蓝色的大圆弧 color borderWidth 2.可以变化的小圆弧(红色) color borderWidth 3.中间的步数文字 color textSize drawArc方法 startAngle 确定角度的起始位置 sweepAngle 确定扫过的角度 useCenter 是否使用中心&#xff1a…

MyBatis XML配置文件(下)

MyBatis的开发有两种方式:1、注解 2、XML。使用MyBatis的注解方式,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在XML配置文件中。 MyBatis XML开发的方式需要以…

UE5学习笔记17-让人物的视线和鼠标移动时的方向一致,并且不让人物模型旋转,只改变视线方向

一、创建标准动画帧 1.我想让人物在装备武器后根据鼠标的移动方向改变人物的视线方向,并且人物模型不会改变朝向 2.我的动画中存在一个四个方向瞄准的动画,将左下,坐上,左转,右上,右下,右转&…

C++ 设计模式——组合模式

C 设计模式——组合模式 C 设计模式——组合模式1. 主要组成成分2. 逐步构建透明组合模式1. 定义抽象组件(Component)2. 实现叶子组件(Leaf)3. 实现组合组件(Composite)4. 主函数(Main&#xff…

Nacos踩坑

最近遇到项目部署,遇到Nacos中的配置读取不到,导致服务起不来。服务器银河麒麟x86,Nacos版本2.3.2, openJdk8u43 报错如下: java.lang.UnsatisfiedLinkError: no com_alibaba_nacos_shaded_io_grpc_netty_shaded_netty_transport…

Linux磁盘操作之du命令

使用du命令,您可以查看指定目录或文件的磁盘使用量总计。这对于了解特定目录或文件占用的磁盘空间大小非常有用,可以帮助您进行磁盘空间管理和清理。 参数说明 du是一个用于显示目录或文件的磁盘使用情况的命令,du是disk usage的缩写&#…

从图像到视频:Web Codecs API编码技术解析

初探Web Codecs API 三 前言 在之前的文章中,咱们简单的介绍了解码相关的东西,这一节咱们来简单聊聊编码相关的东西。 编码的目的就是为了压缩,去除空间、时间维度的冗余。 这里又不得不提起前面所说的I 帧、P 帧、B 帧和 IDR 帧。 众所周知,视频是连续的图像序列,由…

【添加核心机械臂动力学】Model and Control a Manipulator Arm with Robotics and Simscape

机械臂动力学 为了设计控制器,机械臂动力学必须表示给定力矩输入的关节位置。这在机械臂动力学子系统中通过一个前向动力学块实现,该块将关节力矩转换为给定当前状态的关节加速度,然后通过两次积分得到完整的关节配置。积分器初始化为q0和dq…

自闭症托管托养机构:星贝育园的优势与使命

在当今社会,自闭症儿童作为一群需要特别关注和照顾的群体,其教育与康复问题日益受到社会各界的重视。自闭症托管托养机构作为这一领域的重要力量,承担着为自闭症儿童提供全方位、个性化支持的重任。星贝育园,作为一所全日寄宿制的…

使用libsvm时遇到MATLAB has encountered an internal problem and needs to close

最近在MATLAB中使用libsvm跑别人的程序,该程序在大部分数据集上可以正常运行,但在有一个数据集上运行时MATLAB会报“MATLAB has encountered an internal problem and needs to close”的错误: 凭直觉猜应该是数据集有啥问题,但又…

AI人的列表!《中国人工智能学会推荐国际学术会议和国际/国内期刊目录》正式发布

在全球科技迅猛发展的今天,人工智能(AI)已成为推动社会进步的关键力量。为了更好地指导AI领域的科研方向,加强学术交流,促进学术成果的创新与应用,中国人工智能学会(CAAI)在2024年8月…

数据分析案例-2024年裁员数据集可视化分析

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

XFTP软件的使用 ---- 远程上传、下载文件

本文假设你的电脑里面已经有XFTP软件。 一、简介 是一个基于 windows 平台的功能强大的SFTP、FTP文件传输软件。通过Xftp软件,windows 用户能安全地在UNIX/Linux 和 Windows PC 之间传输文件。 二、 使用方法【步骤】 打开软件,得到如下图界面。 首先我…

STL--unordered_set和unordered_map的模拟实现

1.unordered系列关联式容器 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好的查询是,进行很…

如何使用ssm实现基于java斗车交易系统设计与实现+vue

TOC ssm082基于java斗车交易系统设计与实现vue 系统概述 1.1 概述 随着社会的快速发展,计算机的影响是全面且深入的。人们的生活水平不断提高,日常生活中人们对斗车交易方面的要求也在不断提高,需要咨询的人数更是不断增加,使得…

OpenCV 图像处理基础算法介绍c++

VS2022配置OpenCV环境 关于OpenCV在VS2022上配置的教程可以参考:VS2022 配置OpenCV开发环境详细教程 图像处理 图像处理是一个广泛的领域,它涉及到对图像数据进行分析、修改和改进的各种技术。以下是一些基本的图像处理操作,这些操作通常可…