%% 初始化
clear
close all
clc
warning off
% 数据读取
addpath(genpath(pwd));
load ('data.mat') %加载处理好的特征数据
data = vmddata;
% 数据载入
bv = 120; %每种状态数据有120组
% 加标签值
hhh = size(data,2);
for i=1:size(data,1)/bv
data(1+bv*(i-1):bv*i,hhh+1)=i;
end
input=data(:,1:hhh);
output =data(:,end);
jg = bv; %每组120个样本
tn = 90; %选前tn个样本进行训练
input_train = []; output_train = [];
input_test = []; output_test = [];
for i = 1:max(data(:,end))
input_train=[input_train;input(1+jg*(i-1):jg*(i-1)+tn,:)];
output_train=[output_train;output(1+jg*(i-1):jg*(i-1)+tn,:)];
input_test=[input_test;input(jg*(i-1)+tn+1:i*jg,:)];
output_test=[output_test;output(jg*(i-1)+tn+1:i*jg,:)];
end
input_train = input_train';
input_test = input_test';
%归一化
[inputn_train,inputps]=mapminmax(input_train);
[inputn_test,inputtestps]=mapminmax('apply',input_test,inputps);
output_train = categorical(output_train);
output_test = categorical(output_test);
for i = 1:size(input_train,2)
Train_xNorm{i,:} = reshape(inputn_train(:,i),hhh,1,1);
Train_yNorm{i,:} = output_train(i);
end
for i = 1:size(input_test,2)
Test_xNorm{i,:} = reshape(inputn_test(:,i),hhh,1,1);
Test_yNorm{i,:} = output_test(i);
end
numFeatures = size(input,2);
numHiddens = 120;
numClasses = 10;
% 创建BiLSTM网络,
layers = [ ...
sequenceInputLayer(numFeatures) % 输入层
bilstmLayer(32)
reluLayer
fullyConnectedLayer(numClasses,'name','fullconnect') % 全连接层设置(影响输出维度)(cell层出来的输出层) %
softmaxLayer('Name','softmax')
classificationLayer('name','output')];
% 参数设置
options = trainingOptions('adam', ... % 优化算法Adam
'MaxEpochs', 150, ... % 最大训练次数
'GradientThreshold', 1, ... % 梯度阈值
'InitialLearnRate', 0.01, ... % 初始学习率
'LearnRateSchedule', 'piecewise', ... % 学习率调整
'LearnRateDropPeriod', 100, ... % 训练850次后开始调整学习率
'LearnRateDropFactor',0.1, ... % 学习率调整因子
'L2Regularization', 0.0001, ... % 正则化参数
'ExecutionEnvironment', 'cpu',... % 训练环境
'Verbose', 1, ... % 关闭优化过程
'Plots', 'none'); % 画出曲线
% 训练
tic
net = trainNetwork(Train_xNorm, Train_yNorm, layers, options);
toc
%analyzeNetwork(net);% 查看网络结构
% 预测
pred1 = classify(net, Test_xNorm);
pred = categorical();
for i = 1:size(pred1,1)
pred(i,1) = string(pred1{i,:});
end
accuracy=sum(output_test==pred)/length(pred); %计算预测的确率
% 标准bilstm作图
% 画方框图
figure('Position',[10,50,800,600])
set(gca,'looseInset',[0 0 0 0])
confMat = confusionmat(output_test,pred); %output_test是真实值标签
zjyanseplotConfMat(confMat.');
xlabel('Predicted label')
ylabel('Real label')
title(['Bilstm的测试集正确率 = ',num2str(accuracy*100),' %'])
% 作图
figure('Position',[50,50,800,600])
set(gca,'looseInset',[0 0 0 0])
plot(1:1:length(pred),output_test,'*-','Color',[0 0.4470 0.7410],'LineWidth',1)
hold on
plot(1:1:length(pred),pred,'p-','Color',[0.9290 0.6940 0.1250],'LineWidth',0.1,'MarkerSize',3)
legend('预测类别','真实类别','NorthWest')
title(['BiLSTM的测试集正确率 = ',num2str(accuracy*100),' %'])
xlabel('预测样本编号')
ylabel('分类结果')
box on
set(gca,'fontsize',12)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
BiLSTM双向长短期记忆神经网络故障诊断/分类预测(Matlab完整源码) 数据为西储大学轴承诊断数据经过特征提取后的数据。运行环境Matlab2023 BiLSTM双向长短期记忆神经网络故障诊断/分类预测(Matlab完整源码) 数据为西储大学轴承诊断数据经过特征提取后的数据。 BiLSTM双向长短期记忆神经网络故障诊断/分类预测(Matlab完整源码) 数据为西储大学轴承诊断数据经过特征提取后的数据。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
共 6 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/3899c4bd75d14bc2a043f1b2f2416dfc_m0_57362105.jpg!1)
前程算法屋
- 粉丝: 5083
- 资源: 768
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)