1. 引言

在机器学习中,异常(Anomaly)离群值(Outlier) 是两个密不可分的概念。识别并处理与常规数据不一致的样本,对于构建鲁棒且高效的模型至关重要。

在训练模型之前,我们通常会对数据集进行清洗,并使用异常检测技术来找出异常样本。一些常见的应用场景包括:金融领域的欺诈检测、制造业的缺陷检测、信息安全的入侵检测,以及医疗健康领域的状态监测。

此外,异常检测还与新颖性检测(Novelty Detection)噪声去除(Noise Removal) 紧密相关。这些技术都聚焦于识别和处理数据中的异常实例。

大多数情况下,异常或新颖性是由暂时性的错误引起的。但有时也可能是数据中隐藏的模式发生了变化。本文将介绍几个在检测异常观测和趋势变化方面的重要概念。


2. 漂移(Drift)

在训练模型时,我们通常假设数据和环境是平稳的(Stationary)。也就是说,我们基于某些条件下观察到的样本来建立模型,用于预测未来的输出。

然而,当环境发生变化时,数据的行为也会随之演变。

漂移(Drift)是指随着时间的推移,特征之间的关系、数据的基础分布或结构发生了变化。

模型衰减(Model Decay)衡量的是模型准确性随时间下降的速度,它受漂移速率的影响。

漂移主要分为两类:

  • 概念漂移(Concept Drift)
  • 数据漂移(Data Drift)

数据漂移(Data Drift)

当输入数据以不可预见的方式受到影响时,就会发生数据漂移。例如:

  • 数据采集逻辑发生变化
  • 引入新的类别

简而言之,数据漂移指的是输入数据的分布发生了变化。

概念漂移(Concept Drift)

当输出变量(目标变量)随时间变化时,就发生了概念漂移。这意味着数据集与目标变量之间的关系发生了变化。

概念漂移又可以细分为三种类型:

  • 渐进式漂移(Gradual Drift):变化是逐步发生的。例如,气候变化的影响在短期内可能不明显。
  • 突发式漂移(Sudden Drift):变化是突然发生的。例如,2008年全球金融危机对经济变量的影响就是突然显现的。
  • 周期性漂移(Recurring Drift):变化是周期性的。例如,冰淇淋的销量每年都会随季节波动。

如何应对漂移?

要中和漂移的影响,通常需要重新校准模型或调整业务流程。


3. 异常(Anomaly)

异常是非典型事件,仅在特殊情况下才会发生。
通常会被误认为是离群值(Outlier)。

异常检测任务主要分为三类:

  • 点异常(Point Anomaly)
  • 上下文异常(Contextual Anomaly)
  • 集合异常(Collective Anomaly)

点异常(Point Anomaly)

当某个单独的观测值与其他数据相比显得异常时,就称为点异常。例如:

在北半球的7月出现降雪就是一个典型的点异常例子。

上下文异常(Contextual Anomaly)

某个观测值在其特定上下文中是异常的,但在其他上下文中可能是正常的。例如:

某个网站A在一小时内有100次访问是异常的,但对于另一个网站B来说可能是常态。

集合异常(Collective Anomaly)

一组观测值整体上与数据集的其余部分不一致。例如:

某个网站在一段时间内的访问量只有平时的一半,虽然每个单独的访问量可能不算异常,但整体趋势是异常的。

异常检测方法

可以使用以下方法进行异常检测:

✅ 统计模型:如 z-score、四分位分析
✅ 有监督学习算法:如 Isolation Forest、SVM
✅ 半监督/无监督学习算法:如聚类、降维

⚠️ 异常的存在并不意味着模型失效,因此通常不需要对模型进行重新校准。


4. 新颖性(Novelty)

新颖性是指与训练数据集不相似的新观测值。

在新颖性检测中,我们通常使用一个已经清洗过的训练集(不包含离群值)来训练检测算法。该算法会判断新来的观测值是否与训练数据匹配。

在这一过程中,离群值也可能被视为新颖性。

新颖性检测 vs 异常检测

新颖性检测可以看作是一种半监督的离群值检测方法。不同之处在于:

  • 异常检测用于训练数据本身
  • 新颖性检测用于新数据点

在新颖性出现时,我们不需要更改模型或业务流程

常见算法

One-Class SVM 是一种常见的新颖性检测算法。它会学习训练数据的边界,并判断新数据是否属于同一分布。

如果新数据点落在边界之外,则被标记为新颖性。

应用场景

新颖性检测广泛应用于在线训练任务中,因为新数据需要实时判断是否为离群值。


5. 对比总结

类型 描述 是否影响模型 是否需要重新训练
漂移(Drift) 数据分布或结构的变化 ✅ 会降低模型精度 ✅ 需要重新训练
异常(Anomaly) 数据集中不寻常的样本 ❌ 不影响模型有效性 ❌ 不需要重新训练
新颖性(Novelty) 不属于训练数据的新样本 ❌ 不影响模型有效性 ❌ 不需要重新训练

小结:

  • 漂移 是一种数据分布的变化,通常会导致模型性能下降,需要重新训练。
  • 异常 是数据集中的不寻常样本,不一定意味着模型失效。
  • 新颖性 是新数据中的异常样本,通常出现在训练集之外。

6. 总结

本文介绍了机器学习中与离群值相关的几个核心概念:

  1. 定义了漂移(Drift)及其类型(概念漂移、数据漂移)
  2. 解释了异常(Anomaly)的三种类型(点异常、上下文异常、集合异常)
  3. 介绍了新颖性(Novelty)的概念及其检测方法
  4. 对比了漂移、异常和新颖性之间的区别

理解这些概念有助于我们更好地识别模型性能下降的原因,并采取相应措施提升模型的鲁棒性和适应性。


原始标题:Drift, Anomaly, and Novelty in Machine Learning