异常检测已迅速从计算机科学理论转移到数据科学家的日常实际应用中。现在,它已成为全球许多企业数据清理和 KPI 审查的重要组成部分。总体而言,它大大提高了预测模型的准确性,可以帮助企业快速识别和响应异常。
今天,为了帮助您开始学习这个密集的主题,我们将探索一个 5 分钟的速成课程,了解什么是异常检测、为什么使用它以及一些基本算法。 异常检测是每一种现代机器学习技术的重要组成部分 它可以帮助您构建更具适应性的回归系统,清除分类器系统训练数据中的缺陷,并从监督学习程序中移除异常数据。这种数学方法对于大数据和数据挖掘应用特别有用,因为人眼几乎不可能注意到具有数千个数据点的数据可视化中的异常值。
由于其用例数量众多,来自不同行业的企业都在其数据策略中实施异常检测。例如,许多公司选择使用异常检测方法来跟踪其关键绩效指标 (KPI)。这使他们能够更快地注意到纸上的异常趋势,并在不断变化的现实市场中更加敏捷。
异常检测也被网络安全专家用于先进的人工智能驱动的欺诈检测和入侵检测系统。这些系统使用先进的数据分析技术来实时跟踪和标记可疑的用户行为。
基本异常检测算法
基于密度的技术
基于密度的技术包括常用技术,例如 K 最近邻 (KNN)、局部异常值因子 (LOF)、隔离森林(类似于决策树)等。这些技术可用于回归或分类系统。
这些算法中的每一个都通过遵循最高数据点密度的线来生成预期的行为。落在这些密集区域之外具有统计意义的任何点都被标记为异常。这些技术中的大多数都依赖于点之间的距离,这意味着必须标准化单位并在数据集中缩放以确保准确的结果。
例如,在 KNN 系统中,数据点由 的值加权1/k
,其中k
是到数据点最近邻居的距离。这意味着距离较近的数据点的权重很大,因此比距离较远的数据点对标准的影响更大。然后系统通过查看具有低值的点来标记异常值1/k
。
用例
您有规范化的、未标记的数据,您想要扫描这些数据以查找异常,但您对具有复杂计算的算法不感兴趣。
一类支持向量机
一类支持向量机(one-class SVM)算法是一种监督学习模型,可产生鲁棒的预测模型。它主要用于分类。该系统使用一组训练示例,每个示例都标记为两个类别之一的一部分。然后,系统会创建标准,用于将新示例分类到每个类别中。该算法将示例映射到空间中的点,以最大限度地区分两个类别。
如果异常值超出任一类别的空间太远,系统会标记异常值。如果您没有标记数据,则可以使用一种无监督学习方法,该方法在示例之间寻找聚类来定义类别。
用例
您的数据应该主要属于两个预期类别,并且想要查找哪些数据点位于任一类别之外。
K均值聚类异常检测算法
K 均值聚类算法是一种类似于 KNN 方法的分类算法,因为它依赖于每个数据点与其他附近点的接近程度,并且类似于 SVM,因为它主要侧重于分类到不同的类别中。
每个数据点根据其特征分为几类。每个类别都有一个中心点或质心,用作集群内所有其他数据点的原型。然后将其他点与这些原型进行比较以确定它们的 k 均值,该值本质上充当原型和当前数据点之间差异的度量。较高的 k 均值数据点映射到更靠近原型的位置,从而创建一个集群。
K 均值聚类可以通过标记与任何已建立类别不紧密对齐的点来检测异常。
用例
您拥有由许多不同类型的数据组成的未标记数据,您希望通过与学习原型的相似性来组织这些数据。