【MATLAB项目实战】:基于WOA和LSTM的化工过程故障诊断模型
基于WOA和深度学习的化工过程故障诊断模型
数据集
TE化工故障数据集
抽了3个故障进行分析
WOA作为特征选择器
%---Output-----------------------------------------------------------
% sFeat : 特征选择 (instances x features)
% Sf : 特征索引
% Nf : 特征数量
% curve : 适应度曲线
%--------------------------------------------------------------------clc, clear, close;
% 数据集处理
load data\d01.dat;
load data\d02.dat;
load data\d03.dat;
feat=[d01;d02;d03];
y1=ones(length(d01),1);
y2=2*ones(length(d02),1);
y3=3*ones(length(d03),1);
label=[y1;y2;y3];
% 20% 用于验证集
ho = 0.2;
%
HO = cvpartition(label,'HoldOut',ho);% 设置参数
N = 3;
max_Iter = 100; % WOA
[sFeat,Sf,Nf,curve] = jWOA(feat,label,N,max_Iter,HO);% 绘制曲线
plot(1:max_Iter,curve);
xlabel('迭代次数');
ylabel('适应度');
title('WOA 曲线'); grid on;
% 划分训练集测试集
[XTrain,YTrain, XTest,YTest] = split_train_test(sFeat, label, 3, 0.8);
% 定义 LSTM 网络架构。
% 将输入大小指定为序列大小 28(输入数据的维度)。
% 指定具有 100 个隐含单元的双向 LSTM 层,并输出序列的最后一个元素
% 最后,通过包含大小为 3 的全连接层,后跟 softmax 层和分类层,来指定3个类。[m,n]=size(sFeat);
inputSize = 1;
numHiddenUnits = 100;
numClasses = 3;layers = [ ...sequenceInputLayer(inputSize)lstmLayer(numHiddenUnits,'OutputMode','last')fullyConnectedLayer(numClasses)softmaxLayerclassificationLayer]% 现在,指定训练选项。指定求解器为 'adam',梯度阈值为 1,最大轮数为 100。
% 选择 64 作为小批量大小。
% 将序列长度指定为 'longest'。要确保数据保持按序列长度排序的状态,请指定从不打乱数据。maxEpochs = 100;
miniBatchSize = 1000;options = trainingOptions('adam', ...'ExecutionEnvironment','cpu', ...'GradientThreshold',1, ...'InitialLearnRate',0.001, ...'MaxEpochs',maxEpochs, ...'MiniBatchSize',miniBatchSize, ...'Verbose',1, ...'Plots','training-progress');
for i=1:length(XTrain)X_Train{:,i}=XTrain(i,:);
end% 训练 LSTM 网络
% 使用 trainNetwork 以指定的训练选项训练 LSTM 网络。net = trainNetwork(X_Train,categorical(YTrain),layers,options);
% 测试
for i=1:length(XTest)X_Test{:,i}=XTest(i,:);
end
YPred = classify(net,X_Test);
% 计算预测值的分类准确度。acc = sum(YPred == categorical(YTest))./numel(YTest)figure
confusionchart(YPred,categorical(YTest))
title('混淆矩阵')
下载链接: https://download.csdn.net/download/qq_45047246/85017030
【MATLAB项目实战】:基于WOA和LSTM的化工过程故障诊断模型相关推荐
- 在计算机rwn代表,基于改进和RWn-SVM的化工过程故障快速诊断.pdf
基于改进KFDA 和RWn -SVM 的化工过程故障快速诊断 王斌 工程师 匡蕾 高级工程师 (江苏省安全生产科学研究院 化工安全与信息研究所,江苏 南京 210009 ) 学科分类与代码:62030 ...
- 自动化运维-----项目实战: 基于Ansible的云平台自动化运维系统
文章目录 项目实战: 基于Ansible的云平台自动化运维系统 一.项目介绍 1.项目介绍 2.项目背景 二.项目环境搭建 1.项目目录的配置 2.远程服务器虚拟环境的配置 3.MySQL数据库配置 ...
- 嵌入式项目实战——基于QT的视频监控系统设计(二)
嵌入式项目实战--基于QT的视频监控系统设计(二) 昨天我分享了关于QT的基本使用方法,掌握了这些基本的方法就可以设计一个简单的视频监控界面.下面我们开始分享完成这个嵌入式项目同样重要的知识点--UD ...
- 嵌入式项目实战——基于QT的视频监控系统设计(三)
嵌入式项目实战--基于QT的视频监控系统设计(三) 进入到五一假期第三天,继续我们的项目.本来五一假期还是想好好休息一下的,因为最近学习的状态不太好,刷题都没有思路了,但是身边的同学太卷了,不过我还是 ...
- 嵌入式项目实战——基于QT的视频监控系统设计(四)
嵌入式项目实战--基于QT的视频监控系统设计(四) 进入到五一假期的第四天,通过前三天的分享,相信你应该已经掌握了QT的基本使用.UDP网络编程.v4l2视频处理模块.多线程编程等基本的知识点.其实昨 ...
- 嵌入式项目实战——基于QT的视频监控系统设计(一)
嵌入式项目实战--基于QT的视频监控系统设计(一) 这个五一因为疫情,只能待在家里,想了想不如将我之前做的一个小的嵌入式的练习项目分享出来,供入门嵌入式的同学们学习.基于QT的视频监控系统设计虽然是个 ...
- 项目实战——基于计算机视觉的物体位姿定位及机械臂抓取(单目标定)
项目实战--基于计算机视觉的物体位姿定位及机械臂抓取(单目标定) 请各位读者朋友注意,这里面很多东西涉及到我的毕设,写作辛苦,请勿滥用,转载请务必注明出处! 单目标定主要分为两个部分, ...
- Arduino项目实战——基于Arduino【智能垃圾桶】设计
Arduino项目实战 -基于Arduino[智能垃圾桶]设计 第一次接触Arduino是在大一的时候,距离现在已经五年,当时一个简单的"电子琴"项目就让我抓耳 ...
- 马震宇 php,马震宇出品360问答系统项目实战 基于HDPHP
马震宇出品360问答系统项目实战xa0xa0基于HDPHP 学了一大堆理论及基础知识,找工作之前总得先实战一下吧? 抽出一点时间来吧,各位,好好的研究一下自己学习的相关项目 相信在你找工作的时候一定会 ...
最新文章
- MySQL编码引发的两个问题
- selenium之作用和工作原理
- 租号显示服务器爆满怎么办,租号器环境异常怎么解决
- js微信小程序页面左上角返回跳转指定页面
- angularjs1.x版本,父子组件之间的双向绑定
- OpenCV 1.0在VC6下安装与配置(附测试程序)
- 《Python算法教程》——1.6 如果您感兴趣
- 日志打印,设置开关类【编程技巧】
- 超硬核!只要1美元!教你给MacBook装上触摸屏
- 免费的中文语音数据集汇总列表
- 凯恩帝k1000ti参数设置_凯恩帝K1000T系统用户手册.pdf
- 流控大师 panabit
- 利用python修改小米运动数据,整个朋友圈都感觉太夸张了
- 一文读懂UWB技术的应用场景
- 用Javascript实现回到顶部效果
- eclipse打开报错:Failed to load the JNI shared library
- day01 HTMLCSS
- C++ Boost库:简介和第一个示例程序
- Dubbo-06 20190320
- 紫书 统计字符1的个数
热门文章
- Antd使用Form组件报错:You cannot set a form field before rendering a field associated with the value.
- bfi中文是什么意思_微博里bot是什么意思 流行用语五花八门
- 智能送药小车(一)——K210巡线
- 孩子为什么要从小学习编程?
- 基于 tensorflow 的鲜花识别
- vue-amap 地图定位打卡
- Android 手机蓝牙遥控器解决方案
- SAP FREE合同中的霸王条款
- Nvidia Jetson Agx Xavier遇坑,刷机记录、教程
- 考研英语二计算机国家线,考研计算机历年国家线_2021研究生招生信息网