异常侦测
a set of training data x1 , x2 , ⋯ , xN
找到一个function detecting x是否是异常的数据
• Fraud Detection 银行盗刷检测
• Training data: 正常刷卡行為, x: 盜刷?
• Ref: https://www.kaggle.com/ntnu-testimon/paysim1/home
• Ref: https://www.kaggle.com/mlg-ulb/creditcardfraud/home
• Network Intrusion Detection 网络入侵检测
• Training data: 正常連線, x: 攻擊行為?
• Ref: http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html
• Cancer Detection
• Training data: 正常細胞, x: 癌細胞
• Ref: https://www.kaggle.com/uciml/breast-cancer-wisconsin-data/home
example,
给辛普森家族任务分类,y1 =霸子 y2 =麗莎 y3 = 荷馬 y4 = 美枝
输出, class y 的类别和 信心分数 c。
信心分数越高越确定, 如果信心分数对每个lable比较平均, 说明x异常
Outlook: Network for Confidence Estimation
Learning a network that can directly output confidence
Detection in Neural Networks, arXiv, 2018
如下面的例子, 100张辛普森图片和5张其他动漫人物图片进行分类。
魔法少女的某个label的信心分数0.998, 也有某些辛普森图片的confidence 特别低。
λ=0.5 | λ=0.8 |
λ的值不同, 检测到正确的异常, 和检测错误普通图片的个数变化。
如何评估系统的好坏呢?
看用户看中异常数据的未被检测出来的权重, 还是检测错普通数据的权重。
其他评估方法
Some evaluation metrics consider the ranking
For example, Area under ROC curve
To Learn More …
• Learn a classifier giving low confidence score to anomaly
Kimin Lee, Honglak Lee, Kibok Lee, Jinwoo Shin, Training Confidence-
calibrated Classifiers for Detecting Out-of-Distribution Samples, ICLR 2018
• How can you obtain anomaly?
Generating by Generative Models?
Mark Kliger, Shachar Fleishman, Novelty Detection with GAN, arXiv, 2018
对于只有training data ,没有label 的情况。里面可能隐藏异常数据。
例子, Twitch Plays Pokémon 多人同时操作同一个宝可梦的游戏
以下每个人考察2个属性的概率, 在二维平面上显示。
下面方法用高斯分布来分析。
μ,Σ 就是 θ, 作为fθ(x)的参数。 求 θ, 满足likelihood 最大。f(x) 均值最大
可以加入其他更多属性, 求f(x)
Auto-encoder
数据集图片编码然后解码, training data 还是可以被识别。
如果是anomaly 图片, 解码后无法生成原图片。
One-class SVM | Isolated Forest |
---|---|
Ref: https://papers.nips.cc/paper/1723-support-vector-method-for-novelty-detection.pdf | Ref:https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf |