21/7/19 读书笔记 异常检测

21/7/19 读书笔记

数据挖掘导论 异常检测

异常对象通常被称为离群点outlier),这些数据点明显得偏离其他数据点。异常的挖掘又被称为“例外挖掘(exception mining)”和“偏差检测(deviation detection)”。

异常对象出现概率小,但是同时也可能具有较高的挖掘价值。比如通过系统和网络的异常行为来检测窃取信息的攻击、检测出异常的消费习惯发现盗刷信用卡行为。同时,异常对象通常也会导致我们其他数据分析技术的性能下降(比如我们之前在聚类技术中探讨的),因此需要在进行其他数据挖掘前进行异常对象的检测和消除。

异常的产生来源称为异常源。异常可能是因为某个特定原因产生的,比如信用卡盗刷者,这种异常可能会具有重复性,也是异常检测的一个重要挖掘对象;异常也可能是纯粹的自然变异,即概率意义上出现的异常,与具体条件无关,比如一个身高为3m的人类;异常还可能来源于数据测量的误差。通常来说,我们的异常检测技术本身不应该对异常源敏感,异常源是需要我们在应用阶段关注的目标。

书中接下来介绍了三类异常检测方法(注意这三类方法并不严格区分)

基于统计模型的方法

这种方法将数据描述为一个统计模型,在该概率分布模型下出现概率很低的点对应离群点。

这种方法需要解决这些问题:

  • 我们所面向的数据集应该是什么分布呢?高斯分布不是放之四海皆准的,因此我们必须根据数据的实际情况来选择一种合理的分布来表示。
  • 我们在建立模型时应该考虑多少属性呢?如果我们只考虑身高,那么一个2.2m的人可能就是离群点,但是如果我们同时考虑身高和职业,那么一个2.2m的篮球运动员并不是一个异常。
  • 建立的模型本身是否是多种分布的混合?类似我们之前提到的混合模型和EM聚类算法。

对于只考虑一个属性的情况,我们可以简单地利用概率分布函数来计算一个点是否是离群点。

但是在考虑多种属性的情况下,我们需要在多元正态分布中考虑点的概率问题。通常来说,这种问题被转化为该点距离分布中心的距离。而在多元正态分布中,如果假设为高斯分布,我们采用的距离称为Mahalanobis距离,这在之前提到过,其能够在多维的情况下考虑多个维度的度量问题从而客观描述点的出现概率。

而在混合模型的情境下,异常检测算法通常是采用不断从数据集中筛选出那些删除后导致总似然情况显著改善的数据点,将他们列为离群点。其认为正常点应该符合一种特定的分布,而异常符合均匀分布,整体的混合分布是正常点分布和异常分布的加权和。因此如果从正常点的集合中移除一个点到异常点集合中,总似然上升,说明这个点在异常服从的均匀分布下的概率高于在正常点服从的分布下的概率,这个点可能就是异常。

基于邻近度的方法

这种方法认为一个远离大部分点的点应该是离群点。其通常采用点之间的邻近度度量来考量这个问题。

最简单的一种方法技术采用k-最近邻距离来描述离群点得分,一个k-最近邻距离较大的点,说明其远离其他点,其离群点得分越高,更可能是离群点。但这种方法的缺点也是显著的,即k的取值大幅影响离群点的判断。k的取值是全局的,这就导致了一个我们之前探讨的问题,使得这种方法无法适用于密度变化的数据集。

以往的大部分(聚类)技术具有一些普遍的问题,比如无法应对密度、形状、大小不同的簇集合。这主要是因为大部分的聚类算法需要基于全局静态的簇模型,比如K均值算法假定了簇是球形,DBSCAN基于某个全局的密度阈值定义簇。这种全局性的限制使得算法无法应对不同的簇特性。

基于密度的方法

这种方法认为一个处于低密度区域的点是离群点。

对于密度的定义,可以基于邻近度定义为k个最近邻的平均距离的倒数,也可以定义为特定范围内点的个数。

书中介绍一种相对密度,这种相对性的度量方法解决了全局阈值导致的问题:我们将一个点的相对密度定义为其所在位置的密度与其k个最近邻所在位置的密度的平均值的比值。如果一个点相对密度较低,说明其在所处的局部环境中属于较低密度区域,更可能是离群点。

基于聚类的方法

基于聚类的方法通常和基于邻近度的方法和基于密度的方法有重叠,因为聚类中也经常使用邻近度和密度定义。这种方法定义一个不强属于任何一个簇的点是离群点,其中“强属于“的概念就根据聚类的技术界定的,通常需要基于邻近度和密度。

通常来说,异常本身会影响聚类技术的性能,因此异常本身的存在性会导致基于聚类的异常检测方法对离群点的判断出现偏差。比如出现多个相似异常,可能就会被聚类技术识别为一个簇,反而使得异常的离群点得分下降。

这种方法指出,我们之前介绍的各式各异的聚类技术都能延伸到异常点的检测中。但是我们也需要注意,各式各异的聚类技术对应各式各异的数据形式,因此我们对于具体方法的选择需要慎重。

数据挖掘导论的笔记到此也就告一段落了,接下来的时间里会看一些数据库的书
这本书还有很多的知识需要实践去巩固,但是后续就不会再放在读书笔记的分类下了
好书|如果对数据挖掘有兴趣而且英语能力不太好(比如我),作为入门书非常合适

posted @ 2021-07-19 17:22  neumy  阅读(111)  评论(0)    收藏  举报