基于自编码器的时间序列异常检测方法(以传感器数据为例,MATLAB R2021b)

尽管近年来研究者对自编码器及其改进算法进行了深入研究,但现阶段仍存在以下问题亟须解决。

1) 无监督学习模式对特征提取能力的限制与有监督学习相比,无监督学习模式摆脱了对样本标签的依赖、避免了人工标注的困难,但也因此失去了样本标签的辅助,标签信息难以有效应用于特征提取中,使自编码器性能与有监督学习存在一定差距。因此,研究半监督或有监督条件下的自编码器,合理运用标签信息提升自编码器特征提取能力,是一个需要重点关注与解决的问题。针对此问题,一方面可以通过在自编码器输入层或输出层中直接添加样本标签,同时重构输入样本及其标签,强迫自编码器在编码与解码过程中考虑到标签损失,使提取的特征更加符合不同样本的类本质。另一方面,可以通过在损失函数上添加暗含标签信息的类内离散度或类间离散度正则化项,在最小化损失函数的过程中,减少抽象特征的类内距离,增加类间距离,增强抽象特征的类可区分性,提升自编码器的特征提取能力,使抽象特征更适用于分类任务。

2) 硬件要求高,训练时间长

复杂的网络结构依赖大量的训练样本,以自编码器为代表的深度学习模型具有较高的时空复杂度,需要消耗巨大的计算与存储资源,这对硬件设备提出了更高要求,往往导致训练时间过长。针对此问题,一方面可以将模型压缩技术应用于自编码器中,采用剪枝算法剔除冗余节点或通道,实现网络结构的精简,或对权值进行稀疏化,抑制部分神经节点,完成对网络参数的压缩。另一方面可以研究轻量化自编码器算法,借鉴ELM-AE算法,对自编码器的训练方式进行改进,减少参数迭代微调次数,提升算法训练效率。此外,还可以通过研究分布式优化算法来降低模型的计算复杂度,或研究并行计算方法以充分利用现有计算资源。这些方法有助于降低自编码器的结构复杂度,降低软硬件要求,减少训练时间。

3) 随机初始化引入额外噪声

目前,绝大多数自编码器及其改进算法对网络参数均采用随机初始化,这不可避免地引入了额外噪声,影响算法的收敛速度与泛化性能。因此,如何有效地进行网络初始化是一个值得深入研究的问题。针对此问题,一方面可以通过在损失函数中添加 L1 或 L2 范数正则化项,以降低随机初始化导致的噪声影响,另一方面可以采用Glorot 初始化方法、He初始化方法等其他改进初始化方法,在缓解噪声影响的同时,使自编码器的训练过程更加稳定,避免出现梯度消失或爆炸现象。

4) 难以适应小样本条件,易产生过拟合

自编码器及其深度结构由于模型结构复杂,需要大量样本进行训练,在小样本条件下训练自编码器极易产生过拟合,进而降低模型泛化性能。因此小样本条件已成为制约自编码器应用的关键因素。

鉴于此,采用普通的自编码器对传感器时间序列数据进行异常检测,运行环境为MATLAB R2021B。

% Loop through data points (the anomaly occurs somewhere around 1350)
for i = 1000:1500
   
    % Take a frame of data
    data = faultydata(i:i+99);
    
    % Predict with autoencoder
    yhat = predict(autoenc,data);
    
    % Calculate error
    losses = [losses;sqrt(sum((yhat - data).^2))];
    
    % After first frame, only add one data point to the plot
    if j > 1
        yhat = yhat(end);
        data = data(end);
    end
    
    % Update data to be plotted
    dataall = [dataall;[data yhat]];
    
    % Plot
    p1(1).XData = 1:size(dataall,1);p1(2).LineWidth = 1.5;
    p1(2).XData = 1:size(dataall,1);
    p1(1).YData = dataall(:,1);p2.LineWidth = 1.5;
    p1(2).YData = dataall(:,2);
   
    p2.XData = 1:length(losses);
    p2.YData = losses;
    pause(0.005)
    j = j+1;
end

图片

图片

图片

图片

  • 擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。
    完整数据和代码通过知乎学术咨询获得:https://www.zhihu.com/consult/people/792359672131756032?isMe=1

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3+vite搭建第一个cesium项目详细步骤及环境配置(附源码)

文章目录 1.创建vuevite项目2.安装 Cesium2.1 安装cesium2.2 安装vite-plugin-cesium插件(非必选)2.3 新建组件页面map.vue2.4 加载地图 3.完成效果图 1.创建vuevite项目 打开cmd窗口执行以下命令:cesium-vue-app是你的项目名称 npm create…

Zkeys三方登录模块支持QQ、支付宝登录

1,覆盖到根目录,并导入update.sql数据库文件到Zkeys数据库里 2. 后台系统权限管理,配置管理员权限-系统类别-找到云外科技,全部打勾 3,后台系统设置找到云外快捷登录模块填写相应的插件授权配置和登录权限配置&#x…

【wordpress教程】wordpress博客网站添加非法关键词拦截

有的网站经常被恶意搜索,站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢?下面就随小编一起来解决这个问题吧。 后台设置预览图: 设置教程: 1、把以下代码添加至当前主题的 functions.php 文件中: add_action(admi…

Arcgis Api 三维聚合支持最新版API

Arcgis Api 三维聚合支持最新版API 最近有同学问我Arcgis api 三维聚合,官方还不支持三维聚合API,二维可以。所以依旧是通过GraphicLayers 类来实现,可支持最新Arcgis Api版本 效果图:

简单且循序渐进地查找软件中Bug的实用方法

“Bug”这个词常常让许多开发者感到头疼。即使是经验丰富、技术娴熟的开发人员在开发过程中也难以避免遭遇到 Bug。 软件中的故障会让程序员感到挫败。我相信在你的软件开发生涯中,也曾遇到过一些难以排查的问题。软件中的错误可能会导致项目无法按时交付。因此&…

初识STM32:芯片基本信息

STM32简介 STM32是ST公司基于ARM公司的Cortex-M内核开发的32位微控制器。 ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构。 ST公司于1987年由意大利的SGS微电子与法国的Thomson半导体合并…

linux软链接和硬链接的区别

1 创建软链接和硬链接 如下图所示,一开始有两个文件soft和hard。使用 ln -s soft soft1创建软链接,soft1是soft的软链接;使用ln hard hard1创建硬链接,hard1是hard的硬链接。可以看到软链接的文件类型和其它3个文件的文件类型是不…

从“移花接木”到“提质增效”——详解嫁接打印技术

嫁接打印,是融合了3D打印与传统制造精髓的创新技术,其核心在于,通过巧妙地将传统模具加工与先进的3D打印技术相结合,实现了模具制造的“提质、增效、降本”。 嫁接打印的定义 简而言之,嫁接打印是一种增减材混合制造的…

uniapp报错--app.json: 在项目根目录未找到 app.json

【问题】 刚创建好的uni-app项目,运行微信小程序控制台报错如下: 【解决方案】 1. 程序根目录打开project.config.json文件 2. 配置miniprogramRoot,指定小程序代码的根目录 我的小程序代码编译后的工程文件目录为:dist/dev/mp…

阿里云Elasticsearch-趣味体验

阿里云Elasticsearch-趣味体验 什么是阿里云Elasticsearch阿里云Elasticsearch开通服务查看Elasticsearch实例配置Kibana公网IP登录Elasticsearch添加测试数据 Kibana数据分析查看数据字段筛选数据页面条件筛选KQL语法筛选保存搜索语句导出筛选结果指定列表展示字段写在最后 什…

multisim中关于74ls192n和DSWPK开关仿真图分析(减法计数器)

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

DAMA学习笔记(四)-数据建模与设计

1.引言 数据建模是发现、分析和确定数据需求的过程,用一种称为数据模型的精确形式表示和传递这些数据需求。建模过程中要求组织发现并记录数据组合的方式。数据常见的模式: 关系模式、多维模式、面向对象模式、 事实模式、时间序列模式和NoSQL模式。按照描述详细程度…

实现资产优化管理:智慧校园资产分类功能解析

在构建智慧校园的过程中,细致入微的资产管理是确保教育资源高效运作的关键一环,而资产分类功能则扮演着举足轻重的角色。系统通过精心设计的分类体系,将校园内的各类资产,从昂贵的教学设备到日常使用的办公物资,乃至无…

S32DS S32 Design Studio for S32 Platform 3.5 代码显示行号与空白符

介绍 NXP S32DS,全称 S32 Design Studio,s32 系列芯片默认使用 S32 Design Studio for S32 Platform 作为 IDE 集成开发环境,当前版本 S32 Design Studio for S32 Platform 3.5,IDE 可以简称 s32DS 使用 S32DS,可以认…

数据结构算法-排序(一)-冒泡排序

什么是冒泡排序 冒泡排序:在原数组中通过相邻两项元素的比较,交换而完成的排序算法。 算法核心 数组中相邻两项比较、交换。 算法复杂度 时间复杂度 实现一次排序找到最大值需要遍历 n-1次(n为数组长度) 需要这样的排序 n-1次。 需要 (n-1) * (n-1) —…

240706_昇思学习打卡-Day18-基于MindSpore的GPT2文本摘要

240706_昇思学习打卡-Day18-基于MindSpore的GPT2文本摘要 今天做一个根据一段文章提取摘要的提取器,基于nlpcc2017摘要数据,内容为新闻正文及其摘要,就是训练集及标签。 首先我们来预装以下MindSpore环境 %%capture captured_output # 实验…

昇思MindSpore学习笔记4-05生成式--Pix2Pix实现图像转换

摘要: 记录昇思MindSpore AI框架使用Pix2Pix模型生成图像、判断图像真实概率的原理和实际使用方法、步骤。包括环境准备、下载数据集、数据加载和处理、创建cGAN神经网络生成器和判别器、模型训练、模型推理等。 一、概念 1.Pix2Pix模型 条件生成对抗网络&#x…

IDEA常用技巧荟萃:精通开发利器的艺术

1 概述 在现代软件开发的快节奏环境中,掌握一款高效且功能全面的集成开发环境(IDE)是提升个人和团队生产力的关键。IntelliJ IDEA,作为Java开发者的首选工具之一,不仅提供了丰富的编码辅助功能,还拥有高度可定制的界面和强大的插件生态系统。然而,要充分发挥其潜力,深…

求职成功率的算法,与葫芦娃救爷爷的算法,有哪些相同与不同

1 本节概述 通过在B站百刷葫芦娃这部儿时剧,我觉得可以从中梳理出一些算法,甚至可以用于求职这个场景。所以,大家可以随便问我葫芦娃的一些剧情和感悟,我都可以做一些回答。 2 葫芦娃救爷爷有哪些算法可言? 我们知道…

使用Python实现CartPole游戏

在深度强化学习内容的介绍中,提出了CartPole游戏进行深度强化学习,现在提供一种用Python简单实现Cart Pole游戏的方法。 1. 游戏介绍 CartPole 游戏是一个经典的强化学习问题,其中有一个小车(cart)和一个杆&#xff…