异常值检测

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011239443/article/details/89305470

1. Anomaly Detection

异常值检测想要做的任务是从数据中找出与其他数据显著不同的数据,其具体应用有如:信用卡盗卡检测、网络攻击检测、癌细胞检测等。

2. Binary Classfication?

异常值检测能不能看做一个二分类任务来建模?通常来说,异常值不能被看做为一个类别,因为异常值的种类实在是太多了。比如说做数字图片分类,有异常值图片根本就不是0~9中的某一个数字,但不是0~9的图片种类实在是太多了,根本不能把它们看做是一个类别。

异常值检测还有一个挑战就是:通常异常值样本很难被收集到。所以异常值检测很难直接被看做二分类任务。

3. 有Label数据的异常值检测

有Label数据如何做异常值检测呢?比较直观的想法,在做分类任务时,输出一个置信分,并设定一个阈值,如果置信分小于该阈值就判定为异常值。
在这里插入图片描述
在这里插入图片描述
异常值检测任务:

  • 收集训练集,训练集全部为正常值
  • 训练分类模型
  • 收集验证集,验证集中含着异常值样本
  • 利用AUC等来衡量异常检测效果

4. 无Label数据的异常值检测

4.1 Likelihood

无Label数据的异常值检测思想和朴素贝叶斯相似,使用最大似然估计。我们可以假设各个特征的取值概率分布为高斯分布:
在这里插入图片描述

likelihood:
在这里插入图片描述
正态分布的最大似然估计和矩估计相同,所以有:
在这里插入图片描述
在这里插入图片描述
于是便可以构建异常检测:
在这里插入图片描述

4.2 Auto-Encoder

另外一种比较直观的想法是利用Auto-Encoder。如Auto-Encoder对数字图片进行编码,训练完成后,若输入图片非数字,输出的解码结果将与输入图片存在较大差异。
在这里插入图片描述

在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页