异常检测是什么?
异常检测是确定事件或模式的过程,不同于预期行为。异常检测的范围可以从简单的孤立点检测的复杂机器学习算法训练发现隐藏的模式在数以百计的信号。
工程师和数据科学家使用异常检测来确定:
- 在机械故障预测维护
- 缺陷制造生产线
- 癌症的放射学图像
- 在金融交易欺诈
- 客户流失在零售
- 不寻常的运动视频监控录像
有很多方法来设计异常检测算法在MATLAB®。异常检测方法最适合给定应用程序将取决于异常数据的数量,以及是否可以区分异常和正常的数据。
异常检测的第一步是检查你的数据。考虑以下问题:
你能看到原始数据中的异常吗?
有时你可以执行异常检测通过看您的数据。例如,下面图1中的信号收集从一个球迷,你可以很容易地看到突然信号变化表明异常粉丝的行为。如果你能检测到异常的眼睛,你可以使用一个简单的算法等findchangepts或controlchart异常检测。
你能看见衍生功能异常吗?
异常往往很难发现视觉从原始数据。在下面的信号中,很难确定时域信号异常。然而,如果您创建一个功率谱来查看数据在频域、不同的频率和峰值的大小显然表明,两个信号有很大的不同。在这种情况下,您可以使用这些峰作为特征输入到一个基于异常检测算法监督式学习方法。
你能统计独立的正常和异常的特征吗?
异常并不总是很明显在一个信号。今天的复杂的机器可以有数百个传感器,有时异常变得明显只有当考虑多个传感器。当你有带安全标签的数据时,您可以检查时间和频域的统计分布特性,如图3所示。你也可以执行功能转换和排名来确定最好的两组独立的功能。然后,您可以使用这些功能来训练标记数据的异常检测算法使用监督学习。
如果你不知道一个异常是什么样子?
机器停机时间是昂贵的,因此运营商通常旨在防止问题一个保守的维修计划。这可能意味着异常罕见,这使得设计一个棘手的异常检测算法。
几种方法设计需要很少或根本没有异常数据异常检测算法。这些“normal-only”方法训练算法正常数据,并确定数据以外的这些规范为异常。
使用MATLAB,您可以应用以下normal-only异常数据检测方法:
阈值。阈值识别异常当数据超过一个阈值在统计指标。例子包括时间序列数据的标准差近窗口,使用控制图信号,发现突然变化的信号使用变化点检测,或获得稳健的估计数据分布和识别样本的边缘分布异常。阈值在统计指标可以是一个良好的开端,但这种方法很难适用于多元数据和健壮的低于机器学习的异常检测方法。统计估计,健壮的异常值会产生更好的结果,如健壮的协方差。
看到下面成了一个支持金宝app向量机。看到下面成了一金宝app支持向量机识别分离超平面,类之间的距离最大化。培训只有一个类产生一个模型的数据可以被认为是正常的,你可以发现异常没有任何标记异常提供培训。这种方法和其他基于距离的方法需要数字特征作为输入,并将不适合在高维数据。
与世隔绝的森林。与世隔绝的森林构建树隔离每个观测到一片叶子,和异常的分数计算样本的平均深度:异常样本决策比正常的少。这种方法支持数字和分类功金宝app能,适用于高维数据。
Autoencoders。Autoencoders在正常的神经网络训练数据,试图重建原始输入。训练autoencoder将重建正常输入准确。很大区别的输入和灾后重建可能会显示异常。Autoencoders可用于信号和图像数据。
要点
- 异常检测可帮助您识别异常值,偏离正常,和意想不到的行为
- 如果您有足够的标签数据(包括异常),使用监督学习进行异常检测
- 如果你有大多正常数据,应用专业normal-only异常检测方法之一
例子和如何
软件参考
参见:统计和机器学习的工具箱™,预见性维护工具箱™,图像处理工具箱™,深度学习工具箱™,autoencoders,特征选择,工程特性,机器学习模型,机器学习是什么?,金宝app支持向量机(SVM),预见性维护,状态监测,计算机视觉