【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)
    softmaxLayer
    classificationLayer]

% 现在,指定训练选项。指定求解器为 '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

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大桃子技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值