目录
一、异常的定义
异常是在数据集中偏离大部分数据的样本,使人怀疑这些样本的偏离并非由随机因素产生,而是产生于完全不同的机制。
异常数据在大多数领域中都当做是噪音去除或者忽略了,但是在某些领域比如网络安全,异常数据的产生往往标志着网络安全的漏洞产生。
那么对数据进行分析得到异常数据就可以帮助我们去分析一些犯罪行为,比如电信、保险以及银行领域等等。
二、异常挖掘
异常挖掘为给定N个数据对象和期望的异常数据个数,通过数据分析的方法发现与其他数据不一致的异常数据。
异常挖掘问题主要由两个子问题构成:
(1)如何度量异常
(2)如何有效发现异常
异常挖掘的产生原因有很多种,可能是测量、输入或者系统错误导致,也可能是由于异常的行为导致。
所以异常的标准只是相对的,计算机在发现可疑的异常数据后还需要专家进行进一步鉴定是否真的为异常。
三、异常检测的难点
1、正常区域的定义
2、正常数据和离群数据之间的界限
3、离群点的定义
四、异常挖掘常用方法
1、分类和聚类
2、基于统计的方法
3、基于距离和密度的方法
下面我们分别进行介绍。
五、异常挖掘——分类
分类的主要思想是基于已标记的数据,进行一个二分类模型的构建。
一类为正常样本,一类为异常样本。
在实际问题中,已标记的数据经常会出现类分布不平衡的问题,即正常样本数量往往会多余异常样本数量。
解决办法是将异常样本复制一些副本让其数量与正常样本数量处于一个量级。
具体的分类办法可以参照分类问题的一些方法,比如决策树、支持向量机、神经网络等。
优点:
- 模型容易理解
- 对已知异常数据有较高的检测精度
缺点:
- 需要大量的标记样本数据
- 不能检测未知的异常样本
六、异常挖掘——聚类
聚类的异常检测思想为:正常数据一般都会分布在集群中,而异常数据则会以离群点的形式分布在集群周围。
所以当我们对样本进行聚类,得到的一些离群点就很有可能为异常数据。
优点:
- 不需要标记好的数据
- 适用于时空数据的异常检测
缺点:
- 高维空间若数据是稀疏的,那么任意数据间的距离可能会非常相似
- 聚类的代价非常大
七、异常挖掘——最近邻
最近邻的检测方法假设正常点周围有大量的近邻数据,而异常点周围则没有或者少量的近邻数据。
一般我们可以分为基于距离的异常挖掘和基于密度的异常挖掘。
7.1基于距离
基于距离的方法顾名思义,就是如果对于某个样本而言,其周围距离为d的范围内包含的样本过少,那么我们就认为该样本为异常数据。
这里我们定义变量离群因子OF1:
这里是不包含x的k-最近邻的集合,
是该集合的大小,一般等于k。
7.2基于密度
基于密度的方法则是会计算样本的密度,将低密度区域的样本当作为异常数据。
我们认为定义当前数据的局部邻域密度:
根据邻域密度计算相对密度:
其中,是不包含x的k-最近邻的集合,是该集合的大小,y是一个最近邻。
相对密度的离群因子定义如下OF2: