异常检测是识别与预期行为显著不同的观测、事件或模式的过程。它借助统计学、机器学习和数据挖掘,从参考群体或过程中区分出异常情况。异常可能意味着故障、恶意活动、测量误差或此前未知的现象;仅凭其异乎寻常,并不能确定其原因或重要性。应用领域包括欺诈筛查、工业监测和网络安全。(arindam.cs.illinois.edu)
异常的类型
一种常见的分类方式将异常分为三类:
- **点异常:**与其余数据不同的单个观测,例如数值特别大的测量结果。
- **上下文异常:**在特定情境下显得异常的观测,例如某个温度在夏季很普通,在冬季却很反常。
- **集体异常:**一组观测的整体模式异常,即使其中各个值看起来都很普通。
因此,上下文和观测之间的关系有助于界定异常。在时间序列中,一些本身并不异常的值,其排列顺序可能揭示异常序列。这些类别描述的是检测对象,而非规定应采用哪种算法。(arindam.cs.illinois.edu)
学习设置与输出
在监督学习中,分类器使用带有标签的正常行为和异常行为样例进行训练。其检测范围取决于这些样例涵盖了哪些异常类型。无监督学习使用未标注的观测,通常假设异常相对少见,且不同于占主导地位的模式。主要使用经确认的正常样例训练的方法,则学习正常行为的参考描述。(arindam.cs.illinois.edu)
另一项相关区分是离群点检测与新颖性检测:前者在可能混有异常的数据中识别不寻常的观测,后者则依据较为干净的参考数据集评估新观测。检测器可以输出标签,也可以输出数值分数,按异常程度对观测排序。阈值可将分数转化为判定结果,但该分数不一定是经过校准的、表示观测为异常的概率。(scikit-learn.org)
统计与几何方法
统计方法将观测与假定或估计的概率分布进行比较。简单的单变量方法使用标准分数,以标准差为单位表示观测值偏离均值的距离;也可以使用基于中位数的稳健替代方法。基于四分位距的规则,则识别超出指定箱线图界限的观测。这类规则标记的是候选异常,并不能据此认定数值有误。分布假设很重要:针对近似正态数据设计的检验,在用于高度偏斜的总体时可能产生误导。(itl.nist.gov)
多变量方法会考虑特征之间的关系。基于协方差的检测器描述一个近似椭球形的正常区域;观测是否异常取决于其相对于该区域的位置,而不只是各个特征单独来看是否极端。距离和密度方法评估观测相对于附近样本的孤立程度。局部离群因子将观测的局部密度与邻近观测的局部密度进行比较,从而能够针对密度不同的邻域开展检测。孤立森林采用随机划分:通过较短路径即可被孤立的观测,会被赋予更强的异常指示。(scikit-learn.org)
边界与表征方法
支持向量机的单类变体估计包围参考观测的边界,并可使用非线性核函数。其表现取决于核函数的选择、模型参数以及参考数据中混入异常的情况;这类方法不需要每一种可能的异常类别都提供样例。(scikit-learn.org)
基于重构的方法学习参考数据中的结构,并衡量观测能够被重现到何种程度。主成分分析通过低维子空间表示观测,而自编码器则学习编码器—解码器映射。较大的重构误差可能表明观测偏离了已学习的结构。不过,表达能力强的模型也可能很好地重构异常,而一些正常但未得到充分表征的样本,也可能产生较大误差。(arxiv.org)
深度学习还支持基于预测的检测器、学习得到的嵌入,以及通过训练直接生成异常分数的模型。这些方法借助表征学习,能够处理图像、序列和其他复杂输入。它们仍然依赖于对正常行为的假设、训练数据中混入异常的情况,以及所学表征保留了哪些差异。(arxiv.org)
数据准备与评估
特征的表示方式会影响检测器将什么视为异常。对于基于距离的方法,特征缩放可能改变邻域,从而改变检测结果。需要从数据中学习的预处理步骤必须与评估数据隔离:使用整个数据集拟合变换会引入数据泄漏(机器学习),并可能使表面上的性能虚高。(scikit-learn.org)
评估时需要区分分数排序的质量与特定阈值下的判定效果。精确率衡量告警中真正异常所占的比例;召回率衡量真正异常中被检测出的比例。F值综合这两个指标。精确率—召回率曲线和受试者工作特征曲线概括了不同阈值下的表现,但回答的问题不同。当异常很少见时,由于正常观测在数量上占主导,总体准确率可能掩盖检测器未能发现异常的问题。(scikit-learn.org)
预留的测试集用于衡量模型在未参与拟合的观测上的性能。对于存在时间依赖的数据,随机划分可能使关系密切的观测同时出现在训练集和评估集中。考虑时间顺序的交叉验证则使用较早的数据,对较晚的观测进行评估,更能反映面向未来的检测场景。(scikit-learn.org)
实际运行中的局限
正常行为可能因趋势、季节性或分布偏移而变化,使固定基线的代表性减弱。时间序列检测器必须区分孤立的异常值、异常子序列以及更广泛的行为变化;这些任务不一定适用相同的评分或评估流程。(arxiv.org)
告警表明观测偏离了检测器的参考模型,但并不解释这种偏离的原因。美国国家标准与技术研究院(NIST)区分了标记潜在离群点与调查、妥善处理这些离群点:极端观测可能是记录错误,也可能是总体中的真实成员,或是所假定模型不够恰当的证据。因此,自动丢弃所有被标记的观测可能会删除有效信息。(itl.nist.gov)