0
点赞
收藏
分享

微信扫一扫

诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断


诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断


目录

  • 诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断
  • 分类效果
  • 格拉姆矩阵图
  • GAF-PCNN-GRU
  • GASF-CNN-GRU
  • GADF-CNN-GRU
  • 基本介绍
  • 程序设计
  • 参考资料


分类效果

格拉姆矩阵图

诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_GADF-CNN-GRU

GAF-PCNN-GRU

诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_GAF-PCNN-GRU_02


诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_故障诊断_03


诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_故障诊断_04

GASF-CNN-GRU

诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_GAF-PCNN-GRU_05


诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_GADF-CNN-GRU_06


诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_GADF-CNN-GRU_07

GADF-CNN-GRU

诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_GADF-CNN-GRU_08


诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_GADF-CNN-GRU_09


诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_故障诊断_10

基本介绍

1.Matlab实现GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断,三个模型对比,运行环境matlab2023b;
2.先运行格拉姆矩阵变换进行数据转换,然后运行分别main1GAFPCNN-GRU.m,main2GADF_CNN-GRU.m,main3GASF_CNN-GRU.m完成多特征输入数据分类预测/故障诊断;main1GAF_PCNN-GRU.m,是将GASF 图与GADF 图同时送入两条并行CNN 中,经过卷积-池化后,两条CNN网络各输出一组一维向量;然后,将所输出两组一维向量进行拼接融合;通过GRU和全连接层后,最终将融合特征送入到Softmax 分类器中。main2GASF_CNN-GRU.m,是只用到了格拉姆矩阵的GASF矩阵,将GASF矩阵送入CNN-GRU进行故障诊断。main3GADF_CNN-GRU.m,是只用到了格拉姆矩阵的GADF矩阵,将GADF矩阵送入CNN-GRU进行故障诊断。

参考文献

诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_基本介绍_11


诸神黄昏!多模型齐亮相!GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断_GAF-PCNN-GRU_12

程序设计

  • 完整程序和数据获取方式私信博主回复Matlab实现GAF-PCNN-GRU、GASF-CNN-GRU、GADF-CNN-GRU的多特征分类预测/故障诊断

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');                    % 画出曲线

举报

相关推荐

0 条评论