Autoencoder异常检测 - Paddle2.0实现时序数据异常检测

Autoencoder异常检测 - Paddle2.0实现时序数据异常检测

Autoencoder异常检测 - Paddle2.0实现时序数据异常检测

Autoencoder算法是一种常见的基于神经网络的无监督学习降维方法。

1.Autoencoder简介

Autoencoder,中文称作自编码器,是一种无监督式学习模型。本质上它使用了一个神经网络来产生一个高维输入的低维表示。Autoencoder与主成分分析PCA类似,但是Autoencoder在使用非线性激活函数时克服了PCA线性的限制

Autoencoder包含两个主要的部分,**encoder(编码器)**和 decoder(解码器)

  • Encoder的作用是用来发现给定数据的压缩表示
  • decoder是用来重建原始输入

在训练时,decoder 强迫 autoencoder 选择最有信息量的特征,最终保存在压缩表示中。最终压缩后的表示就在中间的coder层当中。

以下图为例,原始数据的维度是10,encoder和decoder分别有两层,中间的coder共有3个节点,也就是说原始数据被降到了只有3维。Decoder根据降维后的数据再重建原始数据,重新得到10维的输出。从Input到Ouptut的这个过程中,autoencoder实际上也起到了降噪的作用。

Autoencoder异常检测 - Paddle2.0实现时序数据异常检测

2.Autoencoder无监督异常检测

异常检测(anomaly detection)通常分为有监督和无监督两种情形。在无监督的情况下,我们没有异常样本用来学习,而算法基本上假设是异常点服从不同的分布。根据正常数据训练出来的Autoencoder,能够将正常样本重建还原,但是却无法将异于正常分布的数据点较好地还原,导致还原误差较大。

如果样本的特征都是数值变量,我们可以用MSE或者MAE作为还原误差。

3.Paddle2.0基于AUTOENCODER实现异常时序检测

  1. 训练数据

Autoencoder异常检测 - Paddle2.0实现时序数据异常检测

  1. 预测数据(红色为检测到的异常数据)

Autoencoder异常检测 - Paddle2.0实现时序数据异常检测

gitee - Paddle2.0基于AUTOENCODER实现异常时序检测

4.参考内容:

利用Autoencoder进行无监督异常检测(Python)

AIStudio - Paddle2.0基于AUTOENCODER实现异常时序检测

上一篇:Jungle Roads


下一篇:(2)如何使用AutoEncoder预测客流量