2020李宏毅学习笔记——51.Anomaly Detection(1_7)

Anomaly Detection:异常侦测
就是要机器知道它不知道这件事情。

1.Problem Formulation

2020李宏毅学习笔记——51.Anomaly Detection(1_7)
机器学习的角度来看,实际上是要机器去找一个function(蓝色框框)2020李宏毅学习笔记——51.Anomaly Detection(1_7)
anomaly是找与训练资料不一样的东西并不是不好的东西。
Anomaly Detection不一定是找不好的东西,例如novelty是找出新颖的对象。

1.1 什么叫做异常?,到底机器看到什么,说异常类,取决于数据,例如:
2020李宏毅学习笔记——51.Anomaly Detection(1_7)

2.异常侦测的应用

• Fraud Detection :盜刷
Training data: 正常刷卡行為, ????: 盜刷?短期内连续非常高

• Network Intrusion Detection
Training data: 正常連線, ????: 攻擊行為?

• Cancer Detection
Training data: 正常細胞, ????: 癌細胞

3.如何做Anomaly Detection

思路1看做二分类的方法来弄。
Given normal data2020李宏毅学习笔记——51.Anomaly Detection(1_7)
Given anomaly
2020李宏毅学习笔记——51.Anomaly Detection(1_7)
Then training a binary classifier
训练成两类,就这样结束?
不可以这样玩,例如:正常的数据x是宝可梦:
2020李宏毅学习笔记——51.Anomaly Detection(1_7)
那么异常的数据x˜ 是除了宝可梦之外的一切事物:2020李宏毅学习笔记——51.Anomaly Detection(1_7)
神奇宝贝、凉宫春日、茶壶。。。。这些东西cannot be considered as a class.
原因:
1、无法穷举非宝可梦的对象,无法把异常视为一个类别。
2、很难收集到anomaly 的数据。Even worse, in some cases, it is difficult to find anomaly example ……正常反而容易
看来二分类不行,那么Anomaly Detection有几种?

这样吧,先Categories,分类一下。
第一种:称为:Open-set Recognition,能够辨识出没有看过的东西,每一个训练数据都有对应的标签,那么我们可以训练一个Classifier(可以用NN,也可以用线性分类器),这个Classifier训练好后,如果看到训练数据中不存在的数据,那么可以为其打上【unknown】的标签。
第二种:只有训练数据,没有标签。这里又分两种情况:

All the training data is normal.所有数据都是正常数据。
A little bit of training data is anomaly. 有一些数据是异常数据。
2020李宏毅学习笔记——51.Anomaly Detection(1_7)