异常检测-task 01

异常检测

什么是异常?

  异常是与其它大部分对象不同的对象,且其具有异乎寻常的重要性,异常检测技术是信用卡欺诈检测、工业生产异常以及网络入侵等问题中的重要技术。

  • 异常的成因:
    (1) 数据来源于不同的类
    (2) 自然变异(如高斯分布模型的边缘点)
    (3) 数据搜集和测量误差
  • 异常的类别:
    (1) 点异常:指的是少数个体是异常的,大多数个体实例是正常的,例如正常人和健康人的指标
    (2) 条件异常:又称为上下文异常,指的是在特定场景下实例是异常的,但在其它场景下都是正常的,例如在特定场景下温度突然上升或者下降,在特定场景下的快速信用卡交易
    (3) 群体异常:指的是在群体集合中的个体出现异常的情况,而该个体实例自身可能不是异常,在入侵或者欺诈检测等应用中,离群点对应多个数据点的序列,而不是单个数据点。例如社交网络中虚假账号形成的集合作为群体异常子集,但子集中的个体节点可能与真实账号一样正常。

异常检测任务分类

(1) 有监督:训练集的正例和负例均有标签
(2) 无监督:训练集无标签
(3) 半监督:训练集的正例有标签,负例无标签

异常检测场景

(1) 故障检测
(2) 医疗日常监测
(3) 网络入侵检测
(4) 欺诈检测
(5) 工业异常检测
(6) 时间序列异常检测
(7) 视频异常检测
(8) 日志异常检测

异常检测的难点

  • 数据量少:异常检测任务通常情况下负样本(异常样本)是比较少的,有时候依赖于人工标签,属于样本不平衡问题。
  • 噪音:异常和噪音有时候很难分清,如下图,图a的A点位于数据的稀疏区域,与其他数据非常不同,因此可以断定为异常,但是像图b的A点,周围有也有很多点分布,我们很难把A点识别出来。

异常检测需要解决的问题

(1)用于定义异常的属性个数
(2)全局观点和局部观点
(3)点的异常程度
(4)一次识别一个异常或多个异常
(5)评估有效性

异常检测的方法

  • 基于统计学的方法
      统计学方法对数据的正常性做出假定。它们假定正常的数据对象由一个统计模型产生,而不遵守该模型的数据是异常点。**统计学方法的有效性高度依赖于对给定数据所做的统计模型假定是否成立。
      异常检测的统计学方法的一般思想是:学习一个拟合给定数据集的生成模型,然后识别该模型低概率区域中的对象,把它们作为异常点。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 线性模型
      典型的如PCA方法,Principle Component Analysis是主成分分析,简称PCA。它的应用场景是对数据集进行降维。降维后的数据能够最大程度地保留原始数据的特征(以数据协方差为衡量标准)。其原理是通过构造一个新的特征空间,把原数据映射到这个新的低维空间里。PCA可以提高数据的计算性能,并且缓解"高维灾难"。
  • 基于相似度的方法
      这类算法适用于数据点的聚集程度高、离群点较少的情况。同时,因为相似度算法通常需要对每一个数据分别进行相应计算,所以这类算法通常计算量大,不太适用于数据量大、维度高的数据。基于相似度的方法细分又可分为3种:
    (a) 基于聚类的算法:
      聚类算法是将数据点划分为一个个相对密集的“簇”,而那些不能被归为某个簇的点,则被视作离群点。这类算法对簇个数的选择高度敏感,数量选择不当可能造成较多正常值被划为离群点或成小簇的离群点被归为正常。因此对于每一个数据集需要设置特定的参数,才可以保证聚类的效果,在数据集之间的通用性较差。聚类的主要目的通常是为了寻找成簇的数据,而将异常值和噪声一同作为无价值的数据而忽略或丢弃,在专门的异常点检测中使用较少。
    在这里插入图片描述

(b) 基于距离的算法:
  k近邻算法的基本思路是对每一个点,计算其与最近k个相邻点的距离,通过距离的大小来判断它是否为离群点。在这里,离群距离大小对k的取值高度敏感。如果k太小(例如1),则少量的邻近离群点可能导致较低的离群点得分;如果k太大,则点数少于k的簇中所有的对象可能都成了离群点。为了使模型更加稳定,距离值的计算通常使用k个最近邻的平均距离。
© 基于密度的算法:
  局部离群因子(LOF)算法与k近邻类似,不同的是它以相对于其邻居的局部密度偏差而不是距离来进行度量。它将相邻点之间的距离进一步转化为“邻域”,从而得到邻域中点的数量(即密度),认为密度远低于其邻居的样本为异常值。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 集成方法
      集成是提高数据挖掘算法精度的常用方法。集成方法将多个算法或多个基检测器的输出结合起来。其基本思想是一些算法在某些子集上表现很好,一些算法在其他子集上表现很好,然后集成起来使得输出更加鲁棒。集成方法与基于子空间方法有着天然的相似性,子空间与不同的点集相关,而集成方法使用基检测器来探索不同维度的子集,将这些基学习器集合起来。用的集成方法有Feature bagging,孤立森林等。
    (1) feature bagging :与bagging法类似,只是对象是feature
    (2) 孤立森林:假设我们用一个随机超平面来切割数据空间,切一次可以生成两个子空间。然后我们继续用随机超平面来切割每个子空间并循环,直到每个子空间只有一个数据点为止。直观上来讲,那些具有高密度的簇需要被切很多次才会将其分离,而那些低密度的点很快就被单独分配到一个子空间了。孤立森林认为这些很快被孤立的点就是异常点。
  • 机器学习算法:
      在有标签的情形下,可以采用树模型(如gbdt,xgboost)等进行分类,缺点是异常检测场景下数据标签是不均衡的,但是利用机器学习算法的好处是可以构造不同特征。

为何不直接采用监督学习算法来进行异常检测?

(1) 异常检测的数据集数据分布严重不平衡
(2) 异常的类型多,若采用监督学习,新的异常难以被捕捉
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值