作者:赵越,卡内基梅隆大学,Datawhale特邀

作者信息

知乎微调:https://www.zhihu.com/people/breaknever

内容概括

1.什么是异常检测?

2.异常检测有什么具体应用?

3.异常检测的工具概览?如何用10行Python代码进行异常检测?

4.异常检测算法概览与主流模型介绍

5.面对各种各样的模型,如何选择和调参?

6.未来的异常检测研究方向

7.异常检测相关的资源汇总(书籍、讲座、代码、数据等)

异常检测

什么是异常值、离群点(anomaly)?

异常一般指的是与标准值(或期待值)有偏离的样本,也就是说跟绝大部分数据“长的不一样”。

异常检测的一些特点:

1.异常不一定代表是“坏”的事情,但往往是“有价值”的事情,我们对异常的成因感兴趣

2.异常检测往往是在无监督的模式下完成的—历史数据中没有标签,我们不知道哪些数据是异常。因此无法用监督学习去检测。

异常检测的应用:

1.金融行业的反欺诈、信用卡诈骗检测:把欺诈或者金融风险当做异常

2.罕见病检测:把罕见病当做异常,比如检测早发的阿兹海默症

3.入侵检测:把网络流量中的入侵当做异常

4.机器故障检测:实时监测发现或预测机械故障

5.图结构、群体检测:比如检测疫情的爆发点等

异常检测的应用

IntelControlFlag

“基于10亿条包含各种错误的未标记生产质量代码的机器学习培训,ControlFlag得以通过“异常检测”技术,对传统编程模式展开筛查。无论使用的是哪种编程语言,它都能够有效地识别代码中可能导致任何错误的潜在异常。”

AmazonAWSCloudWatch:

“今天,我们将通过一项新功能增强CloudWatch,它将帮助您更有效地使用CloudWatch警报。…我们的用户可以构建自定义的控制面板,设置警报并依靠CloudWatch来提醒自己影响其应用程序性能或可靠性的问题。”

Google

“GoogleAnalytics(分析)会选择一段时期的历史数据来训练其预测模型。要检测每天的异常情况,训练期为90天。要检测每周的异常情况,训练期为32周。”

异常检测的挑战

1.大部分情况下是无监督学习,没有标签信息可以使用

2.数据是极端不平衡的(异常点仅占总体数据的一小部分),建模难度大

3.检测方法往往涉及到密度估计,需要进行大量的距离/相似度计算,运算开销大

4.在实际场景中往往需要实时检测,这比离线检测的技术难度更高

5.在实际场景中,我们常常需要同时处理很多案例,运算开销大

6.解释性比较差,我们很难给出异常检测的原因,尤其是在高维数据上。但业务方需要了解异常成因

7.在实际场景中,我们往往有一些检测的历史规则,如何与学习模型进行整合

异常检测工具

Python

1.PyOD:超过30种算法,从经典模型到深度学习模型一应俱全,和sklearn的用法一致

2.Scikit-Learn:包含了4种常见的算法,简单易用

3.TODS:与PyOD类似,包含多种时间序列上的异常检测算法

Java

1.ELKI:EnvironmentforDevelopingKDD-ApplicationsSupportedbyIndex-Structures

2.RapidMiner异常检测扩展

R

1.outlierspackage

2.AnomalyDetection

用10行Python代实行异常检测:

详细介绍:https://zhuanlan.zhihu.com/p/58313521

异常检测算法

异常检测算法可以大致被分为

1.线性模型(LinearModel):PCA

2.基于相似度的度量的算法(Proximity-basedModel):kNN,LOF,HBOS

3.基于概率的算法(ProbabilisticModel):COPOD

4.集成检测算法(EnsembleModel):孤立森林(IsolationForest),XGBOD

5.神经网络算法(NeuralNetworks):自编码器(AutoEncoder)

评估方法也不能简单用准确度(accuracy),因为数据的极端不平衡

1.ROC-AUC曲线

2.Precision@Rankk:topk的精准

3.AveragePrecision:平均精准度

主流模型介绍

如何选择和合并模型

异常检测实践中的技巧

异常检测落地中的考量

1.不要尝试一步到位用机器学习模型来代替传统模型

2.在理想情况下,应该尝试合并机器学习模型和基于规则的模型

3.可以尝试用已有的规则模型去解释异常检测模型

异常检测研究方向

本文视频讲解,PPT,赵越的异常检测资源已汇总(书籍、讲座、代码、数据等)

第 1 步:扫码关注「Datawhale」公众号

第 2 步:回复关键词 异常检测 可获取


往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑
获取本站知识星球优惠券,复制链接直接打开:
https://t.zsxq.com/qFiUFMV
本站qq群704220115。加入微信群请扫码:

【机器学习基础】关于异常检测的分享!相关推荐

  1. 基于机器学习的web异常检测(转)

    阿里聚安全 Web防火墙是信息安全的第一道防线.随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战.传统web入侵检测技术通过维护规则集对入侵访问进行拦截.一方面,硬规则在灵活 ...

  2. 基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否...

    基于机器学习的web异常检测 from: https://jaq.alibaba.com/community/art/show?articleid=746 Web防火墙是信息安全的第一道防线.随着网络 ...

  3. 基于机器学习的web异常检测

    Web防火墙是信息安全的第一道防线.随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战.传统web入侵检测技术通过维护规则集对入侵访问进行拦截.一方面,硬规则在灵活的黑客面前, ...

  4. 机器学习中的异常检测

    机器学习最常用的应用程序之一是异常检测.寻找和识别异常有助于防止欺诈.对手攻击和网络入侵,所有这些都可能危及公司的未来. 在这篇文章中,我们将讨论如何进行异常检测,可以使用哪些机器学习技术,以及使用机 ...

  5. 基于机器学习的KPI异常检测(当初的讲课课件)

    基于机器学习的KPI异常检测(当初的讲课课件)

  6. 【机器学习基础】关于如何使用机器学习来做异常检测的7个问题

    作者:David Sweenor    编译:ronghuaiyang 导读 异常检测的一些入门问题. 问问题是学习的最好方法之一.但有时你不知道从哪里开始,或者该问什么 -- 尤其是在你还比较熟悉的 ...

  7. CMU赵越 关于异常检测的分享!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:赵越,卡内基梅隆大学,Datawhale特邀 作者信息 知乎微调: ...

  8. 机器学习中的异常检测手段

    1. 异常检测介绍 总体来讲,异常检测问题可以概括为两类:一是对结构化数据的异常检测,二是对非结构化数据的异常检测. 对结构化数据的异常检测的解决思想主要是通过找出与正常数据集差异较大的离群点,把离群 ...

  9. 机器学习实践七----异常检测和推荐系统

    Anomaly detection 异常检测是机器学习中比较常见的应用,它主要用于非监督学习问题,从某些角度看, 它又类似于一些监督学习问题. 什么是异常检测?来看几个例子: 例1. 假设是飞机引擎制 ...

最新文章

  1. java离职交接文档_离职了就没责任?会计离职没办这2项交接,要承担法律责任!...
  2. java反编器中文版,java反编译软件下载
  3. 敏捷开发:软件与文档
  4. USB3.0超高速接口应用方案
  5. 实战~阿里神器 Seata 实现 TCC模式 解决分布式事务,真香
  6. Groovy的本地安装和Eclipse插件的配置
  7. PHP foreach 小结
  8. 如何在Python中建立和训练K最近邻和K-Means集群ML模型
  9. 请给出一个时间为O(nlgk)、用来将k个已排序链表的算法。此处n为所有输入链表中元素的总数。...
  10. LOJ#6284. 数列分块入门 8
  11. redis 系列24 哨兵Sentinel (中)
  12. python 中的socket_python中的socket概述
  13. HTML基本语法总结
  14. pyside6(1):Qt 资源系统和qrc文件使用
  15. JavaScript写入文件到本地
  16. l36h android os,Sony Xperia Z(L36h)怎么刷魅族Flyme OS
  17. lintcode(168)吹气球
  18. 计算机视觉与音乐,探索计算机视觉与音频的交叉:基于视觉的音乐相关研究Review...
  19. 高等数学:第五章 定积分(2) 定积分的性质、中值定理
  20. 流量都去哪儿了? 流量不清零后“消耗快”

热门文章

  1. [转]C# winForm 自定义鼠标样式的两种方法
  2. 麦迪时刻的视频和图片
  3. 【EXLIBRIS】随笔记 006
  4. codeforces 的一些数学题
  5. 201771010119穷吉第八周
  6. 学习string,stringBuffer时遇到的问题
  7. Linux-Rsync命令参数详解
  8. C/C++代码的混合使用
  9. Kubuntu中thunderbird最小化到任务栏
  10. 关于MSSQL存储过程中使用游标的一个小例子(学习)