关于《Robust outlier detection based on the changing rate of directed density ratio》的阅读笔记
中文题目:基于有向密度比变化率的鲁棒离群检测
摘要:离群点检测任务旨在挖掘偏离正态分布的异常对象。传统的无监督离群点检测方法可以检测出大部分全局离群点,但只能在数据分布相对单一的情况下表现良好(动机1)。基于 k k k-近邻的方法虽然能够拟合更复杂的数据分布,但也存在难以检测局部离群点或性能易受数据流形影响的问题(动机2)。同时,大多数基于 k k k-近邻的方法的离群检测性能受参数 k k k的影响较大(动机3)。这篇论文提出了一种基于有向密度比变化率的鲁棒离群检测方法。结合核密度估计和包含 k k k-近邻和反向 k k k-近邻的扩展近邻集来计算样本的局部密度。然后根据该密度比以及该样本与近邻样本之间的向量定义该样本的有向密度比。在不同的局部密度和数据流形下,有向密度比可以更好地估计局部信息。然后,通过增大邻居的大小,计算样本的有向密度比的变化,最终将其累加作为离群得分。在12个模拟不同数据分布的合成数据集和22个公开数据集上进行实验。实验结果表明,与几种主流(state-of-the-art)方法相比,所提方法在不同数据分布下均能取得更好的离群点检测性能。此外,在实验结果中参数 k k k发生变化时,所提方法表现出较好的鲁棒性。
**关键词:**离群检测;核密度估计;扩展近邻集;有向密度比
1. 引言
根据Atkinson和Hawkins(1981)的定义,离群值指的是那些明显偏离正常模式的对象,以至于让人怀疑它们是由一个不同的机制产生的。一方面,由于离群点可能是由不同的机制产生,所以它们比正常样本更重要、更有趣。另一方面,离群点的存在会影响聚类等数据统计分析的结果。因此,离群检测是数据挖掘中一个基本而重要的任务。因此,离群检测是数据挖掘中一个基本而重要的任务。离群点检测在现实世界的各个领域有着广泛的应用,如检测银行账户交易中的欺诈行为、协助医生进行医疗诊断、无线传感器网络和物联网的故障检测等等。
根据数据是否被标记,离群点检测方法可分为三类:有监督方法、半监督方法和无监督方法。有监督方法通过从标记数据中学习来构建分类模型并检测离群值。这种方法需要标记样本作为训练集,这通常很难获得或需要在现实任务中花费大量时间。半监督方法使用部分样本标签来建立模型和检测异常值。这些方法面临的挑战是如何在有限的信息下建立有效的异常点检测模型。无监督方法不需要标记样本,而是通过学习数据的底层分布机制来检测偏离正态分布的异常值。与监督和半监督方法相比,无监督离群点检测方法的研究更具挑战性。同时,由于没有标签的离群点检测任务在现实世界中广泛存在,无监督离群点检测方法的研究也更有意义。目前,离群点检测的研究主要集中在无监督领域。
最早的无监督离群点检测多基于统计,如3𝜎准则,它假设样本在每个维度上都符合高斯分布,而偏离均值 3 个标准差的对象被视为异常值。基于直方图的离群值评分(Histogram Based Outlier Score, HBOS)(Goldstein & Dengel, 2012) 对数据的各个维度做直方图进行密度估计,并进行汇总来检测异常点。基于copula的离群点检测(COPula-based Outlier Detection, COPOD)(Li et al.,2020)通过copula函数估计分布的尾部概率来检测离群点。基于孤立思想的方法,如孤立森林 (isolation Forest, Forest) (Liu et al., 2008)通过测量样本被孤立的难度来检测异常值。基于重构思想的方法,如主成分分析(Principal
Component Analysis, PCA ) (Shyu et al., 2003)首先对数据进行投影和重构,通过每个样本的重构误差估计离群程度。基于聚类的方法,如基于聚类的局部离群因子(Cluster-Based Local Outlier Factor, CBLOF) (He et al.,2003),通过聚类过程检测出异常点,将不属于任何簇的对象确定为异常点。上面的大多数方法不需要超参数,或者受超参数的影响较小,并且在单个正常模式中表现良好。然而,当正态样本形成多个分布模式或存在局部异常值时,这些方法的检测性能受到限制。
另一种无监督的离群点检测方法是基于 k k k-近邻的思想,通过寻找特征空间中最近的邻居来获取每个样本的局部信息,并在此基础上度量样本的离群点程度。由于这些方法测量的是样本周围的局部信息,因此受样本整体分布变化的影响较小,能够适应更复杂的数据分布。它们中的大多数都有一个标准的超参数,即最近邻的大小 k k k,如经典的kNN (k-Nearest Neighbors, kNN) (Ramaswamy et al.,2000)和LOF(Local Outlier Factor, LOF)(Breunig et al.,2000)方法。参数 k k k通常是手动指定的,通常很难为不同的任务和不同的数据集设置适当的值。不幸的是,大多数方法都带有参数“邻居的大小 k k k"对 k k k的选择很敏感,不同的 k k k值和不同的数据集之间的方法性能差异很大。最近,一种基于重力的方法(Xie et al.,2020)被提出,通过矢量和变化率来减少参数 k k k对检测性能的影响。但是这类方法也存在着当数据形成不同流形和不同密度分布时会降低检测精度的问题,这将在第2节中详细介绍。
针对上述问题,本文提出了一种基于有向密度比变化率的鲁棒异常点检测方法。鲁棒性体现在两个方面:能够适应多样化和复杂的数据分布,即当数据分布形成不同的模式和流形或存在局部异常值时,能够有效地检测异常值;该方法对参数设置不敏感,即无论实际中将𝑘参数设置为哪个值,该方法都能取得令人满意的结果。该方法的主要贡献如下:
(1)提出了有向密度比的定义。 首先,基于核密度估计和包含𝑘-最近邻和反向𝑘-最近邻的扩展邻居集计算样本的局部核密度。 密度比定义为样本的每个邻居的密度与其自身的比值。 在此基础上,我们将密度比乘以从样本到对应邻居的向量作为有向密度比。 通过结合密度、距离和方向信息,有向密度比可以有效地反映不同分布样本的局部和全局异常值。
(2)提出了一种基于有向密度比变化率的异常检测器。 通过增加最近邻居的大小,计算不同邻居大小下的有向密度比之和,然后计算和的变化。 累积不同大小的邻居的变化值,直到𝑘达到设定的参数。 通过测量变化值来估计异常值程度,可以减轻参数对异常值检测性能的影响。 有向密度比变化的累积值作为样本的最终离群值。
2. 相关工作
根据本文提出的方法的特点,本节将介绍基于𝑘-近邻的无监督离群点检测方法。这些方法大致可以分为基于距离的方法和基于密度的方法,并将依次介绍它们的优缺点。
2.1. 距离法
kNN (Ramaswamy et al.,2000)离群点检测方法是在假定异常样本通常离最近邻较远的情况下,通过计算每个样本与其最近邻之间的距离来获得离群点分数。在具体实现上,kNN方法有两种不同的实现。LargestkNN直接将样本到𝑘-近邻的距离作为离群值,而averagekNN计算样本到𝑘邻居距离的平均值作为离群值。均值漂移异常值检测(Mean-shift Outlier Detection,MOD) (Yang et al., 2021)计算样本的𝑘-最近邻的平均样本,并用平均样本替换原始样本,对数据集进行均值偏移处理。经过多次迭代,得到均值漂移后的数据集,通过计算均值漂移前后样本的漂移距离来确定离群程度。MOD可以看作是kNN的扩展。当MOD迭代次数为1时,它退化为averagekNN。基于局部策略的离群检测(Local Gravitation-based Outlier Detection, LGOD)(Xie et al., 2020)基于样本间引力的概念,计算相邻样本的引力之和,进一步计算引力和的变化来判断异常值的程度。 在实现上,LGOD通过距离的“向量和”与“范数和”的乘积来计算“引力”,因此也可以认为是一种基于距离的方法。基于距离的方法简单直观,但会受到局部密度问题的影响,即当正态样本形成不同密度的簇时,密集正态簇附近的局部离群点到正态样本的距离可能等于或小于稀疏正态簇中正常样本之间的距离,这将导致该方法无法检测到密集正态簇附近的局部离群点。
2.2. 密度法
LOF (Breunig et al., 2000)利用基于密度的模型解决了上述问题。它通过局部可达距离计算样本的局部密度,并计算每个样本与相邻样本的密度比,得出离群点评分。该方法假设离群点密度低于相邻样本的密度,而正态样本的密度与相邻样本的密度相等。基于连接的离群因子 (Connectivity-based Outlier Factor, COF)Tang et al., 2002)基于LOF的框架,进一步考虑了数据分布的一些特殊情况。局部密度因子(Local Density Factor,LDF)(Latecki et al., 2007)在LOF的基础上引入了核密度估计,通过有效结合局部可达距离和核密度优化了局部密度的计算方法。INFLO (INFLuenced Outlierness)
(Jin et al., 2006)扩展了最近邻样本集的选择,使用𝑘-近邻和反向𝑘-近邻计算密度,进一步优化了局部密度的计算方法。相对密度离群得分(Relative Density-based Outlier Score,RDOS)
(Tang & He, 2017)结合了LDF和INFLO的理念,并引入了共享𝑘-近邻的概念。将最近邻集扩展为𝑘-近邻、反向𝑘-近邻和共享𝑘-近邻的和。通过核密度估计计算最终的局部密度,并在扩展的最近邻集中计算密度比。该思想在一定程度上缓解了LOF在一些复杂数据分布情况下性能不佳的问题。CELOF (Chen et al., 2021)也是LOF的一种改进方法,引入信息熵构造了一种新的指标权重计算方法,设计了一种新的可达距离因子判别方法提取原始数据信息。基于密度的方法可以在大多数分布情况下有效地检测出各种异常点,但在正态分布形状特殊的情况下就会失效。例如,二维数据集中的数据表现为一维流形的嵌入。这种情况下,1维流形外的样本密度与流形内的样本密度非常接近,基于密度的方法将无法检测出异常值。这种流形嵌入也存在于许多现实世界的数据集中。
正如引言中提到的,这些方法也有一个共同的问题,那就是对𝑘值的选择比较敏感。根据𝑘的不同取值,最终的检测性能会有很大的不同。LGOD (Xie et al., 2020)通过定义重力的变化来估计离群程度,减少了𝑘值对检测结果的影响。然而,由于LGOD在实现中也通过距离计算重力,因此上述局部密度问题也存在。当数据分布密度和形状多样化时,局部离群点检测困难,且在某些数据集上难以获得满意的结果。
综上所述,目前的无监督离群点检测方法各自存在一些问题。本文提出了一种基于有向密度比变化率的鲁棒离群点检测方法,解决了数据分布不均匀和对参数𝑘敏感的问题。
3. 所提方法
提出的基于有向密度比变化率的离群检测(Directed density ratio Changing
Rate-based Outlier Detection,DCROD)方法主要包括三个部分:(1) 计算样本的局部核密度;(2)定向密度比的定义;(3)基于有向密度比变化率的异常点检测器。
3.1. 局部核密度估计
考虑到密度估计的鲁棒性和连续性,本文将核密度估计与扩展最近邻相结合来计算样本点的局部密度。对于给定数据集 𝑿 = { 𝒙 1 , 𝒙 2 , 𝒙 3 , … , 𝒙 𝑛 } 𝑿 = \{𝒙_1, 𝒙_2, 𝒙_3,\dots, 𝒙_𝑛\} X={
x1,x2,x3,…,xn},其中 𝒙 ∈ R d 𝒙\in \bf{R}^d x∈Rd, i = 1 , 2 , … , n , i=1,2,\dots,n, i=1,2,…,n, d d d表示数据的维度,单个样本的核密度估计由下式给出:
ρ ( 𝒙 ) = 1 n ∑ j = 1 n 1 h ( 𝒙 j ) d K ( 𝒙 − 𝒙 j h ( 𝒙 j ) ) (1) \rho(𝒙)=\frac{1}{n}\sum_{j=1}^{n}\frac{1}{h(𝒙_j)^d}K(\frac{𝒙-𝒙_j}{h(𝒙_j)})\tag{1} ρ(x)=n1j=1∑nh(xj)d1K(h(xj)x−xj)(1)
其中, K ( ) K() K()是核函数, h ( 𝒙 j ) h(𝒙_j) h(xj)是 𝒙 𝑗 𝒙_𝑗 xj的内核函数的带宽。在我们的方法中,我们使用高斯核函数作为核函数,其定义如下:
𝐾 𝐺 𝑎 𝑢 𝑠 𝑠 𝑖 𝑎 𝑛 ( 𝒙 ) = 1 ( 2 π ) 𝑑 exp ( − ‖ 𝒙 ‖ 2 2 ) (2) 𝐾_{𝐺𝑎𝑢𝑠𝑠𝑖𝑎𝑛}(𝒙) = \frac{1}{(2\pi)^𝑑}\text{exp}(− \frac{‖𝒙‖^2}{2})\tag{2} KGaussian(x)