Autoencoder异常检测笔记

Autoencoder异常检测笔记

  • 1.autoencoder简介
  • 2.autoencoder无监督异常检测
  • 3.异常分类
    • 3.1 点异常:
    • 3.2上下文异常:
    • 3.3集体异常:

1.autoencoder简介

Autoencoder算法是一种常见的基于神经网络的无监督学习降维方法。中文称作自编码器。本质上它使用了一个神经网络来产生一个高维输入的低维表示。

Autoencoder包含两个主要的部分,encoder(编码器)和 decoder(解码器)。Encoder的作用是用来发现给定数据的压缩表示,decoder是用来重建原始输入。在训练时,decoder 强迫 autoencoder 选择最有信息量的特征,最终保存在压缩表示中。最终压缩后的表示就在中间的coder层当中。
Autoencoder异常检测笔记_第1张图片
以上图为例,原始数据是4维,encoder和decoder分别有一层,中间的coder有三个节点,也就是说原始数据由四维降到了三维。decoder根据降维后的数据再重建原始数据,重新得到4维的输出。从输入到输出的这个过程中,autoencoder实际上也起到了降噪的作用。

2.autoencoder无监督异常检测

异常检测(anomaly detection)通常分为有监督和无监督两种情形。在无监督的情况下,我们没有异常样本用来学习,算法的基本思路是异常点服从不同的分布。根据正常数据训练出来的autoencoder,能够将正常的样本重建还原,但是却无法将异于正常分布的数据点较好还原,导致还原误差较大。
如果样本的特征都是数值变量,我们可以通过MSE或者MAE作为还原误差。当还原误差大于某个阈值,将其标记为异常值。

3.异常分类

异常可以大致归类为:

3.1 点异常:

如果单个数据与其余实例相距太远,则该样本异常。

3.2上下文异常:

异常是特定于上下文的。这种类型的异常在时序数据中很常见。比如:在节日期间每天在食物上花费$ 100是正常的(节假日庆祝吃得多你懂得),但在正常日期下突然花费这么高昂很奇怪。

3.3集体异常:

一组数据样本共同有助于检测异常。比如:某人试图将数据从远程计算机意外复制到本地主机,这种异常会被标记为潜在的网络攻击。

Autoencoder异常检测笔记_第2张图片

你可能感兴趣的:(异常检测,深度学习)