李宏毅机器学习笔记——Anomaly Detection(异常侦测),ROC AUC score

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

目录

异常检测概述

Anomaly Detection分类

异常侦测不是一个单纯的二元分类问题

两种类别

数据存在标签

训练

验证集和评估分类model

Possible Issues

Without label(无标签的数据)

问题定义

具体做法

Auto-encoder做异常检测

总结


异常检测概述

对于异常检测任务来说,我们希望能够通过现有的样本来训练一个函数,它能够从数据中学习到某些正常的特征,根据输入与现有样本之间是否足够相似,诊断出非正常的数据。

数据的正常和异常,取决于训练资料是什么,并没有特定谁是异常的,不是说异常就一定是不好的东西


通常来说,Anoamly Detector在不同的领域里面有不同名字,也被叫做Novelty Detection,Outlier Detection,Forgery Detection,Out-of-distribution Detection。

应用

异常检测应用广泛,实际应用场景有:诈骗侦测、网络入侵检测、癌细胞检测。

  • 诈欺侦测(Fraud Detection)。训练数据是正常的刷卡行为,收集很多的交易记录,这些交易记录视为正常的交易行为,若今天有一笔新的交易记录,就可以用异常检测的技术来侦测这笔交易记录是否有盗刷的行为。(正常的交易金额比较小,频率比较低,若短时间内有非常多的高额消费,这可能是异常行为)
  • 网络系统的入侵侦测,训练数据是正常连线。若有一个新的连线,你希望用Anoramly Detection让机器自动决定这个新的连线是否为攻击行为
  • 医疗(癌细胞的侦测),训练数据是正常细胞。若给一个新的细胞,让机器自动决定这个细胞是否为癌细胞。

异常侦测不是一个单纯的二元分类问题

最简单的想法就是Binary Classification,它是收集一组正常的数据和一组异常的数据,将正常的资料标记为class 1,异常资料作为class 2,然后让机器一起训练一个二分类的分类器。

但实际上是很难按照这样的做法来实现的:

  • 只要是非正常的都是异常,变化太大,没有办法将异常数据全部收集齐全,没有办法知道整个异常的数据(Class2)是咋样的,所以不应该将异常的数据视为一个类别。
  • 对于正常的数据收集是比较简单的,但对于异常数据的收集通常是较难的

Anomaly Detection两种类别

第一类:给定一组训练数据,并且带有某种类型的label,使用这些数据先训练一个classifier。数据和label中并没有unknown,但是期望classifier有能力知道新给定的训练数据不在原本的训练数据中,会给新的训练数据贴上“unknown”的标签。也被称为Open-set Recognition。
第二类:所有的训练数据都是没有标签的,通过相似度来判断异常数据。这里面又分两种情况:

  • clean: 所有数据都是正常数据
  • polluted: 训练资料已经被混杂了一些异常的资料

数据存在标签

训练

给定一组Simpsons家族人物的数据,并且这些数据都是有label的,训练一个Simpsons的家族分类器,输入人物图片,输出名字。可以使用这个Classifier来做异常侦测,输入一个人物,判断其是否属于Simpsons家庭。

输入x 之后,分类model输出一个分布,将该分布的最大值作为信心分数c(x),和设置的阈值λ 进行比较,判断是否异常,小于则是异常,大于则是正常。

当输出分布比较集中,最高的分数比较高的时候就是正常;分布比较平均,最高分数比较低就是异常。

异常检测的评价指标:ROCAUC等【tips】 分为图片级别(为整张图片打标签)的和像素级别(为每个像素打标签)的。roc 参数:标签,评价分数(也就是每个样本预测为正的概率),正样本标签(默认是0)。返回结果:fpr,tpr,thresholds。fpr:负正类率,负类预测为正类占所有负类的比例。tpr:真正类率,正类预测为正类占所有正类的比例。threshold:阈值aucthreshold是每个样本的评价分数,也就是每个样本预测为正的概率值,概率值有了,那这个样本是把他定为正样本还是负样本呢。所以规定,当threshold取其中一个样本的概率值 阅读详情

相关推荐

异常检查(Anomaly Detection)

异常检测 (anomaly detection),或者又被称为“离群点检测” (outlier detection)。这是机器学习算法的一个常见应用。这种算法的一个有趣之处在于:它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题

cyphappy的博客 938

人工智能-机器学习Anomaly Detection异常检测)

Anomaly Detection,也叫做 异常检测,目的在于让机器知道我所不知道的事情。 - 虽然说是 异常,但其实是以训练集为核心,判断输入数据是否与训练集中的数据 “类似”。 - Anomaly Detection 在不同的领域可以有不同的叫法,比如:outlier Detection,novelty Detection,exceptions Detection。 - 至于什么才是“类似”,它的定义这取决于你所用的方法。如下图所示,如果你给的训练集只有雷丘,那么比卡丘就是“异常”;相反,如果你给的训练

u013250861的博客 3271

异常检测(Anomaly Detection)技术

异常检测Anomaly Detection机器学习领域中的一项重要任务,它主要用于识别数据集中的异常值或离群点。在很多实际应用场景中,这些异常值往往代表了有意义的信息,例如欺诈行为、设备故障等。在本文中,我们将介绍什么是异常检测以及如何使用机器学习模型进行异常检测。首先,本文介绍异常检测的基本概念、方法和评估指标。然后,在实际应用中,我们可以根据具体的场景选择合适的方法,并使用评估指标来评估模型的性能,并给出研究案例。异常检测是一种数据分析的技术,在实际应用中经常被用于发现和处理各种异常情况。

学兔兔的博客 826

2020李宏毅机器学习笔记——24. Anomaly Detection异常侦测

Anomaly Detection异常检测) 文章目录摘要1. 介绍Anomaly Detection1.1 Problem Formulation(问题简要)1.2 What is Anomaly? 摘要 1. 介绍Anomaly Detection 1.1 Problem Formulation(问题简要) 1.2 What is Anomaly?

weixin_44790306的博客 2134

异常检测Anomaly Detection(一)定义、分类及方法

异常检测1. 什么是异常检测?1.1 定义1.2 应用场景1.3 异常检测为什么难做2. 异常检测的分类2.1 根据数据集性质分类2.2 根据异常的类别分类2.3 根据标签的可获得性分类3. 异常检测方法综述2.1 基础方法2.1.1 基于统计学的方法2.1.2 谱方法2.1.3 基于距离的方法2.2 集成方法2.2.1 feature bagging :2.2.2 孤立森林:2.3 基于分类机器学习方法2.3.1 神经网络方法2.3.2 贝叶斯网络2.3.3 SVM方法 1. 什么是异常检测? 1.1

pure95214的博客 9809

前沿科技探究之AI工具:Anomaly-detection

概述 anomaly_detection是openGauss集成的、可以用于数据库指标采集、预测指标趋势变化、慢SQL根因分析以及异常监控与诊断的AI工具,是DBMind套间中的一个组件。支持采集的信息分为三块,分别是os_exporter、database_exporter、wdr,os_exporter主要包括IO_Read、IO_Write、IO_Wait、CPU_Usage、Memory_Usage、数据库数据目录磁盘空间占用Disk_space;database_exporter主要包括QPS、部

Gauss松鼠会 6862

异常检测(Anomaly Detection

异常检测(Anomaly Detection)1. 异常检测的定义2. 异常检测的分类2.1 按照应用目标数据分类2.2 按照异常类型分类2.3 按照数据标签可用性分类3. 异常检测的使用 1. 异常检测的定义 异常检测,是一种用于识别不符合预期行为的异常模式的技术,称为异常值。通常为无监督学习问题,其中先验未知异常样本,并且假定大多数训练数据集由 “ 正常 ” 数据组成。 通常,异常检测也称为 Novelty Detection 或 Outlier Detection,Forgery Detection

Flare_J 的博客 1万+

异常检测与AnomalyDetection

1.背景介绍 1. 背景介绍 异常检测(Anomaly Detection)是一种用于识别数据中异常点的方法,它在许多领域得到了广泛应用,如网络安全、金融、生物医学等。异常检测的主要目标是识别数据中的异常点,即那些与其他数据点不同或不符合预期的点。异常检测可以帮助我们发现潜在的问题、漏洞或疾病,从而采取措施进行

AI天才研究院 1766

机器学习-33-Anomaly Detection(异常侦测)

Anomaly Detection,翻译为中文意思是异常侦测异常侦测要做的就是:让机器可以知道我不知道这件事。上面引用了《论语,论证》篇,“知之为知之,不知为不知,是知也(知道就是知道,不知道就是不知道,这样才是真正的知道)”,就是让机器知道它不知道这件事

迷雾总会解 4678

异常检测(anomaly detection

异常检测(anomaly detection) 关于异常检测(anomaly detection)本文主要介绍一下几个方面: 异常检测定义及应用领域常见的异常检测算法高斯分布(正态分布)异常检测算法评估异常检测算法异常检测VS监督学习如何选择使用features多元高斯分布多元高斯分布在异常检测上的应用 一、异常检测定义及应用领域 先来看什么是异常检测?所谓异常检测就是发现与大

天泽28的专栏 5万+

Anomaly Detection异常检测)的原理及最新的技术应用(李宏毅视频课整理和总结)

文章目录0 前言1 Introduction1.1 Problem Formulation1.2 Base Idea2 With Classifier2.1 Base Method2.2 Evaluation2.3 More2.3.1 Possible Issues2.3.2 Network for Confidence Estimation2.3.3 Obtain Anomaly3 Without Labels 0 前言 本节学习的是Anomaly Detection异常检测),即让一个系统从数据中学

双鸭山•克里菲斯•北方孤星之堕 4517

强大的异常检测工具:Anomaly-Detection

强大的异常检测工具:Anomaly-Detection 该项目是一个全面的、开源的异常检测库,由buhuixiezuowendelihua开发并维护在GitCode平台上。它集合了多种先进的机器学习和统计方法,用于发现数据集中的不寻常模式或行为。如果你需要在大量数据中寻找离群值或者潜在问题,这个项目绝对值得你一试。 技术分析 Anomaly-Detection库基于Python,利用了诸如Scik...

gitblog_00025的博客 1072

机器学习李宏毅——Anomaly Detection异常检测)

本篇文章主要介绍了Anomaly Detection异常检测)的思路具体实现方法,以及可能在实际应用中遇到的各种情况。

FavoriteStar的博客 3357

异常检测(Anomaly Detection)

因为,如果它看起来像一个正常的引擎,那么。通常可以通过将一些相关的特征进行组合,来获得一些新的更好的特征(异常数据的该特征值异常地大或小),例如,在检测数据中心的计算机状况的例子中,我们可以用 CPU负载与网络通信量的比例作为一个新的特征,如果该值异常地大,便有可能意味着该服务器是陷入了一些问题中。假想你是一个飞机引擎制造商,当你生产的飞机引擎从生产线上流出时,你需要进行QA(质量控制测试),而作为这个测试的一部分,你测量了飞机引擎的一些特征变量,比如引擎运转时产生的热量,或者引擎的振动等等。

qq_45742413的博客 1411

机器学习算法之------异常检测 Anomaly Detection

异常检测 Anomaly Detection 1、高斯分布(正态分布)Gaussian distribution 分布函数: 其中,u为数据的均值,σ为数据的标准差 σ越小,对应的图像越尖 参数估计(parameter estimation) 2、异常检测算法 例子 训练集:,其中 假设相互独立,建立model模型: 过程 选择具有代表异常的feature:xi 参数估计: 计算p...

weixin_41697507的博客 1434

Anomaly detection(异常检测)

前言 这一章内容还是紧接着上一章内容,在前面我们给大家介绍了一些无监督学习的问题,Clustering(聚类)和Dimensionality Reduction(降维)问题,在这一章将给大家介绍另一个关于无监督学习的问题Anomaly detection(异常检测)问题。 最后,如果有理解不对的地方,希望大家不吝赐教,谢谢! 【机器学习系列】【第十二章:降维】【第...

qq_36417014的博客 883

异常检测方法汇总

一、异常检测简介 异常检测是通过数据挖掘方法发现与数据集分布不一致的异常数据,也被称为离群点、异常值检测等等。 1.1 异常检测适用的场景 异常检测算法适用的场景特点有:(1)无标签或者类别极不均衡;(2)异常数据跟样本中大多数数据的差异性较大;(3)异常数据在总体数据样本中所占的比例很低。常见的应用案例如: 金融领域:从金融数据中识别”欺诈用户“,如识别信用卡申请欺诈、信用卡盗刷、信贷欺诈等;安全领域:判断流量数据波动以及是否受到攻击等等;电商领域:从交易等数据中识别”恶意买家“,如羊毛党、恶意刷屏团伙

人生是一场修行 995

异常检测中的ROC曲线与AUC得分

异常检测任务中:正常样本:数量,通常占绝大多数(> 95%)异常样本:数量,稀缺且重要(高风险)因此是一个。在这种情况下,常规的准确率(accuracy)往往不再适用,而 ROCAUC 是更合适的评估方式。

qq_57765513的博客 701
上一篇: ​李宏毅机器学习——强化学习Reinforcement Learning
下一篇: 数据集读取与划分,ImageFolder(),自定义数据集,TensorDataset,StratifiedShuffleSplit
iwill323
博客等级 码龄5年 96粉丝 73原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值