GAF-PCNN-BiLSTM、GASF-CNN-BiLSTM、GADF-CNN-BiLSTM的多特征分类预测/故障诊断
目录
- GAF-PCNN-BiLSTM、GASF-CNN-BiLSTM、GADF-CNN-BiLSTM的多特征分类预测/故障诊断
- 分类效果
- 格拉姆矩阵图
- 基本介绍
- 程序设计
- 参考资料
分类效果
格拉姆矩阵图
基本介绍
1.Matlab实现GAF-PCNN-BiLSTM、GASF-CNN-BiLSTM、GADF-CNN-BiLSTM的多特征输入数据分类预测/故障诊断,三个模型对比,运行环境matlab2023b;
2.先运行格拉姆矩阵变换进行数据转换,然后运行分别main1GAFPCNN-BiLSTM.m,main2GADF_CNN-BiLSTM.m,main3GASF_CNN-BiLSTM.m完成多特征输入数据分类预测/故障诊断;
main1GAF_PCNN-BiLSTM.m,是将GASF 图与GADF 图同时送入两条并行CNN 中,经过卷积-池化后,两条CNN网络各输出一组一维向量;然后,将所输出两组一维向量进行拼接融合;通过BiLSTM和全连接层后,最终将融合特征送入到Softmax 分类器中。
main2GASF_CNN-BiLSTM.m,是只用到了格拉姆矩阵的GASF矩阵,将GASF矩阵送入CNN-BiLSTM进行故障诊断。
main3GADF_CNN-BiLSTM.m,是只用到了格拉姆矩阵的GADF矩阵,将GADF矩阵送入CNN-BiLSTM进行故障诊断。
参考文献
程序设计
- 完整程序和数据获取方式私信博主回复Matlab实现GAF-PCNN-BiLSTM、GASF-CNN-BiLSTM、GADF-CNN-BiLSTM的多特征分类预测/故障诊断。
fullyConnectedLayer(classnum,'Name','fc12')
softmaxLayer('Name','softmax')
classificationLayer('Name','classOutput')];
lgraph = layerGraph(layers1);
layers2 = [imageInputLayer([size(input2,1) size(input2,2)],'Name','vinput')
flattenLayer(Name='flatten2')
bilstmLayer(15,'Outputmode','last','name','bilstm')
dropoutLayer(0.1) % Dropout层,以概率为0.2丢弃输入
reluLayer('Name','relu_2')
selfAttentionLayer(2,2,"Name","mutilhead-attention") %Attention机制
fullyConnectedLayer(10,'Name','fc21')];
lgraph = addLayers(lgraph,layers2);
lgraph = connectLayers(lgraph,'fc21','add/in2');
plot(lgraph)
%% Set the hyper parameters for unet training
options = trainingOptions('adam', ... % 优化算法Adam
'MaxEpochs', 1000, ... % 最大训练次数
'GradientThreshold', 1, ... % 梯度阈值
'InitialLearnRate', 0.001, ... % 初始学习率
'LearnRateSchedule', 'piecewise', ... % 学习率调整
'LearnRateDropPeriod',700, ... % 训练100次后开始调整学习率
'LearnRateDropFactor',0.01, ... % 学习率调整因子
'L2Regularization', 0.001, ... % 正则化参数
'ExecutionEnvironment', 'cpu',... % 训练环境
'Verbose', 1, ... % 关闭优化过程
'Plots', 'none'); % 画出曲线
参考资料
[1] https://blog.csdn.net/kjm13182345320/category_11799242.html?spm=1001.2014.3001.5482
[2] https://blog.csdn.net/kjm13182345320/article/details/124571691