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

    文章

    7314

    浏览量

    93938
  • 异常检测
    +关注

    关注

    1

    文章

    45

    浏览量

    9964
  • 模型
    +关注

    关注

    1

    文章

    3648

    浏览量

    51692

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    机器视觉助力FPD 面板检测

    FPD面板光学检测,需要在工业相机上使用图像识别和检测算法检测缺陷和异常
    的头像 发表于 09-26 16:09 437次阅读
    机器视觉助力FPD 面板<b class='flag-5'>检测</b>

    有哪些常见的AI算法可以用于装置数据的异常检测

    (如边缘 / 云端)。以下按 算法类型分类 ,详细介绍常见 AI 算法的原理、适用场景、优缺点及装置数据适配性: 一、无监督式异常检测算法(主流选择
    的头像 发表于 09-18 09:27 407次阅读
    有哪些常见的AI<b class='flag-5'>算法</b>可以用于装置数据的<b class='flag-5'>异常</b><b class='flag-5'>检测</b>?

    如何利用AI算法进行装置数据的异常检测

    - 异常闭环” 的全流程设计,实现精准、高效的异常识别。以下是具体实施框架与关键步骤: 一、第一步:明确装置数据异常类型与检测目标 在选择
    的头像 发表于 09-05 15:27 1104次阅读
    如何利用AI<b class='flag-5'>算法</b>进行装置数据的<b class='flag-5'>异常</b><b class='flag-5'>检测</b>?

    IGBT 样品异常检测案例解析

    通过利用Thermal EMMI(热红外显微镜)去检测IGBT 样品异常
    的头像 发表于 08-15 09:17 1587次阅读
    IGBT 样品<b class='flag-5'>异常</b><b class='flag-5'>检测</b>案例解析

    机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统

    算法进行异常检测,并结合LightGBM作为主分类器,构建完整的欺诈检测系统。文章详细阐述了从无监督异常
    的头像 发表于 06-24 11:40 1193次阅读
    机器学习<b class='flag-5'>异常</b><b class='flag-5'>检测</b>实战:用Isolation Forest快速构建无标签<b class='flag-5'>异常</b><b class='flag-5'>检测</b>系统

    提高IT运维效率,深度解读京东云AIOps落地实践(异常检测篇)

    基于深度学习对运维时序指标进行异常检测,快速发现线上业务问题 时间序列的异常检测是实际应用中的一个关键问题,尤其是在 IT 行业。我们没有采用传统的基于阈值的方法来实现
    的头像 发表于 05-22 16:38 795次阅读
    提高IT运维效率,深度解读京东云AIOps落地实践(<b class='flag-5'>异常</b><b class='flag-5'>检测</b>篇)

    基于RK3576开发板的车辆检测算法

    车辆检测是一种基于深度学习的对人进行检测定位的目标检测,能广泛的用于园区管理、交通分析等多种场景,是违停识别、堵车识别、车流统计等多种算法的基石算法
    的头像 发表于 05-08 17:34 1267次阅读
    基于RK3576开发板的车辆<b class='flag-5'>检测算法</b>

    基于RK3576开发板的安全帽检测算法

    安全帽佩戴检测是工地、生产安全、安防的重中之重,但人为主观检测的方式时效性差且不能全程监控。AI技术的日渐成熟催生了安全帽佩戴检测方案,成为了监督佩戴安全帽的利器。本安全帽检测算法是一
    的头像 发表于 05-08 16:59 1863次阅读
    基于RK3576开发板的安全帽<b class='flag-5'>检测算法</b>

    基于RK3576开发板的人员检测算法

    展示了RK3576开发板的人员检测算法例程及API说明
    的头像 发表于 05-07 17:33 644次阅读
    基于RK3576开发板的人员<b class='flag-5'>检测算法</b>

    基于RV1126开发板的车辆检测算法开发

    车辆检测是一种基于深度学习的对人进行检测定位的目标检测,能广泛的用于园区管理、交通分析等多种场景,是违停识别、堵车识别、车流统计等多种算法的基石算法
    的头像 发表于 04-14 16:00 606次阅读
    基于RV1126开发板的车辆<b class='flag-5'>检测算法</b>开发

    基于RV1126开发板的安全帽检测算法开发

    安全帽佩戴检测是工地、生产安全、安防的重中之重,但人为主观检测的方式时效性差且不能全程监控。AI技术的日渐成熟催生了安全帽佩戴检测方案,成为了监督佩戴安全帽的利器。本安全帽检测算法是一
    的头像 发表于 04-14 15:10 654次阅读
    基于RV1126开发板的安全帽<b class='flag-5'>检测算法</b>开发

    基于RV1126开发板的人员检测算法开发

    在RV1126上开发人员检测AI算法组件
    的头像 发表于 04-14 13:56 625次阅读
    基于RV1126开发板的人员<b class='flag-5'>检测算法</b>开发

    基于RV1126开发板的人脸检测算法开发

    在RV1126上开发人脸检测算法组件
    的头像 发表于 04-14 10:19 732次阅读
    基于RV1126开发板的人脸<b class='flag-5'>检测算法</b>开发

    轩辕智驾红外目标检测算法在汽车领域的应用

    在 AI 技术蓬勃发展的当下,目标检测算法取得了重大突破,其中红外目标检测算法更是在汽车行业掀起了波澜壮阔的变革,从根本上重塑着汽车的安全性能、驾驶体验与产业生态。
    的头像 发表于 03-27 15:55 733次阅读

    睿创微纳推出新一代目标检测算法

    随着AI技术的发展,目标检测算法也迎来重大突破。睿创微纳作为热成像领军者,凭借深厚的技术积累与创新能力,结合AI技术推出新一代目标检测算法,以三大核心技术带来AI视觉感知全场景解决方案突破,助力各产业智能化升级。
    的头像 发表于 03-20 13:49 797次阅读