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

    文章

    6786

    浏览量

    88705
  • 异常检测
    +关注

    关注

    1

    文章

    42

    浏览量

    9722
  • 模型
    +关注

    关注

    1

    文章

    3097

    浏览量

    48624

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

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

收藏 人收藏

    评论

    相关推荐

    bq2750x系列中的Impedance Track™电池电量监测算法的理论及实现

    电子发烧友网站提供《bq2750x系列中的Impedance Track™电池电量监测算法的理论及实现.pdf》资料免费下载
    发表于 08-30 10:21 0次下载
    bq2750x系列中的Impedance Track™电池电量监<b class='flag-5'>测算法</b>的理论及实现

    旗晟机器人环境检测算法有哪些?

    硬件支撑,更离不开强大的算法库作为软件核心,二者相辅相成,缺一不可。今天就来了解旗晟机器人环境检测算法。 1、设施异常监测 通过集成高精度传感器与智能图像识别技术。它不仅能检测A字梯是
    的头像 发表于 07-19 17:54 483次阅读
    旗晟机器人环境<b class='flag-5'>检测算法</b>有哪些?

    opencv图像识别有什么算法

    图像识别算法: 边缘检测 :边缘检测是图像识别中的基本步骤之一,用于识别图像中的边缘。常见的边缘检测算法有Canny边缘检测器、Sobel边
    的头像 发表于 07-16 10:40 687次阅读

    口罩佩戴检测算法

    口罩佩戴检测算法基于YOLOv5在图像识别检测领域的优异性能,本文研究基于基于YOLOv5的口罩佩自动戴检测方法。首先从网络和真实生活中中寻找并采集不同场景人群口罩佩戴的图片约500张并自建数据集
    的头像 发表于 07-01 20:20 259次阅读
    口罩佩戴<b class='flag-5'>检测算法</b>

    人员跌倒识别检测算法

    人员跌倒识别检测算法是基于视频的检测方法,通过对目标人体监测,当目标人体出现突然倒地行为时,自动监测并触发报警。人员跌倒识别检测算法基于计算机识别技术,配合现场摄像头,自动识别如地铁手扶梯/楼梯
    的头像 发表于 06-30 11:47 386次阅读
    人员跌倒识别<b class='flag-5'>检测算法</b>

    安全帽佩戴检测算法

    安全帽佩戴监控是铁路工程施工人员安全管理中的重点和难点,它对检测算法的准确 率与检测速度都有较高的要求。本文提出一种基于神经网络架构搜索的安全帽佩戴检测算法 NAS-YOLO。该神经网络架构由上
    的头像 发表于 06-26 22:22 333次阅读
    安全帽佩戴<b class='flag-5'>检测算法</b>

    基于FPGA的实时边缘检测系统设计,Sobel图像边缘检测,FPGA图像处理

    ,所以先扩大系数近似为整数再运算。此处扩大256 倍后取整,将运算结果右移 8 位,提取 Y 分量即可得到灰度图像,即 3 边缘检测算法设计 如图4所示为待处理的3×3 像素点,使用 Sobel
    发表于 05-24 07:45

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

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

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

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

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

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

    基于transformer和自监督学习的路面异常检测方法分享

    铺设异常检测可以帮助减少数据存储、传输、标记和处理的压力。本论文描述了一种基于Transformer和自监督学习的新方法,有助于定位异常区域。
    的头像 发表于 12-06 14:57 1358次阅读
    基于transformer和自监督学习的路面<b class='flag-5'>异常</b><b class='flag-5'>检测</b>方法分享

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

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

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

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

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

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

    FPGA图像处理之Canny边缘检测

    在边缘检测算法里面Sobel是比较简单的一个算法,但是其检测出来的边缘往往是比较粗的,效果不是很好,因为我们最理想的边缘肯定就是一个宽度为1的细线。
    的头像 发表于 11-17 09:10 1418次阅读
    FPGA图像处理之Canny边缘<b class='flag-5'>检测</b>