神经网络轴承故障诊断_一维卷积神经网络详解

神经网络轴承故障诊断_一维卷积神经网络详解基于一维卷积神经网络的滚动轴承故障识别提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录基于一维卷积神经网络的滚动轴承故障识别一、数据预处理二、模型搭建三、使用步骤1.引入库2.读入数据总结一、数据预处理采用美国凯斯西储大学(CWRU)的开放轴承数据库的样本进行实验分析,轴承故障产生的实验台如下图所示。使用电火花加工技术分别在轴承的内圈、外圈和滚动体上引入单点缺陷,故障尺寸分别为7、14和21in,以48kHz采样频率采集不同负载下的故障轴承振动数据用于实验分析。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

基于一维卷积神经网络的滚动轴承故障识别


一、数据预处理

采用美国凯斯西储大学(CWRU) 的开放轴承数据库的样本进行实验分析,轴承故障产生的实验台如下图所示。使用电火花加工技术分别在轴承的内圈、外圈和滚动体上引入单点缺陷,故障尺寸分别为 7、14和21 in,以48kHz采样频率采集不同负载下的故障轴承振动数据用于实验分析。
CWRU试验台
本文实验样本选取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%的准确率,另外从混淆矩阵和散点图上可以看到有较好的识别结果。大家可以尝试搭建其它的神经网络进行试验,可能得到更好的结果。
深度学习初学者,能力有限,写的不好或者做的不对的地方欢迎大家批评指正!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193515.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 虚拟机安装ubuntu12.04LTS及相关设置和常见问题的解决

    虚拟机安装ubuntu12.04LTS及相关设置和常见问题的解决前几天达内的来我们学校给我们培训,学习的是C++,使用的是用虚拟机安装的ubuntu,我不喜欢用他们的,于是自己在自己的电脑上安装,我安装过14版本的ubuntu,不过很卡,后来安装12.04LTS,

    2022年7月2日
    20
  • android sdk集合 下载,Android SDK下载列表(含海内下载)-下

    android sdk集合 下载,Android SDK下载列表(含海内下载)-下AndroidSDK下载列表(含国内下载)-下前一篇博客中借用了三位前辈的博客、里面是SDK的下载列表、当然、里面不可能是完整的、也有很多都没有收录、但是我们可以从那些已经收录了的链接里的命名习惯中可以知道我们想要下载的链接是什么当我们需要的版本不在那些下载列表中时、这就需要我们自己改下载链接了、举个例子:比如、平凡的世界这位前辈收录的下载android-sdk列表中:在AndroidSDK列…

    2022年7月19日
    41
  • Centos7防火墙配置

    Centos7防火墙配置

    2021年11月22日
    54
  • android toast显示时间,Android Toast自定义显示时间「建议收藏」

    android toast显示时间,Android Toast自定义显示时间「建议收藏」Toast是Android中使用频率较高的弹窗提示手段,使用起来简单、方便。常规使用方法这里不做说明,继前一篇博客《Android中Toast全屏显示》,其中抛砖引玉的给出一个简单的实现Toast全屏显示的方法后,发现无法控制Toast的显示时长。虽然Toast中有setDuration(intduration)接口,但是跟踪代码发现,设置的时间没起作用,只有系统默认的两个时间LENGTH_D…

    2025年11月10日
    9
  • python中copy.deepcopy_Python eval

    python中copy.deepcopy_Python eval仅出于教育目的,我尝试实现copy.deepcopy()的克隆函数。在在玩了一番代码并在谷歌上搜索之后,我想出了以下函数:defmy_deepcopy(data):ifisinstance(data,dict):result={}forkey,valueindata.items():result[key]=my_deepcopy(value)assertid(result)…

    2022年9月26日
    4
  • 数电——超前进位加法器

    数电——超前进位加法器一、串行(行波)进位加法器进行两个4bit的二进制数相加,就要用到4个全加器。那么在进行加法运算时,首先准备好的是1号全加器的3个input。而2、3、4号全加器的Cin全部来自前一个全加器的Cou

    2022年7月1日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号