# Autoencoder-based anomaly detection for sensor data using MATLAB
[![View Autoencoder-based anomaly detection for sensor data on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/77554-autoencoder-based-anomaly-detection-for-sensor-data)
This demo highlights how one can use a semi-supervised machine learning technique based on autoencoder to detect an anomaly in sensor data (output pressure of a triplex pump). The demo also shows how a trained autoencoder can be deployed on an embedded system through automatic code generation. The advantage of autoencoders is that they can be trained to detect anomalies with data representing normal operation, i.e. you don't need data from failures.
# Autoencoder basics
Autoencoders are based on neural networks, and the network consists of two parts: an encoder and a decoder. Encoder compresses the N-dimensional input (e.g. a frame of sensor data) into an x-dimensional code (where x < N), which contains most of the information carried in the input, but with fewer data. Hence, the encoder is somewhat similar to principal component analysis, but autoencoders can capture non-linear relationships. The decoder, on the other hand, tries to regenerate the input from the lower-dimensional code or latent representation.
The way one can use trained autoencoders for anomaly detection is that in normal conditions, when normal data is fed into the network, the network can regenerate the input, and the error between the input and output is small. When data containing anomalies is fed into the network, the network fails to regenerate the input, and the error becomes larger.
![Autoencoder schema](https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Autoencoder_schema.png/220px-Autoencoder_schema.png)
# How to run
Open the AnomalyDetectionDemo.mlx in MATLAB
# Toolboxes required
This demo uses Deep Learning toolbox to train the model. To generate C code from the trained model, you need MATLAB Coder toolbox.
没有合适的资源?快使用搜索试试~ 我知道了~
基于自动编码器的异常检测三缸泵的输出压力(使用 MATLAB 对传感器数据进行基于自动编码器的异常检测)
共8个文件
m:3个
mlx:2个
pdf:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 125 浏览量
2023-09-26
09:43:05
上传
评论
收藏 570KB ZIP 举报
温馨提示
该演示重点介绍了如何使用基于自动编码器的半监督机器学习技术来检测传感器数据中的异常(三缸泵的输出压力)。该演示还展示了如何通过自动代码生成将经过训练的自动编码器部署在嵌入式系统上。自动编码器的优点是可以训练它们用代表正常操作的数据检测异常,即您不需要来自故障的数据。 # 自动编码器基础 自编码器基于神经网络,网络由编码器和解码器两部分组成。编码器将 N 维输入(例如一帧传感器数据)压缩为 x 维代码(其中 x < N),其中包含输入中携带的大部分信息,但数据较少。因此,编码器有点类似于主成
资源推荐
资源详情
资源评论
收起资源包目录
MATLABR2020a基于自动编码器的传感器数据异常检测.zip (8个子文件)
MATLABR2020a基于自动编码器的传感器数据异常检测
runDetection.m 1KB
generateSubseq.m 635B
autoencoder_data.mat 111KB
detectAnomalies.mlx 3KB
anomalyDetectorFunc.m 149KB
AnomalyDetectionDemo.pdf 180KB
AnomalyDetectionDemo.mlx 222KB
README.md 2KB
共 8 条
- 1
资源评论
小风飞子
- 粉丝: 332
- 资源: 1521
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功