数据挖掘(异常点检测)_追逐梦想的顾咏丰_新浪博客

异常点检测方法 Anomaly detection methods

异常点 (或离群点 anomaly, outlier)指的就是那些在数据集中很不平常的,与众不同的模式[1][2][3][4]。按照 Hawkins 的经典定义,意思就是 "异常点是一个观测值,它与数据集中其他的观测值如此不一样,以至于认为它是由其他的机制所产生的。"

An observation which deviates so much other observations as to arouse suspicions that it was generated by a different mechanism.[5] - Hawkins

异常点检测 (Anomaly detection, outlier detection)可以看做是确认/找出数据集中异常行为的数据点的一项技术[6][3][4]。异常点检测分类并不统一,但是大致上有以下几种方法: 基于分类(classification-based), 基于距离(distance-based), 基于统计(statistical-based), 基于聚类(cluster-based), 其他方法。

1. 基于分类

基于分类的方法[1]使用分类的学习算法来训练模型,并对异常点进行检测。更具体的,训练的数据可以包含多类标签或者单类标签,分类的方法可以继续划分为多类检测技术(multi-class classification)和单类检测技术(one-class classification)。多类检测即使用传统分类算法(Bayesian Networks[1][7], neural networks[8], decision tree[9], random forest[10]等)进行训练和测试,这里不做赘述。关于单类检测技术,就比较特殊了,它指的是训练集中只有正常类(normal class)标签的实例,并以此训练出模型来对测试集中的实例进行异常点检测。这里一个很好的例子就是单类SVM(one class SVM)[11][6],单类SVM通过现有的正常实例训练得到一个正常点边界(boundary),认为在此边界外的点都是异常点。

基于分类的方法最大缺陷是:
1)多类检测需要训练集拥有多个类的实例,但现实世界可能并不存在异常的数据;
2)数据集中的不平衡性严重影响了分类算法的性能

2. 基于距离

传统的基于距离的算法[12],通过计算每个数据点到其附近点的距离(这里的距离可以是欧氏距离,也可以是麦哈顿距离,马氏距离等),将那些与其他点距离较远的点视为异常点。Edwin首先在1998年提出了基于距离的算法的原型[13]:计算每个点的领域(r)内的点的邻居个数,如果此个数低于给定阈值(n),则认为此数据点为异常点。Anginulli接着在2005年提出HilOut[14][1]:通过计算每个点到其k个邻居的距离之和,并由大到小排序,取前m个数据点,视为异常点。由于数据分布不均带来的检测误差,Breunig在2000年提出基于密度的方法LOF[15],它通过计算每个点的LOF参数来计算每个点的密度情况,那些密度较小的点被预测为异常点。

:
1计算开销太大,需要计算每个点到其他数据点的距离2对参数敏感,如上述的 n,或者直接影响最终的检测结果。

3. 基于统计

基于统计的方法[16],也叫基于模型(model-based methods)的方法,基于参数(parameteric methods)的方法。它往往假设数据集的分布满足于某一个模型,那么那些拥有较小概率出现的数据点(或者说与模型不能完美拟合的数据点)被称为异常点。例如,假设数据的分布满足高斯分布(Gauss model, Normal model),那么根据我们的概率密度函数可知,大部分数据点都处于[u-3s, u+3s]中,其中u表示平均值,s代表标准差,那么处于其他范围内的点属于小概率事件,我们将其视作为异常点。

1真实世界的数据的分布可能并不(严格)满足某个模型,参数一旦设置错误,那么后续异常点检测会出现误差2此方法在一维数据上表现还行,到了高维数据上则效果很差

4. 基于聚类

基于聚类的方法[4]接住聚类的算法,首先将数据集使用聚类算法进行聚类,在得到的聚类结果中,选取那些拥有较少样本的类中的实例,或者未被分类的实例作为异常点。常用的聚类的算法有DBSCAN[17],FIND OUT[18] 等。


1此方法强烈依赖于聚类算法的好坏

5. 其他方法

Aggarwal首先提出了高维数据的异常点检测概念[19]和相应的挑战。针对于高维数据的异常点检测,也有很多方法出现,如 Isolation Forest[20] 和 Example-based 检测方法[21] 等。

---------------------------------------------------------------------------------------------------------

【更新:2017.12.16】

上述5种方法都属于无监督的方法(one class learning 除外),他们的目标在于在一堆未标记的数据中通过各自的方法能够找到与当前整体行为不相符的异常的模式和点。他们的优势是不需要人为的对数据进行标记。但是缺点也很明显,那就是不知道找出来的点到底是异常点,还是噪音?研究人员感兴趣的并不是噪音,而是那些有意义的异常点。怎么办呢,这里给大家引入有监督的异常点检测方法,即 supervised outlier detection[22] 

6. 有监督的异常点检测法

顾名思义,有监督的异常点检测指的是我们的训练样本是有标签的,可能有异常类的标签实例,也可能有正常类的标签实例。可以看做是传统分类的一个特例 [22]。下面介绍几个常见的有监督检测法,

6.1 代价敏感学习(Cost-sensitive Learning)
代价敏感学习,通过对每个类设置不同的误分类代价,从而使得学习到的分类器能够使加权精确率最大(相应的,整体的精确度会有所下降),这个方法在我的另一篇博客 《不平衡数据处理》中有所体现,当时作为一种处理类不平衡的方法来展现。形象地可以看做将划分异常,正常的分隔线向正常类那边平移,使得更多的异常类被划分出来。

MetaCost  [23]是一种简单的代价敏感分类器,它通过重标记(Re-Labeling)的方式对数据集进行从新标记从而得到一个相对平衡的(Balanced)数据集。具体地,首先找到训练集中那些更可能是属于异常点的正常点,将他们的类标记改为“异常”,以及那些更可能是属于正常点的异常点的类标记改为“正常”(很少);其次,在这个相对平衡的数据集上应用各种基本的分类方法,从而得到模型。其中的一个细节,就是如何判断每个点属于哪个类别的可能性(概率)。

分类器加权 是另一种代价敏感学习的方法。它通过对已有的基本分类器进行修改,将实例划分的概率阈值进行改变,来使得更多的异常类被检测出来。例如在 Naive Bayes 分类方法中,会对每个实例属于哪一个类进行概率的计算,这个时候只要调整一下相应的阈值即可。

6.2 半监督学习(Semi-supervised Learning)
半监督学习给出的情景是:并不是所有的实例都被标记了,这里这有少数的类被标记。我们可以使用 One class Learning,Active Learning 的方法进行检测。

Active Learning 主动学习,指的是在有人的帮助下,对那些模棱两可的实例进行标记,进而最终得到一个好的分类器的学习过程。主动学习其实是一个迭代的过程,每一次迭代,主动学习算法都会在训练集中找到最模棱两可的实例交给专家来进行标记。这样每一次都会建立一个分类模型,直到新加入有标记的实例后对于分类效果并没有太大的改变时,迭代终止,最终得到一个分类器。


【参考文献】 -------------------------------------------------------------------------------------------

  1. Han, J., and M. Kamber. "Data Mining: Concepts and Techniques, Morgan Kaufmann." Machine Press, 2001 (in Chinese 5.4(2006):394-395.  

  2. Varun Chandola and Vipin Kumar. Outlier and Anomaly Detection. Access[Online] http://www.kdd.org/kdd2016/topics/view/outlier-and-anomaly-detection 

  3. R. A. Johnson and D. W. Wichern. "Applied multivariate statistical analysis." Technometrics, vol. 25, no. 4, pp. 385{386, 2007.  

  4. Varun Chandola, Arindam Banerjee, and Vipin Kumar. "Anomaly detection:A survey." ACM Computing Surveys (CSUR) 41.3(2009):1-58.  

  5. D. M. Hawkins. "Identification of outliers." Biometrics, vol. 37, no. 4, p. 860, 1980. 

  6. Hautakangas, Hannu, and J. Nieminen. "Anomaly detection using one-class SVM with wavelet packet decomposition." This Publication Is Copyrighted.you May Download Display Andprint It for Your Own Personal Use.commercial Use Isprohibited (2011).  

  7. Ethem Alpaydin. "Introduction to Machine Learning 2nd edition." pages 109-112 and 489 - 493, The MIT Press, Cambridge, Massachusetts, London, England, 2010. 

  8. Christopher M. Bishop. "Neural networks for pattern recognition." Oxford University Press, Oxford 1996. 

  9. Quinlan, J. Ross. "C4.5: programs for machine learning." 1(1993). 

  10. Breiman, L. "Random forest." Machine Learning 45(2001):5-32. 

  11. Scholkopf, Bernhard, and A. J. Smola. "Learning with kernels". MIT Press, 2002:2165 - 2176. 

  12. Niu, Zhixian, et al. "A Survey of Outlier Detection Methodologies and Their Applications." International Conference DBLP, 2011:380-387. 

  13. E. M. Knorr and R. T. Ng. "Algorithms for mining distance-based outliers in large datasets." in VLDB'98, Proceedings of 24rd International Conference on Very Large Data Bases, August 24-27, 1998, New York City, New York, USA, 1998, pp. 392-403. 

  14. F. Angiulli and C. Pizzuti. "Outlier mining in large high-dimensional data sets." IEEE Trans. Knowl. Data Eng., vol. 17, no. 2. 

  15. M. M. Breunig, H. Kriegel, R. T. Ng, and J. Sander. "LOF:identifying density-based local outliers." in Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, May 16-18, 2000, Dallas, Texas, USA. 

  16. V. J. Hodge and J. Austin. "A survey of outlier detectionmethodologies." Artif. Intell. Rev., vol. 22, no. 2, pp. 85-126, 2004. 

  17. M. Ester, H. Kriegel, J. Sander, and X. Xu. "A density-based algorithm for discovering clusters in large spatial databases with noise." in Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96), Portland, Oregon, USA, 1996, pp. 226-231. 

  18. D. Yu, G. Sheikholeslami, and A. Zhang. "Findout: Finding outliers in very large datasets." Knowl. Inf. Syst., vol. 4, no. 4, pp. 387-412, 2002 

  19. C. C. Aggarwal and P. S. Yu. "Outlier detection for high dimensional data." in Proceedings of the 2001 ACM SIGMOD international conference on Management of data, Santa Barbara, CA, USA, May 21-24, 2001, 2001, pp. 37-46. 

  20. F. T. Liu, K. M. Ting, and Z. Zhou. "Isolation forest." in Proceedings of the 8th IEEE International Conference on Data Mining (ICDM 2008), December 15-19, 2008, Pisa, Italy, 2008, pp. 413-422. 

  21. Y. Li and H. Kitagawa. "Example-based robust db-outlier detection for high dimensional data." in Database Systems for Advanced Applications, 13th International Conference, DASFAA 2008, New Delhi, India, March 19-21, 2008. Proceedings, 2008, pp. 330-347. 

  22. Aggarwal, Charu C. Supervised Outlier Detection. Outlier Analysis. Springer New York, 2013:169-198. 

  23. Domingos, Pedro. "MetaCost:a general method for making classifiers cost-sensitive." ACM SIGKDD International Conference on Knowledge Discovery and Data Mining ACM, 1999:155-164.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值