异常检测

异常检测是什么?

异常检测是确定事件或模式的过程,不同于预期行为。异常检测的范围可以从简单的孤立点检测的复杂机器学习算法训练发现隐藏的模式在数以百计的信号。

工程师和数据科学家使用异常检测来确定:

  • 在机械故障预测维护
  • 缺陷制造生产线
  • 癌症的放射学图像
  • 在金融交易欺诈
  • 客户流失在零售
  • 不寻常的运动视频监控录像

有很多方法来设计异常检测算法在MATLAB®。异常检测方法最适合给定应用程序将取决于异常数据的数量,以及是否可以区分异常和正常的数据。

异常偏离预期的行为,它很难识别异常事件或模式仅通过检查。异常检测算法可以帮助找到这些偏差。学习如何与硬件演示。

异常检测的第一步是检查你的数据。考虑以下问题:

你能看到原始数据中的异常吗?

有时你可以执行异常检测通过看您的数据。例如,下面图1中的信号收集从一个球迷,你可以很容易地看到突然信号变化表明异常粉丝的行为。如果你能检测到异常的眼睛,你可以使用一个简单的算法等findchangeptscontrolchart异常检测。

从冷却风扇,MATLAB绘制的数据显示异常,容易被发现。

图1:MATLAB绘制的数据从一个冷却风扇,显示异常,容易被发现。

你能看见衍生功能异常吗?

异常往往很难发现视觉从原始数据。在下面的信号中,很难确定时域信号异常。然而,如果您创建一个功率谱来查看数据在频域、不同的频率和峰值的大小显然表明,两个信号有很大的不同。在这种情况下,您可以使用这些峰作为特征输入到一个基于异常检测算法监督式学习方法。

虽然异常视觉并不明显的原始时间序列信号(eft),查看数据在频域(对,在MATLAB中使用周期图)显示明显的峰值频率的差异。

图2:虽然异常视觉并不明显的原始时间序列信号(左),查看数据在频域(对,在MATLAB中使用周期图)显示明显的峰值频率的差异。

你能统计独立的正常和异常的特征吗?

异常并不总是很明显在一个信号。今天的复杂的机器可以有数百个传感器,有时异常变得明显只有当考虑多个传感器。当你有带安全标签的数据时,您可以检查时间和频域的统计分布特性,如图3所示。你也可以执行功能转换和排名来确定最好的两组独立的功能。然后,您可以使用这些功能来训练标记数据的异常检测算法使用监督学习。

在左边,MATLAB情节代表配对正常和异常数据,分别用蓝色和红色。在右,从诊断功能设计相应的直方图特征用于识别哪些特性明显独立的正常和异常数据监督异常检测算法。

图3:在左边,MATLAB情节代表配对正常和异常数据,分别用蓝色和红色。在右边,从诊断功能设计相应的直方图特征用于识别哪些特性明显独立的正常和异常数据监督异常检测算法。

如果你不知道一个异常是什么样子?

机器停机时间是昂贵的,因此运营商通常旨在防止问题一个保守的维修计划。这可能意味着异常罕见,这使得设计一个棘手的异常检测算法。

几种方法设计需要很少或根本没有异常数据异常检测算法。这些“normal-only”方法训练算法正常数据,并确定数据以外的这些规范为异常。

使用MATLAB,您可以应用以下normal-only异常数据检测方法:

  • 阈值。阈值识别异常当数据超过一个阈值在统计指标。例子包括时间序列数据的标准差近窗口,使用控制图信号,发现突然变化的信号使用变化点检测,或获得稳健的估计数据分布和识别样本的边缘分布异常。阈值在统计指标可以是一个良好的开端,但这种方法很难适用于多元数据和健壮的低于机器学习的异常检测方法。统计估计,健壮的异常值会产生更好的结果,如健壮的协方差

  • 看到下面成了一个支持金宝app向量机。看到下面成了一金宝app支持向量机识别分离超平面,类之间的距离最大化。培训只有一个类产生一个模型的数据可以被认为是正常的,你可以发现异常没有任何标记异常提供培训。这种方法和其他基于距离的方法需要数字特征作为输入,并将不适合在高维数据。

  • 与世隔绝的森林。与世隔绝的森林构建树隔离每个观测到一片叶子,和异常的分数计算样本的平均深度:异常样本决策比正常的少。这种方法支持数字和分类功金宝app能,适用于高维数据。

  • Autoencoders。Autoencoders在正常的神经网络训练数据,试图重建原始输入。训练autoencoder将重建正常输入准确。很大区别的输入和灾后重建可能会显示异常。Autoencoders可用于信号和图像数据。

Autoencoders训练复制输入。输入之间的差异及其重建可用于异常检测信号或图像数据。

图4:Autoencoders训练复制输入。输入之间的差异及其重建可用于异常检测信号或图像数据。

当你有异常数据但不能标签在你的,你也可以试一试无监督聚类异常检测方法。有时你可以把集群与正常和异常数据,但除非你的数据集是平衡(包含许多相同类型的异常),有用的结果更有可能与normal-only方法。

应用异常检测算法之前,你经常需要从原始数据中提取特征。MATLAB同金宝app时支持手动和自动从信号中提取特征的方法,图像和文本数据。的诊断功能设计预见性维护工具箱™可以帮助你从许多类型的信号提取特征。

要点

  • 异常检测可帮助您识别异常值,偏离正常,和意想不到的行为
  • 如果您有足够的标签数据(包括异常),使用监督学习进行异常检测
  • 如果你有大多正常数据,应用专业normal-only异常检测方法之一

检测对象的缺陷与MATLAB的图像

建立一个基于图像异常检测算法,您可以:1)喂你的图像通过pretrained AlexNet卷积神经网络,2)使用网络激活后第一层特性,然后3)支持向量机训练看到下面成了金宝appfitcsvm。看到下面成了一个支持向量机训练在正常的图像,和消极的分类评分显示异常。在下面的示例中,训练模型正确地确定了四个六角螺帽表面缺陷。在试一试这个例子

检测对象的缺陷与MATLAB的图像

参见:统计和机器学习的工具箱™,预见性维护工具箱™,图像处理工具箱™,深度学习工具箱™,autoencoders,特征选择,工程特性,机器学习模型,机器学习是什么?,金宝app支持向量机(SVM),预见性维护,状态监测,计算机视觉