【李宏毅2020 ML/DL】P73 More about Anomaly Detection
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。
本节内容综述
- 本节课由助教
林政豪
讲解,日期为5月21日。 - 首先复习了经典的做法,用一个 Classifier 分类,并且得到信心分数 Confidence score ;接着复习了 Gaussian Mixture Model 与 Auto-Encoder 。
- 介绍了 PCA 的去异方法。
- 简单介绍了 孤立森林 。
孤立森林
的使用我很熟悉,这是我两年前(大三上学期转大三下学期)第一次实战机器学习的由头,也是我抛弃 matlab 正式使用 python 的原因。这对我意义非凡。 - 进入图片部分,助教首先带我们复习了三种典型的 GANs :Typical GAN、Conditional GAN、Unsupervised Conditional GAN 。介绍了 Typical GANs 的异常检测方法。
- 简单提到了 BiGAN 。
- 介绍了 AnoGAN 。但是 AnoGAN 存在每次检测都需要优化 z ,这让其运行成本大。因此,有人提出 EGBAD 。
- 此外,还有更进一步的方法,GANomaly。
- 介绍了 Evaluation Metric ,TPR、FPR等。
- 最后,介绍了用于语音的 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相关推荐
- 【李宏毅2020 ML/DL】P1 introduction
[李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...
- 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...
- 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P15 Why Deep-
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM
李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...
- 【李宏毅2020 ML/DL】P67-72 Anomaly Detection
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本系列课程第 5 节有缺失,我已找到补充视频,见[ 李宏毅机器学习:异常检测 ]Anomaly Detecti ...
- 【李宏毅2020 ML/DL】P35-42 Attack ML Models
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
最新文章
- 使用 Xtrabackup 在线对MySQL做主从复制
- python packages_Python-Packages
- Python(4):条件控制
- 第八十四期: Java、Web 和移动程序员学习的 12 个框架
- 小程序和android联调,小程序打开APP指定页面
- java # 折叠_如何在Java中实现列表折叠
- git由于网络原因导致 please make sure you have the correct access rights and the repository exists
- 方差、标准差(均方差),均方误差、均方根误差
- java 基础知识3
- java中判斷主鍵重複
- 时间序列分析——自回归移动平均(ARMA)模型
- 第一章 WEB应用程序开发流程
- 测试打印机性能的软件,打印性能测试(一)
- WinDbg分析蓝屏dump原因
- 安装服务器系统驱动加载不成功,安装windows server系统提示“无法在此驱动器上安装windows”的解决办法...
- 五种IO模型简介以及IO多路转接之select
- 解耦原子范数最小化(Decoupled Atomic Norm Minimization)
- 物联网毕业设计 - 物联网毕设项目分享 有趣的毕设项目(单片机 嵌入式 物联网 stm32)
- 8.局部变量、成员变量、jvm垃圾回收机制 、封装、this关键字、匿名对象
- API集成测试问题2:Expected status code 200 but received 500. Failed asserting that false is true.
热门文章
- php 瓶颈,追踪php代码性能瓶颈
- Jenkins+maven+SVN构建java项目中遇到的问题及解决
- eclipse 中提示tomcat 的端口被占用了 后的最快捷解决方法
- 如何从数据框的单元格获取值?
- Python中的目录树列表
- java中值滤波_Java实现图像中值滤波
- win11如何登陆本地用户 windows11登陆本地用户的步骤方法
- 还原python源码_python 的混淆后的代码可以还原么
- c语言以空格分割字符串,C语言程序要读入一行文本,以空格分隔若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。...
- postgre管理员 无法访问表_PostgreSQL常见问题处理方法