异常检测 101

异常检测宽泛地指识别样本分布中可能被视为异常的观测值的任务。属于分布中的任何观测值称为内点(inlier),任何偏离的点称为异常值(outlier)。

在机器学习的背景下,完成此任务有三种常见方法

  1. 无监督异常检测
    • 训练数据(无标签)包含正常和异常观测值。

    • 模型在拟合过程中识别异常值。

    • 当异常值被定义为数据中存在于低密度区域的点时,采用此方法。

    • 任何不属于高密度区域的新观测值都被视为异常值。

  2. 半监督新颖性检测
    • 训练数据仅包含描述正常行为的观测值。

    • 模型在训练数据上进行拟合,然后用于评估新的观测值。

    • 当异常值被定义为与训练数据分布不同的点时,采用此方法。

    • 与训练数据在阈值范围内不同的任何新观测值,即使它们形成高密度区域,也被视为异常值。

  3. 监督异常分类
    • 每个观测值的真实标签(内点 vs 异常值)是已知的。

    • 模型在不平衡的训练数据上进行拟合,然后用于分类新的观测值。

    • 当真实标签可用且假定异常值将遵循与训练集相同的分布时,采用此方法。

    • 使用模型对任何新观测值进行分类。

PyOD 中的算法专注于前两种方法,它们在训练数据的定义方式和模型输出的解释方式上有所不同。如果想了解更多,请参考我们的异常检测资源页面,其中包含相关的书籍、论文、视频和工具箱。