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

神经网络轴承故障诊断_一维卷积神经网络详解基于一维卷积神经网络的滚动轴承故障识别提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录基于一维卷积神经网络的滚动轴承故障识别一、数据预处理二、模型搭建三、使用步骤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%的准确率,另外从混淆矩阵和散点图上可以看到有较好的识别结果。大家可以尝试搭建其它的神经网络进行试验,可能得到更好的结果。
深度学习初学者,能力有限,写的不好或者做的不对的地方欢迎大家批评指正!

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 原生js添加元素

    原生js添加元素今天做页面使用的mui,因为使用mui情况下无法使用jquery,于是在ajax请求完毕添加元素的时候发现自己竟然对原生js添加元素的方法有点模糊了,真是越活越倒退了,赶紧整理一波。首先最简单的innerHTML,这个不想多说,入门新手喜欢这么用,但他的缺点也很明显:不管你渲染部分还是全部,始终需要替换原先所有的子元素,也就是需要重复渲染,会增加浏览器压力。接下来就是正题了,js推荐是这样…

  • JMM内存模型介绍「建议收藏」

    JMM内存模型介绍「建议收藏」一、JMM的定义1.什么是JMM《Java虚拟机规范》中曾试图定义一种“Java内存模型”(JavaMemoryModel简称JMM)来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。Java内存模型是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JMM是围绕原子性,有序性、可见性展开。2.主内存与工作内存Java内存模型的主要目的是定义程

    2022年10月27日
  • CRC校验算法详解「建议收藏」

    CRC校验算法详解「建议收藏」CRC(CyclicRedundancyCheck)循环冗余校验是常用的数据校验方法,讲CRC算法的文章很多,之所以还要写这篇,是想换一个方法介绍CRC算法,希望能让大家更容易理解CRC算法。先

  • 亚马逊记AWS(Amazon Web Services)自由EC2应用

    亚马逊记AWS(Amazon Web Services)自由EC2应用

  • 幺妹--攒钱篇

    幺妹--攒钱篇

  • MFC Windows程序设计源代码免费下载

    MFC Windows程序设计源代码免费下载

    2021年11月16日

发表回复

您的电子邮箱地址不会被公开。

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