0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用异常检测识别意外事件以及偏离正常行为的情况

MATLAB 来源:MATLAB 2023-07-24 09:59 次阅读

什么是异常检测

异常检测是识别与预期行为不同的事件或模式的过程。异常检测范围广泛,从简单的离群值检测,到复杂的机器学习算法,这些算法经过训练可以发现数百个信号中隐藏的模式。

工程师和数据科学家使用异常检测来进行以下识别:

机械故障,用于预测性维护

制造生产线的缺陷

放射学影像中的恶性肿瘤

金融交易中的欺诈

零售业的客户流失

视频监控录像中的异常动作

MATLAB 中,有很多方法均可用来设计异常检测算法。哪种异常检测方法最适用于给定应用,将取决于可用异常数据量,以及您是否可将异常数据与正常数据区分开来。

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

您能在原始数据中发现异常吗?

有时候,您只需查看数据即可执行异常检测。例如,下面图 1 中的信号是从风扇收集的,您可以很容易地看到表示风扇行为异常的信号突变。如果您能够通过肉眼检测异常,则也许可以使用简单的算法(例如 findchangepts 或 controlchart)进行异常检测。

087e1718-1b1c-11ee-962d-dac502259ad0.jpg

图 1:MATLAB 冷却风扇数据图,异常情况一目了然。

您能在衍生特征中发现异常吗?

通常很难从原始数据中直观地检测异常。在下面的信号中,很难确定哪个时域信号有异常。然而,如果创建功率谱以在频域中查看数据,则峰值的频率和幅度差异可以清楚地表明两个信号截然不同。在这种情况下,您可以将这些峰值用作基于有监督学习方法的异常检测算法的特征输入。

08a0215a-1b1c-11ee-962d-dac502259ad0.jpg

图 2:尽管原始时序信号(左图)中的异常看上去不明显,但在频域中查看数据(右图,使用 MATLAB 中的周期图)时,可以看到峰值频率的明显差异。

您能用统计学方法区分正常特征和异常特征吗?

在单个信号中,异常不一定那么明显。当今的复杂机器可能有数百个传感器。有时,只有同时考虑多个传感器时,异常才会变得明显。标注了数据后,您可以检查时域和频域特征的统计分布,如图 3 所示。您还可以执行特征变换和排名,以识别最能区分两个组的特征。然后,您可以使用这些特征,通过有监督学习方法基于标注的数据训练异常检测算法。

08ccbd96-1b1c-11ee-962d-dac502259ad0.jpg

图 3:左侧的 MATLAB 图分别用蓝色和红色表示成对的正常数据和异常数据。右侧是来自诊断特征设计器的相应特征直方图,用于识别哪些特征可明确区分正常数据和异常数据,以供有监督异常检测算法使用。

如果您不知道异常的具体表现该怎么办?

机械故障代价高昂,因此,操作人员通常希望通过保守的维护计划来防患未然。这可能意味着异常很少见,使得设计异常检测算法变得很棘手。

有几种设计异常检测算法的方法只需很少的异常数据,或者根本不需要异常数据。这些“仅正常”方法只基于正常数据训练算法,并将正常数据之外的数据识别为异常数据。

使用 MATLAB,您可以对数据应用以下“仅正常”异常检测方法:

阈值化。

阈值化在数据超过统计指标的阈值时识别异常。例如,时序数据中最近时段内的标准差,对信号使用控制图,使用变化点检测查找信号中的突变,或获得数据分布的稳健估计值,并将分布边缘的样本识别为异常。基于统计指标的阈值化是个不错的方法,但与机器学习方法相比,这种方法应用于多元数据比较困难,而且在异常检测方面也不够稳健。对于离群值具有稳健性的统计估计法将生成更好的结果,例如稳健协方差。

单类支持向量机。

单类支持向量机用于识别最大化类间距离的分离超平面。仅训练一个类会生成可视为正常的数据的模型。该模型使您无需任何可用于训练的标注异常即可检测异常。这种方法和其他基于距离的方法需要数值特征作为输入,而且不适用于高维数据。

孤立森林。

孤立森林可用于构建将每个观测值隔离到一个叶节点中的树。异常分数作为样本的平均深度进行计算:异常样本需要的决策数比正常样本的要少。这种方法支持数值特征和分类特征组合,并且适用于高维数据。

编码器

自编码器是基于正常数据训练且尝试重构原始输入的神经网络。经过训练的自编码器将会准确地重构正常输入。如果输入与其重构之间差异巨大,则可能表明存在异常。自编码器可用于信号和图像数据。

08f03280-1b1c-11ee-962d-dac502259ad0.jpg

图 4:自编码器经过训练,可以复制输入。利用输入与其重构之间的差异,可以对信号或图像数据进行异常检测。

当您的数据中存在异常但无法进行标注时,您还可以尝试使用无监督聚类方法进行异常检测。有时,您可以将聚类与正常数据和异常数据相关联,但除非数据集是均衡的(包含许多同类型的异常),否则使用“仅正常”方法更有可能获得有用的结果。

在应用异常检测算法之前,通常需要从原始数据中提取特征。

MATLAB 同时支持以手动和自动方法从信号、图像和文本数据中提取特征。Predictive Maintenance Toolbox 中的诊断特征设计器可以帮助您从多种类型的信号中提取特征。

总结

异常检测有助于识别离群值、与正常值的偏差和意外行为

如果您有足够的标注数据(包括异常),则可使用有监督学习方法进行异常检测

如果您的数据大部分都是正常数据,则应用某种专门的“仅正常”异常检测方法即可

上手示例:

使用 MATLAB 检测图像中的对象缺陷

要构建基于图像的异常检测算法,您可以执行以下操作:

1) 将图像馈送入预训练的 AlexNet 卷积神经网络;

2) 使用第一层后的网络激活值作为特征,然后

3) 使用 fitcsvm 训练单类支持向量机。单类支持向量机基于正常图像训练。负的分类分数表示异常。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2548

    文章

    50689

    浏览量

    752027
  • matlab
    +关注

    关注

    182

    文章

    2963

    浏览量

    230170
  • 编码器
    +关注

    关注

    45

    文章

    3596

    浏览量

    134169
  • 向量机
    +关注

    关注

    0

    文章

    166

    浏览量

    20850
  • 机器学习
    +关注

    关注

    66

    文章

    8378

    浏览量

    132415

原文标题:什么是异常检测?使用异常检测识别意外事件以及偏离正常行为的情况

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AI行为识别摄像机

    随着科技的飞速发展,人工智能(AI)在各个领域的应用越来越广泛。在安全监控领域,AI行为识别摄像机作为一种新兴技术,正逐渐改变传统监控方式,为公共安全和商业运营提供了全新的解决方案。AI行为
    的头像 发表于 11-21 10:49 64次阅读
    AI<b class='flag-5'>行为</b><b class='flag-5'>识别</b>摄像机

    小米回应磁吸充电宝凌晨爆炸

    有网友爆料称使用小米磁吸充电宝充电两小时候,突然在凌晨爆炸,造成家中损毁严重。据媒体报道,目前已将损毁的小米磁吸充电宝送去门店去检测,正协商赔偿事宜。 对此意外事件,小米之家方面回应称,涉事充电宝
    的头像 发表于 10-25 15:12 564次阅读

    基于AI的异常检测解决方案

    工业过程和机械依赖可预测性和精确性。传感器数据中的意外模式(称为异常)可能表明存在问题,例如组件故障或传感器性能下降。基于 AI 的异常检测有助于工程师尽早发现这些潜在问题,从而使他们
    的头像 发表于 10-17 10:43 233次阅读

    攀高行为识别摄像机

    潜在的攀高行为,为社会提供了更为全面的安全防护。攀高行为检测识别摄像机利用计算机视觉和人工智能算法,通过分析实时视频流来判断是否存在攀爬或其他危险
    的头像 发表于 10-10 14:31 119次阅读
    攀高<b class='flag-5'>行为</b><b class='flag-5'>识别</b>摄像机

    攀高行为检测识别摄像机

    攀高行为检测识别摄像机是一种结合了图像识别技术和智能算法的设备,旨在监测和识别人员在高空作业中的攀高行为
    的头像 发表于 08-29 10:17 183次阅读
    攀高<b class='flag-5'>行为</b><b class='flag-5'>检测</b><b class='flag-5'>识别</b>摄像机

    目标检测识别主要应用于哪些方面

    介绍目标检测识别的应用领域,以及其在各个领域的具体应用情况。 安全监控 安全监控是目标检测识别
    的头像 发表于 07-17 09:34 933次阅读

    AI行为识别视频监控系统 Python

    的具体内容。人工智能技术行为识别可以精确识别情景当中人员的异常行为,而传统化的安防监控是各种各样情景转变后形成的视频,不可以精确
    的头像 发表于 07-06 10:36 483次阅读
    AI<b class='flag-5'>行为</b><b class='flag-5'>识别</b>视频监控系统 Python

    人员跌倒识别检测算法

    人员跌倒识别检测算法是基于视频的检测方法,通过对目标人体监测,当目标人体出现突然倒地行为时,自动监测并触发报警。人员跌倒识别
    的头像 发表于 06-30 11:47 425次阅读
    人员跌倒<b class='flag-5'>识别</b><b class='flag-5'>检测</b>算法

    AI烟雾监测识别摄像机:智能化安全防范的新利器

    随着现代社会的不断发展,人们对于安全问题的关注日益增加,尤其是在日常生活和工作中,对火灾等意外事件的预防成为了一项重要任务。为了更好地应对火灾风险,近年来,AI烟雾监测识别摄像机应运而生,成为智能化
    的头像 发表于 05-07 10:30 370次阅读
    AI烟雾监测<b class='flag-5'>识别</b>摄像机:智能化安全防范的新利器

    工业异常检测超越特定阈值限制的解决方案

    异常检测和分割(AD&S)对于工业质量控制至关重要。虽然现有方法在为每个像素生成异常分数方面表现出色,但实际应用需要产生一个二进制分割来识别异常
    发表于 04-09 10:44 524次阅读
    工业<b class='flag-5'>异常</b><b class='flag-5'>检测</b>超越特定阈值限制的解决方案

    当算术运算期间发生除以零或下溢/溢出时,ARM926EJ-S内核的行为是什么?

    当算术运算期间发生除以零或下溢/溢出时,ARM926EJ-S 内核的行为是什么。 我知道有些架构已经定义了行为,或者可以将其配置为触发中断以响应其中一个算术异常。 该处理器是否具有在运行时检测
    发表于 02-22 07:35

    miniprog3在win7电脑识别异常,也无法下载仿真怎么解决?

    miniprog3在win7电脑识别异常,也无法下载仿真,但是该下载器在别的电脑(win10)上是可以正常识别使用的,请问有没有遇到过这种情况,我这边尝试过禁掉数字签名,但是没有解决问
    发表于 02-18 08:48

    防盗报警器电路图分享

    防盗报警器是一种电子设备,主要用于预防抢劫、盗窃等意外事件。它通常由防盗报警主机和防盗报警配件组成,能够探测入侵行为或由配件主动触发报警信号,并通过现场警号、网络或通信方式将报警信息传达给指定的人或系统平台。
    的头像 发表于 02-12 17:36 2321次阅读
    防盗报警器电路图分享

    TLF35584寄存器VMONSTAT出现异常行为的原因?

    我看到寄存器 VMONSTAT 出现异常行为,出于某种原因(我们仍然不知道为什么)寄存器显示 QVR(电压基准)不正常,尽管我们肯定知道输出引脚上有电压,但根据数据表,寄存器报告 QT1 和 QT2
    发表于 01-22 06:16

    基于DiAD扩散模型的多类异常检测工作

    现有的基于计算机视觉的工业异常检测技术包括基于特征的、基于重构的和基于合成的技术。最近,扩散模型因其强大的生成能力而闻名,因此本文作者希望通过扩散模型将异常区域重构成正常
    的头像 发表于 01-08 14:55 1278次阅读
    基于DiAD扩散模型的多类<b class='flag-5'>异常</b><b class='flag-5'>检测</b>工作