我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

本节内容综述

  1. 本节课由助教林政豪讲解,日期为5月21日。
  2. 首先复习了经典的做法,用一个 Classifier 分类,并且得到信心分数 Confidence score ;接着复习了 Gaussian Mixture Model 与 Auto-Encoder 。
  3. 介绍了 PCA 的去异方法。
  4. 简单介绍了 孤立森林 。孤立森林的使用我很熟悉,这是我两年前(大三上学期转大三下学期)第一次实战机器学习的由头,也是我抛弃 matlab 正式使用 python 的原因。这对我意义非凡。
  5. 进入图片部分,助教首先带我们复习了三种典型的 GANs :Typical GAN、Conditional GAN、Unsupervised Conditional GAN 。介绍了 Typical GANs 的异常检测方法。
  6. 简单提到了 BiGAN 。
  7. 介绍了 AnoGAN 。但是 AnoGAN 存在每次检测都需要优化 z ,这让其运行成本大。因此,有人提出 EGBAD 。
  8. 此外,还有更进一步的方法,GANomaly。
  9. 介绍了 Evaluation Metric ,TPR、FPR等。
  10. 最后,介绍了用于语音的 Gaussian Mixture GAN (GMGAN)。

文章目录

  • 本节内容综述
  • 小细节
    • Outline
    • PCA
    • Isolation Forest
    • Typical GANs
    • BiGAN
    • AnoGAN
    • Efficient GAN-Based Anomaly Detection, EGBAD
    • GANomaly
    • Evaluation Metric
    • Gaussian Mixture GAN (GMGAN)

小细节

Outline

What is Anomaly Detection

Classic Method

  • With Classifier
  • GMM (Gaussian Mixture Model)
  • Auto-Encoder
  • PCA
  • Isolation Forest
  • Summary

Anomaly Detection on image

  • AnoGAN
  • EGBAD
  • GANomaly
  • Summary

Anomaly Detection on Audio

  • GMGAN

PCA


如上,使用 PCA将数据降维。

如上,使用 sklearn 的方法对信用卡数据降维。

如上,将其降为 2 维后,效果并不好,异常点与正常点分的并不开。

如上,进行一些处理。

如上,使用 27 维比 30 维异常检测效果更好。

Isolation Forest


如上,使用孤立森林,“一步一步地”将各个点分开。层数越深,越正常(处于密度越大地地区)。

Typical GANs


Typical GAN 是由向量生成图片的 GANs 。

Conditional GAN 可以根据不同的“条件”生成图片。

Unsupervised Conditional GAN 可以自动完成类似“风格迁移”的工作。

BiGAN


如上,基于 Typical GANs 的结构,有一种 BiGAN 的结构。下面将进行讨论。

如上,可以用于机场安检。

AnoGAN


如上,只需要正常的样本来训练 AnoGAN 。

如上,让 G(z) 生成的 x’ ,让 D() 觉得 x’ 接近于 x,如果不能接近 x ,则说明是异常点。

Efficient GAN-Based Anomaly Detection, EGBAD

如上,与其 AnoGAN 每次都优化 z ,不如:看真数据与其产生的 z’ 以及 z 及其产生的假数据 输入到判别器里,看其产生的 Loss 。

GANomaly


如上,GANomaly 又多加了一层 Encoder ,这样,直接将编码后的两者在辨别器中进行比较。

Evaluation Metric


如上,可以由 FPR 、TPR 绘制 ROC 曲线。

Gaussian Mixture GAN (GMGAN)


上图左边是常用的 Loss ,然而这个 GMGAN 使用的 Loss 如下。

如上,首先计算 α^k\hat{\alpha}_kα^k​、u^k\hat{u}_ku^k​、Σ^k\hat{\Sigma}_kΣ^k​,当成高斯中的统计参数。

接着,进行类似高斯分布的极大似然拟合。

如上,中间插入一段异常声音,通过时间滑窗获取数据,输入 GAN 会将其识别。

【李宏毅2020 ML/DL】P73 More about Anomaly Detection相关推荐

  1. 【李宏毅2020 ML/DL】P1 introduction

    [李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...

  2. 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...

  3. 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  4. 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  5. 【李宏毅2020 ML/DL】P15 Why Deep-

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  6. 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  7. 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM

    李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...

  8. 【李宏毅2020 ML/DL】P67-72 Anomaly Detection

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本系列课程第 5 节有缺失,我已找到补充视频,见[ 李宏毅机器学习:异常检测 ]Anomaly Detecti ...

  9. 【李宏毅2020 ML/DL】P35-42 Attack ML Models

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

最新文章

  1. 使用 Xtrabackup 在线对MySQL做主从复制
  2. python packages_Python-Packages
  3. Python(4):条件控制
  4. 第八十四期: Java、Web 和移动程序员学习的 12 个框架
  5. 小程序和android联调,小程序打开APP指定页面
  6. java # 折叠_如何在Java中实现列表折叠
  7. git由于网络原因导致 please make sure you have the correct access rights and the repository exists
  8. 方差、标准差(均方差),均方误差、均方根误差
  9. java 基础知识3
  10. java中判斷主鍵重複
  11. 时间序列分析——自回归移动平均(ARMA)模型
  12. 第一章 WEB应用程序开发流程
  13. 测试打印机性能的软件,打印性能测试(一)
  14. WinDbg分析蓝屏dump原因
  15. 安装服务器系统驱动加载不成功,安装windows server系统提示“无法在此驱动器上安装windows”的解决办法...
  16. 五种IO模型简介以及IO多路转接之select
  17. 解耦原子范数最小化(Decoupled Atomic Norm Minimization)
  18. 物联网毕业设计 - 物联网毕设项目分享 有趣的毕设项目(单片机 嵌入式 物联网 stm32)
  19. 8.局部变量、成员变量、jvm垃圾回收机制 、封装、this关键字、匿名对象
  20. API集成测试问题2:Expected status code 200 but received 500. Failed asserting that false is true.

热门文章

  1. php 瓶颈,追踪php代码性能瓶颈
  2. Jenkins+maven+SVN构建java项目中遇到的问题及解决
  3. eclipse 中提示tomcat 的端口被占用了 后的最快捷解决方法
  4. 如何从数据框的单元格获取值?
  5. Python中的目录树列表
  6. java中值滤波_Java实现图像中值滤波
  7. win11如何登陆本地用户 windows11登陆本地用户的步骤方法
  8. 还原python源码_python 的混淆后的代码可以还原么
  9. c语言以空格分割字符串,C语言程序要读入一行文本,以空格分隔若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。...
  10. postgre管理员 无法访问表_PostgreSQL常见问题处理方法