异常检测(二)

作者: SmallRookie | 来源:发表于2017-10-09 16:34 被阅读72次
Developing and Evaluating an Anomaly Detection System

异常检测算法是一个非监督学习算法,我们无法根据结果变量y的值来判断数据是否真的为异常数据。因此,我们仍旧采用之前的数值评估法来帮助我们对学习算法进行评估。

具体应用

以飞机引擎为例,假设我们有1000台正常的引擎数据和20台异常的引擎数据。我们将数据按如下划分:

  • 6000台正常的引擎数据作为训练集
  • 2000台正常的引擎数据和10异常的引擎数据作为交叉验证集
  • 2000台正常的引擎数据和10异常的引擎数据作为测试集

注:此例子中所有数据均为带标签的数据,即形如(x(i), y(i))。

其评估算法为:

  • 使用p(x)模型拟合训练集{x(1), ···, x(m)}
  • 使用不同的ε值预测交叉验证集(或测试集)上的数据,并计算F1值
  • 当F1值最大时,选取对应的ε值作为阀值
  • 对测试集进行预测,计算F1值
Anomaly Detection vs. Supervised Learning

在上一节中,我们使用带有标签的数据,这和监督学习类似。为了加以区别,我们将异常检测和监督学习对比一下。

异常检测 监督学习
数据集含有少量的正向数据(即异常数据,y = 1),大量的负向数据(即正常数据,y = 0) 数据集同时含有大量的正向数据和负向数据
由于存在许多类型的异常,很难根据少量的正向数据训练算法,并且在未来也可能遇到未知的异常类型 有足够多的正向数据训练算法,未来遇到的正向数据与训练集中的类似
常用于以下情况:1. 欺诈行为检测;2. 生产过程(如:飞机引擎生产过程等);3. 数据中心计算机监控;··· 常用于以下情况:1. 垃圾邮件过滤器;2. 天气预报;3. 肿瘤预测;···
Choosing What Features to Use

在之前的介绍中,异常检测是基于数据满足高斯分布的条件。实际上,数据的分布即使不满足高斯分布,异常检测也能够正常运行。但我们还是推荐将不满足高斯分布的数据转换成满足高斯分布,例如使用对数函数(x = log(x + c),其中c为非负常数);或者使用幂运算(x = xc,其中c为0~1之间的分数);···

误差分析

在上图的直方图中,绿色标记点为异常数据,但由于其p(x) > ε,异常检测算法未能发现这一异常数据。对于这种问题,我们通常根据异常数据构建新的特征变量x2,这样我们的异常检测算法才能发现该异常数据。

对于上图中的例子,该数据中心提供网络服务,因此,正常情况下,CPU负载和网络流量变化成线性关系。但现假设在网络流量无明显变化下,CPU负载很高,此时异常检测算法并未这一情况发出异常警告。

这时我们怀疑是CPU出现异常了,因此,我们需要构建上图中的新特征变量x5或者x6

Question:
Suppose your anomaly detection algorithm is performing poorly and outputs a large value of p(x) for many normal examples and for many anomalous examples in your cross validation dataset. Which of the following changes to your algorithm is most likely to help?

A. Try using fewer features.
B. Try comping up with more features to distinguish between the normal and the anomalous examples.
C. Get a large training set (of normal examples) with which to fit p(x).
D. Try changeing ε.

答案为B。

相关文章

  • 异常检测(二)

    Developing and Evaluating an Anomaly Detection System 异常检...

  • 网络入侵的检测和预防

    标签: 异常检测, 入侵检测,入侵防御,IDS,IPS 异常检测 (Anomaly detection) 异常检测...

  • 【算法】异常检测

    异常检测 异常检测(Anomaly Detection):异常检测就是从数据集中检测出异常样本,是一种无监督学习。...

  • 5月组队学习01:异常检测介绍

    Task01 异常检测介绍(2天) ● 了解异常检测基本概念 ● 了解异常检测基本方法 1. 定义: 异常检测是识...

  • 2020台大李宏毅机器学习 异常检测(Anomaly Detec

    问题描述: 什么是异常? 取决于你提供什么样的训练资料 异常检测的应用: 异常检测思路一——二分类思路? 难点:不...

  • 异常以及else with语句笔记

    #异常 #检测异常 try: ...#检测范围 except OSError as reason: #出现异常后的...

  • 关于异常

    异常包括检测异常和非检测异常,开发人员在使用的时候通常使用非检测异常,认为检测异常没有什么用,实际上这种思想是错误...

  • TOCC数据异常检测二

    A Comprehensive Guide to Data Exploration OverviewA compl...

  • 编程作业(八)

    异常检测与推荐系统 异常检测 在本节练习中,你将实现一个异常检测算法用于检测服务器上的异常行为。特征变量为每台服务...

  • 异常检测

    异常检测 说说我认为的异常 身处在每天调用量很大的业务系统的团队中,开发同学常常要关注于系统是否正常。说的简单点,...

网友评论

    本文标题:异常检测(二)

    本文链接:https://www.haomeiwen.com/subject/igcfyxtx.html