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

神经网络轴承故障诊断_一维卷积神经网络详解基于一维卷积神经网络的滚动轴承故障识别提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录基于一维卷积神经网络的滚动轴承故障识别一、数据预处理二、模型搭建三、使用步骤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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python源码阅读_python源代码文件

    Python源码阅读_python源代码文件最近想读读Python源码,任何东西学习方法基本都是一样的,先从总体框架进行了解,再从自己侧重的方面逐步深入。1.Python总体架构左边是Python提供的大量的模块、库以及用户自定义的模块。比如在执行importos时,这个os就是Python内建的模块,当然用户还可以通过自定义模块来扩展Python系统。右边是Python的运行时环境,包括对象/类型系统(Object/Type…

    2022年8月23日
    7
  • [MySQL] MySQL的自己主动化安装部署

    [MySQL] MySQL的自己主动化安装部署

    2021年11月28日
    38
  • PS2手柄-1「建议收藏」

    PS2手柄-1「建议收藏」相关定义Comd[2]={0x01,0x42};存储了两条指令码,分别是开始指令和请求数据指令。Data[9]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};数据存储数组,初始全为0。MASK[16]={PSB_SELECT,PSB_L3,PSB_R3,PSB_START,PSB_PAD_UP,PSB_PAD_RIGHT,PSB_PAD_DOWN,PSB_PAD_LEFT,PSB_L2,PSB_R2,PSB_L1,PSB_R1,PSB_GREEN,P

    2022年6月11日
    37
  • PHP开发api接口安全验证的实例,值得一看

    PHP开发api接口安全验证的实例,值得一看

    2021年10月29日
    38
  • Linux vimrc常见配置

    Linux vimrc常见配置code效果setignorecase搜索模式里忽略大小写setnu设置vim显示代码行setsmartcase如果搜索模式包含大写字符,不使用‘ignorecase’选项。只有在输入搜索模式并且打开‘ignorecase’选项时才会使用setautowrite自动把内容写回文件也就是自动保存setautoindent设置自动对齐(缩进):即每行的缩进值与上一行相等;使用noautoindent取消设置setsmartind…

    2022年5月10日
    52
  • windows批处理命令教程的书籍有哪些_windows脚本命令

    windows批处理命令教程的书籍有哪些_windows脚本命令批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为.bat或.cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到的用批处理文件来给系统打补丁

    2022年8月22日
    10

发表回复

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

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