目录
异常检测(Anomaly Detection)也称偏差(deviation)检测或者离群点(outlier)检测,从数据的角度来看,其实就是检测出和众多其他观测值差别非常大的一个特殊的观测值。异常检测在历史上实际是数据预处理的一个步骤,但是在现代研究中越来越重要,逐渐发展为一个独立的领域。
我们要知道,自然界万物都可以被数学或数据描述。例如,图像,其实是可以用三通道矩阵来表达;模拟信号如电波等,可以转为离散化时间序列;我们的文字语言,也可以被“word2vec”,提取特征后用向量形式描述。所以,异常检测不仅仅只能用在数据领域,在不同的领域都可以发挥重要作用,它本质上就是检测离群的数据。
一、基础知识
异常成因
自然变异、数据测量和收集误差。
异常检测方法
基于模型的技术、基于邻近度的技术、基于密度的技术。
基于模型的技术首先建立一个数据模型,异常是那些模型不能完美拟合的对象。由于异常和正常对象可以看作定义两个不同的类,我们可以使用分类技术建立两个类的模型。但分类技术中训练集很重要,由于异常相对稀少,所以这样做通常比较难,需要加以考虑。
基于邻近度的技术考虑对象之间的邻近性度量,比如“距离”。基于密度的技术是认为低密度区域对象是异常点。
按照样本标签(正常、异常)可利用程度,可以分为:监督、半监督、无监督三种基本的异常检测方法。
有监督的异常检测:需要有异常类和正常类的训练集,分别为它们建立模型。但这会涉及到不平衡类问题,即异常样本总是相对稀少的。
半监督的异常检测:即从同时含有标注数据和未标注数据的训练集中学习模型。在监督学习中,因为训练集全部已经标记了,所以我们的兴趣点通常是在未来测试数据上的性能。而在半监督学习的分类问题中,训练数据中包含未标记的数据。因此,存在两个不同的目标。一个是预测测试集数据的类别,另一个是预测训练样本中未标记实例的类别(这里我们都假设是分类问题)。我们将前者称为inductive semi-supervised learning&#x