李宏毅——异常检测anomaly detection

异常检测

问题

已知训练数据
找到一个函数,判断输入x是否与训练数据相似
[外链图片转存失败(img-kcrE5FBh-1568732422742)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p4)]
(anomaly 不一定是不好的,也被称为novelty ,outlier,exceptions detection)

什么是anomaly

取决于训练的数据,与训练数据不同的就是异常的。
[外链图片转存失败(img-wpWvzhYT-1568732422744)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p6)]

应用

fraud detection

训练数据:正常刷卡行为
x:盗刷

network instrusion detection

训练数据:正常连线
x:攻击行为

cancer detection

训练数据:正常细胞
x:癌细胞

如何做异常检测

binary classification?

类1:正常数据
类2:异常数据
不能解决
原因1:异常数据太多,无法穷举
[外链图片转存失败(img-dbYTpkIF-1568732422744)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p7)]
原因2:异常数据不好收集

分类

  • 训练数据有标签,没见过的东西输出unkown(open-set recognition)
    模型是open的,能够对没见过的东西进行判断
  • 训练数据没有标签
    • 干净的数据
    • 数据有脏东西(anomaly)

with label

例子

辛普森一家分类器

方法

使用现成分类器

训练一个分类器,给出每个类别的confidence。
[外链图片转存失败(img-vyCjYFZT-1568732422745)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p8)]
设置一个阈值,大于该阈值是辛普森,小于该阈值是异常。
可行的方法
confidence:给出最大的confidence
entropy:给出乱度,entropy越大说明分布平均,不确定是哪个类别。

训练一个可以直接输出confidence的网络

框架

训练集:辛普森一家的图片,每个图片x有标签y。训练分类器。获得confidence,根据是否超过阈值判断是否为anomaly
验证集(模仿测试集):图片中有辛普森一家的人,也有不是的。
可以通过验证集来计算f(x)的表现,确定超参数的值(比如阈值)
测试集:输入图片x,判断是不是辛普森一家。
[外链图片转存失败(img-BRPTHYay-1568732422745)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p9)]

评估

方式:在dev set上对模型评价
注意:使用正确率不是一个好的指标。因为正负样本的比例悬殊。
一个系统可能正确率很高,但是并没有意义。
False alarm:正常被侦测为异常。
mising:异常被侦测为正常。
一个系统的好与坏,取决于False alarm比较重要,还是mising比较重要。
可以利用cost table来衡量系统的好坏。
[外链图片转存失败(img-EEgDxBSK-1568732422746)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p11)]
比如癌症检测,倾向于cost tableB。
还有一些其他的衡量策略,比如AUC。

直接用分类器可能会遇到的问题

比如一个猫狗分类器
会有比猫更像猫的,比狗更像狗的
[外链图片转存失败(img-zrIuQAxN-1568732422746)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p12)]

辛普森分类器
根据脸黄不黄判断
[外链图片转存失败(img-r8qK5ZeP-1568732422746)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p14)]

解决方法
学习一个异常confidence低的分类器
生成异常数据
[外链图片转存失败(img-hue1oRdm-1568732422747)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p15)]

without labels

例子

twitch plays pokemon
很多人在线玩这个游戏,因为有小白,有人故意的不好好玩,所以非常难玩
假设:多数玩家都是正常的,检查出异常玩家

问题形式化

测试数据:{x1,x2,…xn}
找到一个函数,能判断输入x与训练数据是否相似
说垃圾话(民主状态,通过vote决定),无政府状态(随机选)
[外链图片转存失败(img-gGQT4MZl-1568732422747)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p17)]
问题:
只有大量的x,没有y

做法:

找到一个几率模型,判断是否是异常。超过阈值为正常,低于阈值为异常。
[外链图片转存失败(img-AtRGmYXM-1568732422748)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p19)]
假设每个发言都是二维的,用图表示概率。
[外链图片转存失败(img-FYbORv2p-1568732422748)(evernotecid://C7EDAE3B-B0B5-43D7-9120-9EA71A1AFF71/appyinxiangcom/23815745/ENResource/p21)]
通过likelihood来决定。
10e764ee8065f94eeb7cedffa99c27cb.png
常用的概率密度模型为高斯模型
6d748abe77ff2681bfa3f56c37a78bf9.png
可能为其他模型,但是还没有涉及
高斯模型的最优解为

在这里插入图片描述然后可以用这个模型来判断是否为异常,图中的等高线就是阈值
bdcd55fdc5f4ab4349e4592c2f7a045d.png
可以在更多的featrue上建模,不止是二维的图像。
1a521b00ed6e54630026d33ab77b7fd3.png​

其他方法

auto-encoder

正常还原度高,异常还原度低
841d78a816f759ae2f38860910bd7a0a.png
4e816110e56841bf9f9a5117a7c06ecb.png

one-class SVM
isolated forest

d4a24c46cec90d962f9d0d76c3801b8d.png

总结

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值