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

时间:2025-05-02  作者:Diven  阅读:0

什么是异常检测?

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

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

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

制造生产线的缺陷

放射学影像中的恶性肿瘤

金融交易中的欺诈

零售业的客户流失

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

在 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 训练单类支持向量机。单类支持向量机基于正常图像训练。负的分类分数表示异常。
审核编辑:刘清

猜您喜欢

保险丝作为电路保护的重要元件,有着着不可替代的作用。WONKEDQ作为知名的一次性保险丝品牌,高品质和多样化的产品类型赢得了认可。本文将围绕WONKEDQ一次性...
2025-01-28 07:34:30

贴片电阻小巧玲珑,但上面的数字却蕴藏着阻值信息。别担心,解读这些数字并不难,只需掌握几个简单的规则。三位数字的贴片电阻最常见,例如「102」。前两位数字代表有效...
2025-04-14 15:03:42

现代工业和日常生活中,配件的作用愈发显得重要。特别是“Accessories_22.5X7.8MM_SM”,作为尺寸为22.5X7.8MM的配件,不仅在功能上起...
2025-04-22 01:30:53

测量贴片电阻两端的电压,我们需要用到万用表。将万用表旋转到电压档位 (通常用V表示),根据预估电压选择合适的量程。例如,如果预估电压小于2V,可以选择2V量程;...
2024-11-29 10:26:16

贴片电阻的英文是Chip Resistor,的缩写通常有两种: SMR (Surface Mount Resistor) 或 CRM (Chip Resisto...
2024-11-29 10:25:54

电路图中,排阻(也称为电阻器)是非常重要的元件,应用于各种电子设备中。排阻的主要功能是限制电流的流动,调节电压,并在电路中提供特定的电阻值。为了在电路图中清晰地...
2025-04-18 19:30:37

聚丙烯膜电容是电子行业中常见的元件。在电路中起到储存电能的作用。很多人对聚丙烯膜电容有极性的问题有疑问。本文将对此进行详细探讨。极性定义极性是指电容的正负极。一...
2025-04-13 10:00:11

防硫化电阻作为重要的电子元件,因其优异的防硫化性能和稳定的电阻值,应用于各种电子设备中。融欣(JACKCON)作为知名的电子元件制造商,其防硫化电阻产品以高质量...
2017-12-08 12:44:08

电动工具配件在现代工业和家庭装修中是重要配件,其主要优势不容忽视。电动工具配件的兼容性强,能够与多种品牌和型号的电动工具配合使用,提升了工具的使用效率。这些配件...
2025-04-29 00:00:00

2024-09-01 05:05:30