基于支持向量机、孤立森林和LSTM自编码器的机械状态异常检测(MATLAB R2021B)

异常检测通常是根据已有的观测数据建立正常行为模型,从而将不同机制下产生的远离正常行为的数据划分为异常类,进而实现对异常状态的检测。常用的异常检测方法主要有:统计方法、信息度量方法、谱映射方法、聚类方法、近邻方法和分类方法等。

早期的异常检测方法主要是基于统计理论,通过对观测数据进行统计建模或密度估计来评价异常,如果数据的分布假设成立,统计方法能够得到一个满意的可证明的解,且为无监督过程,但该方法对数据的统计假设较为依赖,特别是对于高维复杂数据,统计分布往往不能准确假设。而信息度量方法虽不需对数据分布进行假设,但其检测性能取决于信息度量指标,若信息度量不能明显反映异常数据与正常数据的差异,则该方法将失效。基于主成分分析或矩阵分解的空间映射方法,通过将正常和异常数据嵌入到一个低维子空间进行划分,并可自动执行维度约简,适合于高维复杂数据,但在空间映射过程中易丢失部分有用的数据信息。

随着人工智能理论的产生和发展,许多机器学习和数据挖掘的方法被应用于异常检测,主要有基于聚类或近邻的无监督学习方法和基于分类的有监督学习方法。对于聚类方法,不同的计算正常类数据间距离或相似度的策略对聚类结果有很大影响,如果形成的聚类簇太大,易将异常数据包含进去而导致误判。对于近邻方法,通过计算正常类数据的k近邻或局部异常因子来进行异常检测,体现了数据的局部分布特性,检测性能得到了提高,但近邻方法需要存储所有的正常数据,来计算与测试数据间的距离,复杂度较高,而且如果正常数据的分布比较稀疏(即没有足够的近邻点),易导致较大的检测误差。对于分类方法,通过使用可获得的标记数据作为训练样本来构造分类模型,对测试数据进行分类,能够实现一类或多类分类异常检测。

鉴于此,采用支持向量机、孤立森林和LSTM自编码器方法对机械状态进行异常检测,运行环境为MATLAB R2021B。数据集包含来自工业机器的三轴振动测量值, 在计划维护之前和维护之后采集数据。假定在定期维护后采集的数据代表机器的正常运行状况,维护前的数据代表正常或异常情况。每轴的数据存储在单独的列中,每个文件包含 7000 个测量值。

图片

图片

图片

图片

图片

 


function[net]=AE(X,Xtest,Labels,options)
% S-AEEL:Stacked AutoEncoder with Embedded Labels 
% it allows labels embedding inside the hidden layer
% Inputs
% number_neurons:number of neurons in hidden layer.
% X: the training inputs.
% Xtest: the testing inputs
% prefomance: RMSE of training.
% options :training options (3 options -->)
% 
% get options
number_neurons=options.number_neurons; % number of neurons
Layers=options.Layers;% number of layers
ActivF=options.ActivF;% activation function
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
X = scaledata(X,0,1);% data Normalization
x=X;% save a copy from original input;
alpha=size(X);% get information for weights generations
% 1:generate a random input weights
input_weights{1}=rand(number_neurons,alpha(2))*2-1;for i=1:Layers
% 2:calculating the hidden layer
tempH=input_weights{i}*X';
CAT=repmat(Labels',size(tempH,1),1);
tempH=[tempH+CAT];
tempH=[tempH;Labels'];
% activation function
switch lower(ActivF)case {'sig','sigmoid'}%%%%%%%% Sigmoid H = 1 ./ (1 + exp(-tempH));case {'sin','sine'}%%%%%%%% SineH = sin(tempH);    case {'hardlim'}%%%%%%%% Hard LimitH = double(hardlim(tempH));case {'tribas'}%%%%%%%% Triangular basis functionH = tribas(tempH);case {'radbas'}%%%%%%%% Radial basis functionH = radbas(tempH);%%%%%%%% More activation functions can be added here                
end
% 3: calculate the output weights beta
B{i}=pinv(H') * X ; %Moore-Penrose pseudoinverse of matrix
% calculate the output : Unlike other networks the AEs uses the same weight
% beta as an input weigth for coding and output weights for decoding
% we will no longer use the old input weights:input_weights. 
Hnew=X*B{i}';
output=Hnew*pinv(B{i}');
input_weights{i+1}=B{i};
end
% 4:calculate the prefomance
labels_hat=scaledata(Hnew(:,end-(size(Labels,2))+1:end),min(Labels),max(Labels));% recovered labels
prefomance=sqrt(mse(x-output));% RMSE of training samples recontruction
rec_acc=sqrt(mse(labels_hat-Labels));% % RMSE of training labels recovering
%% mappings for test set
H_test=Xtest*B{i}';
%% save results
net.xtr_mapp=Hnew; % feature mappings of training inputs
net.xts_mapp=H_test; % feature mappings of testing inputs
net.recovered_labels=labels_hat;% 
net.learning_loss=prefomance;
net.Learning_weights=B;
net.xtr_hat=output;
net.rec_acc=rec_acc;
end
工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。完整数据和代码通过知乎学术咨询获得:
https://www.zhihu.com/consult/people/792359672131756032?isMe=1

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

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

相关文章

26_嵌入式系统网络接口

以太网接口基本原理 IEEE802标准 局域网标准协议工作在物理层和数据链路层,其将数据链路层又划分为两层,从下到上分别为介质访问控制子层(不同的MAC子层,与具体接入的传输介质相关),逻辑链路控制子层(统一的LLC子层,为上层提供统…

MySQL之备份与恢复(八)

备份与恢复 还原逻辑备份 如果还原的是逻辑备份而不是物理备份,则与使用操作系统简单地复制文件到适当位置的方式不同,需要使用MySQL服务器本身来加载数据到表中。在加载导出文件之前,应该先花一点时间考虑文件有多大,需要多久加…

240707_昇思学习打卡-Day19-基于MindSpore通过GPT实现情感分类

240707_昇思学习打卡-Day19-基于MindSpore通过GPT实现情感分类 今天基于GPT实现一个情感分类的功能,假设已经安装好了MindSpore环境。 # 该案例在 mindnlp 0.3.1 版本完成适配,如果发现案例跑不通,可以指定mindnlp版本,执行!pip…

14-20 Vision Transformer用AI的画笔描绘新世界

概述 毫无疑问,目前最受关注且不断发展的最重要的主题之一是使用人工智能生成图像、视频和文本。大型语言模型 (LLM) 已展示出其在文本生成方面的卓越能力。它们在文本生成方面的许多问题已得到解决。然而,LLM 面临的一个主要挑战是它们有时会产生幻觉反应。 最近推出的新模…

【Unity小技巧】Unity字典序列化

字典序列化 在 Unity 中&#xff0c;标准的 C# 字典&#xff08;Dictionary<TKey, TValue>&#xff09;是不能直接序列化的&#xff0c;因为 Unity 的序列化系统不支持非 Unity 序列化的集合类型。可以通过手写字典实现 效果&#xff1a; 实现步骤&#xff1a; 继承ISe…

【TB作品】51单片机 Proteus仿真 MAX7219点阵驱动数码管驱动

1、8乘8点阵模块&#xff08;爱心&#xff09; 数码管测试程序与仿真 实验报告: MAX7219 数码管驱动测试 一、实验目的 通过对 MAX7219 芯片的编程与控制&#xff0c;了解如何使用单片机驱动数码管显示数字&#xff0c;并掌握 SPI 通信协议的基本应用。 二、实验器材 51…

AI中药处方模型构建与案例

在中医领域,人工智能(AI)可以生成各种指令来辅助诊断、治疗和研究。 1. 诊断辅助指令: 根据患者的症状和体征,自动分析并生成可能的中医证候诊断建议。利用中医望闻问切四诊信息,智能识别关键症状,提供对应的中医辨证思路。2. 治疗建议指令: 根据辨证结果,自动推荐相应…

JVM专题之垃圾收集算法

标记清除算法 第一步:标记 (找出内存中需要回收的对象,并且把它们标记出来) 第二步:清除 (清除掉被标记需要回收的对象,释放出对应的内存空间) 缺点: 标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行过程中需 要分配较大对象时,无法找到…

Python代码设置Excel工作表背景色或背景图

Excel是工作中数据处理和分析数据的重要工具。面对海量的数据和复杂的表格&#xff0c;如何提高工作效率、减少视觉疲劳并提升数据的可读性是不容忽视的问题。而给工作表设置合适的背景是表格优化的一个有效方式。为Excel工作表设置背景色或背景图不仅能够美化工作表&#xff0…

chrome 谷歌浏览器插件打包

1、找到id对应的字符串去搜索 C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data\Default\Extensions2、选择根目录 直接加载下面的路径扩展可用&#xff1a;

AI绘画Stable Diffusion【图生图教程】:图片高清修复的三种方案详解,你一定能用上!(附资料)

大家好&#xff0c;我是画画的小强 今天给大家分享一下用AI绘画Stable Diffusion 进行 高清修复&#xff08;Hi-Res Fix&#xff09;&#xff0c;这是用于提升图像分辨率和细节的技术。在生成图像时&#xff0c;初始的低分辨率图像会通过放大算法和细节增强技术被转换为高分辨…

qt 如何添加子项目

首先我们正常流程创建一个项目文件&#xff1a; 这是我已经创建好的&#xff0c;请无视红线 然后找到该项目的文件夹&#xff0c;在文件夹下创建一个文件夹&#xff0c;再到创建好的文件夹下面创建一个 .pri 文件&#xff1a; &#xff08;创建文件夹&#xff09; &#xff08…

中国石油大学(华东)24计算机考研数据速览,计科学硕复试线288分!

中国石油大学&#xff08;华东&#xff09;计算机与通信工程学院是中国石油大学(华东)十三个教学院部之一&#xff0c;其前身是创建于1984年的计算机科学系&#xff0c;2001年撤系建院。伴随着学校50多年的风雨历程&#xff0c;计算机与通信工程学院也已经有了20多年的发展历史…

Python【打包exe文件两步到位】

Python打包Exe 安装 pyinstaller&#xff08;pip install pyinstaller&#xff09; 执行打包命令&#xff08;pyinstaller demo.py&#xff09; 打完包会生成 dist 文件夹&#xff0c;如下如

04.ffmpeg打印音视频媒体信息

目录 1、相关头文件 2、相关结构体 3、相关函数 4、函数详解 5、源码附上 1、相关头文件 #include <libavformat/avformat.h> 包含格式相关的函数和数据结构 #include <libavutil/avutil.h> 包含一些通用实用函数 2、相关结构体 AV…

【代码管理的必备工具:Git的基本概念与操作详解】

一、Git 初识 1.提出问题 不知道你工作或学习时&#xff0c;有没有遇到这样的情况&#xff1a;我们在编写各种⽂档时&#xff0c;为了防止⽂档丢失&#xff0c;更改失误&#xff0c;失误后能恢复到原来的版本&#xff0c;不得不复制出⼀个副本&#xff0c;比如&#xff1a; “…

多元微分学中可微、连续、存在问题

一、偏导存在 与一元证明相同&#xff0c;利用偏导定义式&#xff0c;证明偏导数左右极限存在且相同。 二、偏导连续 与一元证明相同&#xff0c;证明 三、极限存在 1、找一条路径&#xff0c;一般地找 y kx 2、代入f(x,y)&#xff0c;得f(x,kx) 3、证明f(x,kx)极限存在 注意&…

基于SpringBoot的休闲娱乐代理售票系统

本系统主要包括管理员和用户两个角色组成&#xff1b;主要包括&#xff1a;首页、个人中心、用户管理、折扣票管理、分类管理、订单信息管理、退票信息管理、出票信息管理、系统管理等功能的管理系统。 &#x1f495;&#x1f495;作者&#xff1a;Weirdo &#x1f495;&#x…

【数据结构】链表带环问题分析及顺序表链表对比分析

【C语言】链表带环问题分析及顺序表链表对比分析 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C语言学习之路 文章目录 【C语言】链表带环问题分析及顺序表链表对比分析前言一.顺序表和链表对比1.1顺序表和链表的区别1.2缓存利用率&#…

隔离级别-隔离级别中的锁协议、隔离级别类型、隔离级别的设置、隔离级别应用

一、引言 1、DBMS除了采用严格的两阶段封锁协议来保证并发事务的可串行化&#xff0c;实现事务的隔离性&#xff0c;也可允许用户选择一个可以保证应用程序正确执行并且能够使并发度最大的隔离性等级 2、通常用隔离级别来描述隔离性等级&#xff0c;以下将主要介绍ANSI 92标准…