Anomaly detection(异常侦测)
让机器可以知道我不知道这件事情
Problem Formulation
定义一个函数侦测输入的数据集x和训练集的相似度
不一定detect不好的东西,只是找和训练资料不一样的东西。
Different approaches use different ways to determine the similarity
What is Anomaly?
取决于你提供给机器的训练资料
Applications
- Fraud Detection training data:正常刷卡,x:盗刷
- Network Intrusion Detection training data:正常联系,x:攻击行为?
- Cancer Detection Training data:正常细胞,x:癌细胞
Binary classification?
Train a binary classifier
并没有那么简单,很难把异常侦测视为普通的二分类问题
不属于训练集的数据太多了,无法把这些异常的资料都定义为一个class,异常的资料变化太大了,很难collect 异常的data。
Categories
有label的:
利用labeled data训练出一个classifier
所有的label里都没有unknown,但希望classifier对于x不在training data里的输出一个unknown类别。
叫做open-set recognition
没有label的:
- clean:所有的训练集都是normal
- polluted:有一些训练集的数据是异常的
Case 1:with classifier
每一个training data的x都有一个label值
how to use the classifier
不止做分类,还会output一个信心分数 C
当信心分数小于threshold时,该输入x可当作一个异常点