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

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

3天内不再提示

如何选择异常检测算法

Dbwd_Imgtec 来源:DeepHub IMBA 作者:Dmytro Nikolaiev 2021-10-25 09:15 次阅读

异常检测(也称为离群点检测)是检测异常实例的任务,异常实例与常规实例非常不同。这些实例称为异常或离群值,而正常实例称为内部值。

异常检测可用于多种应用,例如:

① 欺诈识别

② 检测制造中的缺陷产品

③ 数据清理——在训练另一个模型之前从数据集中去除异常值。

你可能已经注意到,一些不平衡分类的问题也经常使用异常检测算法来解决。例如,垃圾邮件检测任务可以被认为是一个分类任务(垃圾邮件比普通电子邮件少得多),但是我们可以用异常检测的方法实现这个任务。

一个相关的任务是奇异值检测(Novelty Detection)。它与异常检测的不同之处在于,假设该算法是在干净的数据集(没有异常值)上训练的。它被广泛应用于在线学习中,当需要识别一个新实例是否是一个离群值时。

另一个相关任务是密度估计。它是估计数据集生成的随机过程的概率密度函数的任务。密度估计通常用于异常检测(位于低密度区域的实例很可能是异常)和数据分析。通常使用基于密度(高斯混合模型或 DBSCAN)的聚类算法来解决。

统计方法

检测离群值最简单的方法是尝试统计方法,这是很久以前开发出来的。其中最流行的一种方法被称为离群值检测Tukey方法(或四分位数距离IQR) 。

它的本质是计算百分位数和四分位数之间的范围。位于Q1-1.5 * IQR之前和Q3 + 1.5 * IQR之后的数据点被认为是异常值。下面你可以看到一个使用人的身高数据集的例子。高度低于54.95英寸(139厘米)和高于77.75英寸(197厘米)被认为是异常值。

这种和其他统计方法(用于检测异常值的 z-score 方法等)通常用于数据清理。

聚类和降维算法

另一种简单、直观且通常有效的异常检测方法是使用一些聚类算法(如高斯混合模型和 DBSCAN)来解决密度估计任务。那么,任何位于低密度区域的实例都可以被认为是异常,我们只需要设置一些密度阈值。

此外,可以使用任何具有 inverse_transform() 方法的降维算法。这是因为异常的重建误差总是比正常实例的重建误差大得多。

孤立森林和 SVM

一些监督学习算法也可用于异常检测,其中最流行的两种是孤立森林和 SVM。这些算法更适合奇异值检测,但通常也适用于异常检测。

孤立森林算法构建了一个随机森林,其中每个决策树都是随机生长的。每走一步,这片森林就会隔离越来越多的点,直到所有点都变得孤立。由于异常位于远离通常数据点的位置,因此它们通常比正常实例以更少的步骤被孤立。该算法对于高维数据表现良好,但需要比 SVM 更大的数据集。

SVM(在我们的例子中是一类 SVM)也广泛用于异常检测。内核化 SVM 可以构建一个有效的“限制超平面”,它将正常点与异常点分开。像任何 SVM 修改一样,它可以很好地处理高维或稀疏数据,但仅适用于中小型数据集。

局部异常因子

局部异常值因子 (LOF) 算法基于异常位于低密度区域的假设。它不只是设置密度阈值(就像我们可以用 DBSCAN 做的那样),而是将某个点的密度与其最近邻居的 k 的密度进行比较。如果这个特定点的密度比它的邻点低得多(这意味着它离它们很远),它被认为是一个异常。

该算法既可用于异常检测,也可用于奇异值检测。由于其计算简单且质量好,会被经常使用。

最小协方差行列式

最小协方差行列式(MCD 或其修改型 Fast-MCD)可用于异常值检测,尤其是在数据清理的时候。它假设内点是从单个高斯分布中生成的,而离群点不是从这个分布中生成的。由于许多数据具有正态分布(或可以简化为正态分布),因此该算法通常表现良好。在 sklearn 中EllipticEnvelope类就是它的实现。

如何选择异常检测算法?

如果你需要清理数据集,你应该首先尝试经典的统计方法,比如 Tukey Method for Outlier Detection。如果知道数据分布是高斯分布 则可以使用Fast-MCD,。

如果你做异常检测不是为了数据清理,首先试试简单快速的LOF。如果它不能很好地工作(或者如果你出于某种原因需要分离超平面)——根据你的任务和数据集尝试其他算法:

用于稀疏高维数据的单类SVM 或用于连续高维数据的孤立森林

如果可以假设数据是由多个高斯分布的混合生成的,可以试试高斯混合模型

责任编辑:haq

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

    关注

    8

    文章

    6559

    浏览量

    87933
  • 异常检测
    +关注

    关注

    1

    文章

    41

    浏览量

    9698
  • 模型
    +关注

    关注

    1

    文章

    2822

    浏览量

    48038

原文标题:10分钟掌握异常检测

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

收藏 人收藏

    评论

    相关推荐

    COD检测仪响应水质异常的速度?

    方面进行考量和优化,以确保及时有效地监测水质异常情况。   首先,监测仪器本身的性能和响应速度直接影响其在检测水质异常时的效果。应选择具有快速响应能力的COD
    的头像 发表于 05-09 16:08 125次阅读

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

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

    柔性印刷线路板缺陷检测方法指南

    现有的FPC缺陷检测算法多衍生于PCB检测算法,但受本身独特性限制,FPC板缺陷要求更高,检测样板尺寸更大,样板成像易变形,使得针对PCB板的缺陷检测算法不能直接套用FPC板的
    发表于 11-30 15:29 236次阅读

    一种可靠的峰值和起始点检测算法

    电子发烧友网站提供《一种可靠的峰值和起始点检测算法.pdf》资料免费下载
    发表于 11-22 10:27 0次下载
    一种可靠的峰值和起始点<b class='flag-5'>检测算法</b>

    哈工大提出Myriad:利用视觉专家进行工业异常检测的大型多模态模型

    最近,大型多模态(即视觉和语言)模型(LMM)在图像描述、视觉理解、视觉推理等多种视觉任务上表现出了卓越的感知能力,使其成为更易于理解的异常检测的有竞争力的潜在选择。然而,现有的通用 LMM 中缺乏有关
    的头像 发表于 11-21 16:08 908次阅读
    哈工大提出Myriad:利用视觉专家进行工业<b class='flag-5'>异常</b><b class='flag-5'>检测</b>的大型多模态模型

    基于NXP微控制器i.MX RT1170的多人体实时检测算法和系统

    基于NXP微控制器i.MX RT1170的多人体实时检测算法和系统
    的头像 发表于 10-26 16:27 800次阅读
    基于NXP微控制器i.MX RT1170的多人体实时<b class='flag-5'>检测算法</b>和系统

    基于C8051F310的高灵敏车辆检测算法

    电子发烧友网站提供《基于C8051F310的高灵敏车辆检测算法.pdf》资料免费下载
    发表于 10-18 11:00 0次下载
    基于C8051F310的高灵敏车辆<b class='flag-5'>检测算法</b>

    基于Delaunay三角剖分的空间离群点检测算法研究

    电子发烧友网站提供《基于Delaunay三角剖分的空间离群点检测算法研究.pdf》资料免费下载
    发表于 10-07 11:15 0次下载

    智慧矿山ai算法系列解析 堵料检测算法功能优势

    智慧矿山AI算法系列中的堵料检测算法的功能优势,了解其重要性和带来的价值
    的头像 发表于 09-28 18:48 423次阅读
    智慧矿山ai<b class='flag-5'>算法</b>系列解析 堵料<b class='flag-5'>检测算法</b>功能优势

    基于Anomalib和AI x Board的SIMOTECH在线缺陷检测系统

    Anomalib 是一个深度学习库,旨在收集最先进的异常检测算法,以便在公共和私有数据集上进行基准测试。Anomalib 提供了近期文献中描述的异常检测算法的几种即用型实现,以及一套便
    的头像 发表于 09-01 10:23 545次阅读
    基于Anomalib和AI x Board的SIMOTECH在线缺陷<b class='flag-5'>检测</b>系统

    基于Transformer的目标检测算法

    掌握基于Transformer的目标检测算法的思路和创新点,一些Transformer论文涉及的新概念比较多,话术没有那么通俗易懂,读完论文仍然不理解算法的细节部分。
    发表于 08-16 10:51 498次阅读
    基于Transformer的目标<b class='flag-5'>检测算法</b>

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

    异常检测是识别与预期行为不同的事件或模式的过程。异常检测范围广泛,从简单的离群值检测,到复杂的机器学习
    的头像 发表于 07-24 09:59 779次阅读
    使用<b class='flag-5'>异常</b><b class='flag-5'>检测</b>识别意外事件以及偏离正常行为的情况

    基于强化学习的目标检测算法案例

    强化学习的目标检测算法。首先,深度强化学习agent根据初始候选区域所提取的信息决定相应搜索行动,根据行动选择下一个逼近真实目标的候选区域;然后,重复上述过程,直至agent能确定当前区域为目标区域时终止搜索过程;最后,
    发表于 07-19 14:35 0次下载

    无Anchor的目标检测算法边框回归策略

    导读 本文主要讲述:1.无Anchor的目标检测算法:YOLOv1,CenterNet,CornerNet的边框回归策略;2.有Anchor的目标检测算法:SSD,YOLOv2,Faster
    的头像 发表于 07-17 11:17 747次阅读
    无Anchor的目标<b class='flag-5'>检测算法</b>边框回归策略

    基于深度学习模型融合的产品工艺缺陷检测算法简述

     基于深度学习模型融合的工业产品(零部件)工艺缺陷检测算法简述 1、序言 随着信息与智能化社会的到来,工业产品生产逐渐走向智能化生产,极大地提高了生产力。但是随着工人大规模解放,产品或零部件的缺陷
    的头像 发表于 07-06 14:49 441次阅读
    基于深度学习模型融合的产品工艺缺陷<b class='flag-5'>检测算法</b>简述