Fork me on GitHub

机器学习系列文章-异常检测算法(VAE)

目录

  • 背景
  • 第一部分 Spark内存管理详解
  • 第二部分 Spark参数说明
  • 第三部分 Spark内存优化
  • 第四部分 常见线上问题解决
  • 参考文献及资料

背景

对于学习一个知识,例如画画临摹,如何顶一个度量来检验学习效果呢?现实中我们会让学习者去实际画一幅相同的画作,然后和原画进行对比。其中的哲学原理就是:你学会一门知识后,你就会独立创造。

同理在机器学习中同样借鉴这个哲学思想,其实就是生成模型(generative models),其中两类代表性的模型就是:GAN()和VAEs()

https://www.cnblogs.com/asawang/p/10407551.html

年份 事件 相关论文
2013 Diederik P.Kingma和Max Welling首次提出变分自编码器 Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114.
2016 Doersch, C.对变分自编码器更加简化的介绍给读者 Doersch, C. (2016). Tutorial on variational autoencoders. arXiv preprint arXiv:1606.05908.
2016 Sønderby, C. K., Raiko, T.,提出Ladder variational autoencoders Sønderby, C. K., Raiko, T., Maaløe, L., Sønderby, S. K., & Winther, O. (2016). Ladder variational autoencoders. In Advances in neural information

第一部分 自编码器(AutoEncoder)

降噪

我们先来考虑一下能否用AutoEncoder进行KPI异常检测,以及它有什么缺点。因为AutoEncoder具有降噪的功能,那它理论上也有过滤异常点的能力,因此我们可以考虑是否可以用AutoEncoder对原始输入进行重构,将重构后的结果与原始输入进行对比,在某些点上相差特别大的话,我们可以认为原始输入在这个时间点上是一个异常点。

第二部分 变分自编码器(Variational AutoEncoder)

本篇博客。

AutoEncoder主要用于数据的降维和特征的提取。而现在也被扩展用于生成模型。

与其他神经网路(通常关注于输出层)不同的是:AutoEncoder主要关注于中间的隐藏层(Hidden Layer)。

1、AutoEncoder(自编码器)

​ 原始数据映射到原数据,通过压缩来提取数据的特征。如果将激活函数换成线性函数,这是一个PCA模型。

2、Sparse AutoEncoder(稀疏自编码器)

3、Denoising AutoEncoder(降噪自编码器)

4、Stacked AutoEncoder(堆叠自编码器,SAE)

4、Variational AutoEncoder(VAE)

代码实现:

https://github.com/Michedev/VAE_anomaly_detection

0%