大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
基于一维卷积神经网络的滚动轴承故障识别
一、数据预处理
采用美国凯斯西储大学(CWRU) 的开放轴承数据库的样本进行实验分析,轴承故障产生的实验台如下图所示。使用电火花加工技术分别在轴承的内圈、外圈和滚动体上引入单点缺陷,故障尺寸分别为 7、14和21 in,以48kHz采样频率采集不同负载下的故障轴承振动数据用于实验分析。
本文实验样本选取1HP下10种故障状态振动信号,构建数据集,每类样本长度为1024,其中具体实验样本信息如下表所示。另外每种轴承状态随机选择50%的样本用于模型训练和25%的样本用于模型的验证,25%的样本用于模型测试。
二、模型构建
本文使用的CNN矿架是经典的LeNet-5,拥有两个交替的卷积池化层和一个两层全连接网络。其中模型结构如下图所示。
三、模型训练
把原始的一维时域信号(训练集和验证集)送入模型,进行模型训练,训练结果如下:
由图可知:模型训练停止后,模型在验证集的准确率略高于训练集,表明模型训练效果良好,没有发生过拟合现象。另外,经过30次的迭代后,模型输出训练集的准确率为98.16%,验证集的准确率为99.15%。
四、模型测试
为了更清楚的展示模型在测试集中各个类别的识别结果,引入混淆矩阵对实验结果进行详细分析。
由混淆矩阵可以看出,除外圈14in、外圈21in故障外、滚子14in和滚子7in部分识别错误外,其余6种状态类型都能得到100%的识别。表明该模型具有较高的故障识别率。
为了进一步表明卷积池化层对不同类别特征的学习能力,引入流形学习中的 t-SNE维数约简算法对全连接层学习到的特征进行可视化,如下所示:
从散点图上可以看到第2类样本、第7类样本和第9类样本有识别错误的现象,也刚好和混淆矩阵识别错误的样本对应起来,其余样本均聚拢在相应的区域,最终测试集上的整体识别率为 99. 57%
总结
本次采用简单的两层一维卷积神经网络进行滚动轴承故障识别,在测试集上达到99.57%的准确率,另外从混淆矩阵和散点图上可以看到有较好的识别结果。大家可以尝试搭建其它的神经网络进行试验,可能得到更好的结果。
深度学习初学者,能力有限,写的不好或者做的不对的地方欢迎大家批评指正!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193515.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...