机器学习(深度学习)轴承故障诊断分类(提供故障数据和python代码实现)

机器学习(深度学习)故障诊断分类(提供故障数据和python代码实现)
轴承故障数据集和python代码自取:https://mbd.pub/o/bread/ZZWTm5hw

摘要:机器学习广泛的应用于机械故障诊断和故障分类问题,本研究利用机器学习的卷积神经网络对滚动轴承内圈损坏尺寸的分类,利用凯斯西储实验室提供的数据,整理出滚动轴承内圈损坏尺寸分别为0.14cm和0.21cm的数据集,通过机器学习实现对两个损坏尺寸的分类训练模型,通过数据测试模型的有效性。
关键词: 机器学习;神经网络;机械故障诊断;训练模型;数据集

机器学习(Machine Learning)是一种人工智能领域的技术和方法,机器学习的基本思想是利用数据来构建一个模型,该模型可以从数据中学习并进行预测[1]。为了实现这一目标,机器学习使用了大量的训练数据集,其中包含输入数据和对应的输出结果或标签。通过对这些数据进行分析和学习,机器学习算法可以自动发现数据中的模式和关联性,并从中构建出一个能够对新的输入数据进行预测的模型[2]。
1 基本理论介绍
1.1 卷积神经网络
卷积神经网络(Convolutional Neural Networks)是神经网络的一种,卷积神经网络通常由卷积层、池化层和全连接层组成[3],典型的CNN模型如图1所示。输入层一般是某一尺寸的二维数据,通常是三通道的彩色图像或单通道的灰度图像; 卷积层和池化层是 CNN 的核心层,卷积层通过一系列的卷积核对输入层的图像进行卷积从而获得相应数量的特征图,即特征提取[4][5]。池化层对卷积层得到的特征图进行最大值池化或平均值池化等操作,从而大幅减少卷积层的空间维度,降低计算成本,控制过拟合; 经过若干次的卷积和池化层,紧接着将池化操作后的数据展开并输入到全连接层,全连接层连接一个隐藏层,最后由 softmax 函数将数据映射到输出层[6][7]。
在这里插入图片描述

图1 典型的卷积神经网络结构图
1.2 轴承故障机理
轴承是工业设备中常见的关键组件,用于支撑和转动机械部件。轴承故障是工业运行中常见的问题之一,轴承通常由外圈、内圈滚动体和保持架组成[8][9]。结构如图2所示。
在这里插入图片描述

图2 轴承结构图
了解轴承故障的机理对于预防和维护至关重要。下面是一些常见的轴承故障机理:(1)疲劳故障:疲劳是最常见的轴承故障机理之一。在长时间的运转过程中,轴承承受着来自负载和振动的应力,这可能导致材料的疲劳损伤。疲劳故障通常表现为裂纹、剥落和断裂等。(2)磨损:磨损是轴承故障的常见原因之一。磨损可能由于轴承内部零件之间的摩擦、颗粒污染或润滑不足等引起。磨损故障可能导致轴承内部间隙的增加,降低了其性能和寿命。(3)过热:过热是轴承故障的常见指标之一。过高的温度可能是由于摩擦、润滑不足、轴承损伤或环境条件等因素引起的。过热会导致轴承润滑剂的失效,损害轴承表面,并加速磨损和疲劳。(4)锈蚀和腐蚀:环境中的湿度和腐蚀性物质可能导致轴承的锈蚀和腐蚀。这会破坏轴承表面的润滑膜,加速磨损和损坏。(5)轴承安装不当:轴承安装不当也可能导致故障。例如,不正确的安装力、轴向间隙不合适或使用不当的工具等都可能对轴承的性能和寿命产生负面影响[10]。
本研究的是轴承内圈的裂纹故障,根据凯斯西储实验室公开的数据,损伤尺寸数据集为0.14cm和0.21cm两类,本文整理这两类故障作为神经网络训练数据集,训练出的模型能够将测试数据分类为0.14cm和0.21cm的损伤尺寸故障。
在这里插入图片描述

2 代码实现
代码实现流程如图3所示。
图3 代码实现流程图
从"故障数据集.csv"文件中读取轴承故障数据集,该数据集包含轴承故障样本和对应的内圈损伤尺寸标签。将特征数据存储在X中,使用np.expand_dims将数据维度转换为(样本数, 特征数, 1),以适应一维卷积神经网络的输入要求。对标签数据进行数字编码,使用LabelEncoder将标签转换为数字形式,并使用np_utils.to_categorical将数字编码的标签转换为二进制矩阵形式。
使用train_test_split将数据集划分为训练集和测试集,其中70%的数据用于训练,30%的数据用于测试。
定义一维卷积神经网络模型,使用Sequential模型初始化一个线性堆叠模型。添加一维卷积层Convolution1D,设置卷积核数量、卷积核大小、步长和输入形状。添加激活函数层Activation,使用’tanh’作为激活函数。添加池化层MaxPooling1D,设置池化窗口大小和步长。添加批归一化层BatchNormalization,进行数据归一化处理。添加Flatten层,将多维输入展平为一维。添加Dropout层,进行随机失活以避免过拟合。添加全连接层Dense,设置神经元数量和激活函数。添加输出层Dense,设置输出类别数量和激活函数。使用compile方法配置模型的损失函数、优化器和评估指标。
在训练和评估模型中,使用KerasClassifier包装模型,以便在Scikit-learn中进行交叉验证。使用fit方法训练模型,指定训练集和相关参数。通过绘制曲线可视化模型的损失和准确率,如图4所示。程序实现了对卷积层输出的可视化,其中使用keras.backend.function获取指定层的输出,然后绘制特征图。绘制了混淆矩阵的可视化图,如图5所示,使用confusion_matrix计算混淆矩阵,并使用plot_confusion_matrix函数绘制图像。
最后收集测试数据集,将保存和加载的模型预测该测试集,预测部分结果如图6所示,标签为0表示轴承内圈损伤尺寸为0.14cm, 标签为1表示轴承内圈损伤尺寸为0.21cm
在这里插入图片描述

图4 损失和准确率图
在这里插入图片描述

图5 混淆矩阵图
在模型保存和加载中,将模型保存为JSON格式,使用model.to_json将模型结构保存到文件。保存模型权重,使用model.save_weights将模型权重保存到文件。加载模型时,使用model_from_json加载模型结构,然后使用load_weights加载模型权重。对加载的模型进行编译和评估,计算分类准确率。
在这里插入图片描述

图6 测试集预测结果
3 结束语
本文实现了一个基于机器学习的滚动轴承内圈损坏尺寸的二分类模型。研究使用了由凯斯西储实验室提供的滚动轴承内圈损坏尺寸为0.14cm和0.21cm的样本数据,通过训练神经网络模型,实现对两种损坏尺寸的分类训练模型,通过测试数据测试模型的有效性。

参考文献
[1] 基于多通道一维卷积神经网络特征学习的齿轮箱故障诊断方法[J]. 叶壮;余建波.振动与冲击,2020(20)
[2] Parity recognition of blade number and manoeuvre intention classification algorithm of rotor target based on micro-Doppler features using CNN[J]. WANG Wantian;TANG Ziyue;CHEN Yichang;SUN Yongjian.Journal of Systems Engineering and Electronics,2020(05)
[3] 自适应卷积神经网络在旋转机械故障诊断中的应用[J]. 李涛;段礼祥;张东宁;赵赏鑫;黄辉;毕彩霞;袁壮.振动与冲击,2020(16)
[4] 滚动轴承多状态特征信息的改进型卷积神经网络故障诊断方法[J]. 周陈林;董绍江;李玲;汤宝平;贺坤;穆书锋;张潇汀.振动工程学报,2020(04)
[5] 基于优化变分模态分解和卷积神经网络的齿轮故障诊断[J]. 杨同光;于晓光.组合机床与自动化加工技术,2020(07)
[6] 采用HHT算法与卷积神经网络诊断轴承复合故障[J]. 施杰;伍星;刘韬.农业工程学报,2020(04)
[7] 卷积神经网络多变量过程特征学习与故障诊断[J]. 陈淑梅;余建波.哈尔滨工业大学学报,2020(07)
[8] 深度学习在旋转机械设备故障诊断中的应用研究综述[J]. 吴春志;冯辅周;吴守军;陈汤;王杰.噪声与振动控制,2019(05)
[9] 基于改进3D卷积神经网络的行为识别[J]. 张小俊;李辰政;孙凌宇;张明路.计算机集成制造系统,2019(08)
[10] 无标签数据下基于特征知识迁移的机械设备智能故障诊断[J]. 郭亮;董勋;高宏力;李长根.仪器仪表学报,2019(08)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/130295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时间复杂度的计算技巧-算法模型中的时间复杂度如何计算,有哪些技巧呢

大家好,我是微学AI,今天给大家介绍一下时间复杂度的计算技巧-算法模型中的时间复杂度如何计算,有哪些技巧呢,算法的时间复杂度是评估算法性能和效率的一种方式,它表示算法需要执行多少次基本操作才能完成其任务&#x…

Linux文本编辑器vim使用和配置详解

vim介绍 ​ vim是Linux的一款文本编辑器,可以用来编辑代码,而且支持语法高亮,还可以进行一系列配置使vim更多样化。也可以运行于windows,mac os上。 ​ vim有多种模式,但目前我们只介绍绝大多数场景用的到的模式&…

树结构及其算法-二叉树节点的插入

目录 树结构及其算法-二叉树节点的插入 C代码 树结构及其算法-二叉树节点的插入 二叉树节点插入的情况和查找相似,重点是插入后仍要保持二叉查找树的特性。如果插入的节点已经在二叉树中,就没有插入的必要了,如果插入的值不在二叉树中&…

集线器、交换机、网桥、路由器、网关

目录 集线器(HUB)交换机(SWITCH)网桥(BRIDGE)路由器(ROUTER)网关(GATEWAY)交换机和路由器的区别参考 集线器(HUB) 功能 集线器对数据的传输起到同步、放大和整形的作用 属于物理层设备 工作机制 使用集线器互连而成的以太网被称为共享式以太网。当某个主机要给另一个主机发送单…

轻量封装WebGPU渲染系统示例<13>- 屏幕空间后处理效果(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/main/src/voxgpu/sample/ScreenPostEffect.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 细节请见:引擎系统设计思路 - 用户态与系统态隔离-CSDN博客 2. 高频调用与低频调用隔离。…

【Unity实战】最全面的库存系统(五)

文章目录 先来看看最终效果前言配置商店系统数据创建另一个NPC绘制商店UI控制商店开关列出商品添加和删除物品功能添加商品到购物车购买商品购物车删除物品商店预览效果购买和出售切换出售功能保存商店数据快捷栏物品切换和使用完结 先来看看最终效果 前言 本期也是最好一期&a…

数字孪生技术与VR:创造数字未来

在当今数字化浪潮中,数字孪生和虚拟现实(VR)技术是两大亮点,它们以独特的方式相互结合,为各个领域带来了创新和无限可能。本篇文章将探讨数字孪生与VR之间的关系,以及它们如何共同开辟未来的新前景。 数字…

FreeRTOS_事件标志组

目录 1. 事件标志组简介 2. 创建事件标志组 2.1 函数 xEventGroupCreate() 2.2 函数 xEventGroupCreateStatic() 3. 设置事件位 3.1 函数 xEventGroupClearBits() 3.2 函数 xEventGroupClearBitsFromISR() 3.3 函数 xEventGroupSetBits() 3.4 函数 xEventGroupSetB…

项目实战:分页功能实战

1、在index.html添加点击事件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"style/index.css"><script src"scr…

点大商城V2版 2.5.2.1 全开源独立版 多小程序端+unipp安装教程

点大商城V2是一款采用全新界面设计支持多端覆盖的小程序应用&#xff0c;支持H5、微信公众号、微信小程序、头条小程序、支付宝小程序、百度小程序&#xff0c;本程序是点大商城V2独立版&#xff0c;包含全部插件&#xff0c;代码全开源&#xff0c;并且有VUE全端代码。分销&am…

万岳讲堂:抖音小程序开发入门指南

抖音小程序可以将开发者的创意带入这个热门的应用中。本文将带您深入了解抖音小程序的开发入门指南&#xff0c;帮助您开始在这一平台上构建自己的应用。 一、什么是抖音小程序&#xff1f; 抖音小程序是一种轻量级的应用程序&#xff0c;它可以在抖音中直接运行&#xff0c;无…

Java8 Stream API全面解析——高效流式编程的秘诀

文章目录 什么是 Stream Api?快速入门流的操作创建流中间操作filter 过滤map 数据转换flatMap 合并流distinct 去重sorted 排序limit 限流skip 跳过peek 操作 终结操作forEach 遍历forEachOrdered 有序遍历count 统计数量min 最小值max 最大值reduce 聚合collect 收集anyMatch…

python 成绩统计,输出及格率和优

题目描述&#xff1a; 小蓝给学生们组织了一场考试&#xff0c;卷面总分为100分&#xff0c;每个学生的得分都是一个0到100的整数。 如果得分至少是60分&#xff0c;则称为及格。如果得分至少为85分&#xff0c;则称为优秀。 请计算及格率和优秀率&#xff0c;用百分数表示&am…

虚拟机保护工具:Zerto Virtual Replication 10.0 U1 Crack

Zerto虚拟复制是为需要保护虚拟机和应用程序的企业设计的产品。通过通过连接到广域网或云到远程站点的复制来保护虚拟机。Zerto VR 2.0还可以与vCloud Director一起将虚拟机或虚拟机组复制到云端&#xff08;或从云端&#xff09;。 事实上&#xff0c;Zerto与33家云提供商合作…

Unity在Project右键点击物体之后获取到点击物体的名称

Unity在Project右键点击物体之后获取到点击物体的名称 描述&#xff1a; 在Unity的Project右键点击物体之后选择对应的菜单选项点击之后打印出物体的名称 注意事项 如果获取到文件或者预制体需要传递objcet类型&#xff0c;然后使用 GameObject.Instantiate((GameObject)se…

WiFi模块在智能家居中的应用与优化

智能家居技术的迅速发展已经改变了我们对家庭的定义。WiFi模块作为智能设备连接的核心&#xff0c;扮演着连接和控制智能家居生态系统的关键角色。本文将深入研究WiFi模块在智能家居中的应用&#xff0c;同时探讨如何通过优化来提升其性能和用户体验。 1. 智能家居中WiFi模块的…

第二十六章 BEV感知系列三(车道线感知)

前言 近期参与到了手写AI的车道线检测的学习中去&#xff0c;以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新&#xff0c;力求完整精炼&#xff0c;引人启示。所需前期知识&#xff0c;可以结合手写AI进行系统的学习。 BEV感知系列是对论文Delving into the De…

Jenkins项目部署

使用jenkins部署项目 简易版使用jenkins部署项目 将war包部署到tomcat中 将已有的war包部署到tomcat中(jenkins与tomcat在同一台主机) 点击Jenkins主页的新建任务 输入任务名称 选择构建一个自由风格的软件项目后点击确定 在构建内添加构建步骤&#xff0c;选择执行shell 输入…

回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测(多指标、多图)

回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测&#xff08;多指标、多图&#xff09; 目录 回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测&#xff08;多指标、多图&#xff09;效果一览基本介绍程序设计参考资料 效果一览…

数字IC后端实现 |TSMC 12nm 与TSMC 28nm Metal Stack的区别

下图为咱们社区IC后端训练营项目用到的Metal Stack。 芯片Tapeout Review CheckList 数字IC后端零基础入门Innovus学习教程 1P代表一层poly&#xff0c;10M代表有10层metal&#xff0c;M5x表示M2-M6为一倍最小线宽宽度的金属层&#xff0c;2y表示M7-M8为二倍最小线宽宽度的金…