基于K-NN + GCN的轴承故障诊断模型
往期精彩内容:
Python-凯斯西储大学(CWRU)轴承数据解读与分类处理
Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客
Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客
Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客
三十多个开源数据集 | 故障诊断再也不用担心数据集了!
Python轴承故障诊断 (一)短时傅里叶变换STFT-CSDN博客
Python轴承故障诊断 (二)连续小波变换CWT-CSDN博客
Python轴承故障诊断 (三)经验模态分解EMD-CSDN博客
Python轴承故障诊断 (四)基于EMD-CNN的故障分类-CSDN博客
Python轴承故障诊断 (五)基于EMD-LSTM的故障分类-CSDN博客
Python轴承故障诊断 (六)基于EMD-Transformer的故障分类-CSDN博客
Python轴承故障诊断 (七)基于EMD-CNN-LSTM的故障分类-CSDN博客
Python轴承故障诊断 (八)基于EMD-CNN-GRU并行模型的故障分类-CSDN博客
Python轴承故障诊断 (九)基于VMD+CNN-BiLSTM的故障分类-CSDN博客
Python轴承故障诊断 (十)基于VMD+CNN-Transfromer的故障分类-CSDN博客
基于FFT + CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客
基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客
Python轴承故障诊断 (11)基于VMD+CNN-BiGRU-Attenion的故障分类-CSDN博客
交叉注意力融合时域、频域特征的FFT + CNN -BiLSTM-CrossAttention轴承故障识别模型-CSDN博客
交叉注意力融合时域、频域特征的FFT + CNN-Transformer-CrossAttention轴承故障识别模型-CSDN博客
轴承故障诊断 (12)基于交叉注意力特征融合的VMD+CNN-BiLSTM-CrossAttention故障识别模型_基于残差混合域注意力cnn的轴承故障诊断及其时频域可解释性-CSDN博客
Python轴承故障诊断 (13)基于故障信号特征提取的超强机器学习识别模型-CSDN博客
Python轴承故障诊断 (14)高创新故障识别模型-CSDN博客
Python轴承故障诊断 (15)基于CNN-Transformer的一维故障信号识别模型-CSDN博客
Python轴承故障诊断 (16)高创新故障识别模型(二)-CSDN博客
轴承故障全家桶更新 | 基于时频图像的分类算法-CSDN博客
Python轴承故障诊断 (17)基于TCN-CNN并行的一维故障信号识别模型-CSDN博客
独家原创 | SCI 1区 高创新轴承故障诊断模型!-CSDN博客
基于 GADF+Swin-CNN-GAM 的高创新轴承故障诊断模型-CSDN博客
Python轴承故障诊断 (18)基于CNN-TCN-Attention的创新诊断模型-CSDN博客
注意力魔改 | 超强轴承故障诊断模型!-CSDN博客
轴承故障全家桶更新 | 基于VGG16的时频图像分类算法-CSDN博客
轴承故障全家桶更新 | CNN、LSTM、Transformer、TCN、串行、并行模型、时频图像、EMD分解等集合都在这里-CSDN博客
Python轴承故障诊断 (19)基于Transformer-BiLSTM的创新诊断模型-CSDN博客
Python轴承故障诊断 (20)高创新故障识别模型(三)-CSDN博客
视觉顶会论文 | 基于Swin Transformer的轴承故障诊断-CSDN博客
Python轴承故障诊断 | 多尺度特征交叉注意力融合模型-CSDN博客
SHAP 模型可视化 + 参数搜索策略在轴承故障诊断中的应用-CSDN博客
速发论文 | 基于 2D-SWinTransformer+1D-CNN-SENet并行故障诊断模型-CSDN博客
Python轴承故障诊断 (21)基于VMD-CNN-BiTCN的创新诊断模型-CSDN博客
1DCNN-2DResNet并行故障诊断模型-CSDN博客
基于改进1D-VGG模型的轴承故障诊断和t-SNE可视化-CSDN博客
模型简介:
在应用图卷积网络(Graph Convolutional Networks, GCN)到信号模式识别领域中,最关键的是如何构建数据的图结构;我们创造性的提出一种基于K-NN的轴承故障信号预处理的方法,来构建故障信号序列的图结构,并用GCN网络模型进行诊断识别,取得了一定精度的分类效果。(该方法还未发表论文,创新度高,可以拿来直接进行拓展应用)
● 数据集:CWRU西储大学轴承数据集
● 环境框架:python 3.9 pytorch 1.8 及其以上版本均可运行
● 准确率:测试集94%
● 使用对象:论文需求、毕业设计需求者
● 代码保证:代码注释详细、即拿即可跑通。
创新点:
创新一:
利用K-NN创建故障信号图结构
1. 轴承信号是一维序列,我们可以通过构建图结构来捕捉序列之间的相对位置关系。使用k近邻方法来建立节点之间的边连接关系。对于每个节点,找到其最近的k个邻居节点,并将它们与该节点连接起来。这样可以形成轴承信号的图结构,其中每个节点对应一个数据点,边表示节点之间的连接关系;
创新二:
利用GCN网络进行故障诊断
1. 处理图结构数据:经过预处理的轴承信号可以被视为一个复杂的图结构,其中节点代表不同的序列位置,边代表它们之间的关联。GCN网络是专门设计用于处理图结构数据的深度学习模型,能够充分利用节点和边的拓扑结构信息,有助于挖掘故障信号中的复杂关联和模式。
2. 捕捉局部和全局信息:GCN网络通过多层图卷积层的堆叠,可以逐步聚合节点的局部邻居信息,并最终得到包含全局信息的节点表示。在轴承故障领域,这种能力使得GCN网络能够同时捕捉局部振动特征和整体系统状态,从而提高故障诊断和预测的准确性。
3. 自动学习特征表示:GCN网络可以自动学习节点的特征表示,无需手动设计特征工程。在轴承故障领域,这意味着GCN网络可以从原始振动数据中提取关键特征,识别故障模式。
前言
本文基于凯斯西储大学(CWRU)轴承数据,先经过数据预处理进行数据集的制作和加载,最后通过Pytorch实现K-NN+GCN模型对故障数据的分类。凯斯西储大学轴承数据的详细介绍可以参考下文:
Python-凯斯西储大学(CWRU)轴承数据解读与分类处理
1 轴承故障数据的预处理
1.1 导入数据
参考之前的文章,进行故障10分类的预处理,凯斯西储大学轴承数据10分类数据集:
train_set、val_set、test_set 均为按照7:2:1划分训练集、验证集、测试集,最后保存数据
上图是数据的读取形式以及预处理思路
1.2 数据预处理,制作数据集
2 基于Pytorch的GCN轴承故障诊断
2.1 定义GCN分类网络模型
2.2 设置参数,训练模型
50个epoch,准确率94%,用GCN网络分类效果显著,模型能够充分提取轴承故障信号的全局空间和局部特征,收敛速度快,性能优越,精度高,效果明显!
2.3 模型评估
准确率、精确率、召回率、F1 Score
故障十分类混淆矩阵: