搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
2023面试高手
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
UDP服务器和客户端的实现和IO多路复用_udp怎么使用io多路复用
2
在ubuntu 24.04上安装xrdp服务器(已验证可用)
3
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管_fpga数码管
4
FPGA实现10G万兆网TCP/IP 协议栈,服务器版本,纯VHDL代码编写 提供6套vivado工程源码和技术支持_fpga dhcp实现
5
Android移动开发-VR全景照片简单实现,计算机应届毕业生面试题_com.google.vr.sdk.widgets.pano.vrpanoramaview
6
php获取访客IP、UA、操作系统、浏览器等信息_php实现-浏览器ua解析获得手机、系统、浏览器等信息
7
2024最新docker部署gitlab
8
OPENGL ES 2.0 知识串讲 (9) ——OPENGL ES 详解III(纹理)_regular 2d textures和texture arrays和a cube map arra
9
大数据分析系统简介,什么是大数据分析系统?
10
linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_centos7 yum mongodb
当前位置:
article
> 正文
异常检测(anomaly detection)
作者:2023面试高手 | 2024-05-08 01:51:44
赞
踩
异常检测
异常检测(anomaly detection)
关于异常检测(anomaly detection)本文主要介绍一下几个方面:
异常检测定义及应用领域
常见的异常检测算法
高斯分布(正态分布)
异常检测算法
评估异常检测算法
异常检测VS监督学习
如何设计选择features
多元高斯分布
多元高斯分布在异常检测上的应用
一、异常检测定义及应用领域
先来看什么是异常检测?所谓异常检测就是发现与大部分对象不同的对象,其实就是发现离群点。异常检测有时也称偏差检测。异常对象是相对罕见的。下面来举一些常见的异常检测的应用:
欺诈检测:主要通过检测异常行为来检测是否为盗刷他人信用卡。
入侵检测:检测入侵计算机系统的行为
医疗领域:检测人的健康是否异常
二、常见的异常检测算法
有许多的异常检测算法,不过本篇博客只会详细介绍基于模型的技术。主要有以下几种异常检测方法:
基于模型的技术
:许多异常检测技术首先建立一个数据模型,异常是那些同模型不能完美拟合的对象。例如,数据分布的模型可以通过估计概率分布的参数来创建。如果一个对象不服从该分布,则认为他是一个异常。
基于邻近度的技术
:通常可以在对象之间定义邻近性度量,异常对象是那些远离大部分其他对象的对象。当数据能够以二维或者三维散布图呈现时,可以从视觉上检测出基于距离的离群点。
基于密度的技术
:对象的密度估计可以相对直接计算,特别是当对象之间存在邻近性度量。低密度区域中的对象相对远离近邻,可能被看做为异常。
三、高斯分布(正态分布)
高斯分布也称正态分布,若一个随机变量X服从高斯分布,记为:
。其中
为数学期望,
为方差,其概率密度函数为:
其大体图像如下图所示:
其图像看起来像个钟型,因此又称为钟型曲线。正态分布的期望
决定了其中心位置,标准差
决定了其宽度。如果
,则称为标准正态分布,其图像如下图所示:
下面再来看几个高斯分布的图像,注意体会
,
对图像的影响:
参数估计(parameter estimation): 假如给定数据集
,已知数据集中样本服从正态分布,即
,那么该如何求出参数
和
呢?这便是参数估计。我们有如下公式来估计
,
:
具体到features公式为:
四、
异常检测算法
对于给定的训练集:
,
对于每一个样本x都有
,
即每个样本都是一个n维向量,那么可以建立一个概率模型来估计每个样本的概率密度:
结合三中讲的参数估计,我们可以得到一个异常检测算法:
写到这,大家应该有个疑问:就是这个
值是怎么确定的?其实这个
是个经验值,NG给出的方法是选择在验证集上使评估指标(如F-measure)值最大的那个
。
以上就是异常检测的算法,能够很好的检测出离群点。接下来看一个例子,如何运用上述异常检测算法来识别出异常点:(例子来自ng machine learning 课)
上图中对于给定的两个测试样本
、
,可以分别计算出它们的概率密度,分别为0.0426,0.0021,然后分别和给定的
值比较,能够得出
为离群点。
五、异常检测算法的评估
前面也讲过,对于数据集怎样划分训练集,交叉验证机和测试集,在异常检测中同样也需要这样划分数据集。下面给出一个划分的例子:
数据集划分好了,我们还需要一些指标去评估我们的算法,因此precision、recall和F-Measure又能派上用场了,关于这几个评估指标在前面博客关于不平衡算法的评估方法
http://blog.csdn.net/u012328159/article/details/51282428
详细讲过,如果有不清楚的同学可以参见这篇博客。
六
、异常检测VS监督学习
异常检测算法基本已经介绍完了,大家可能会想到异常检测算法和前面讲过的监督学习算法(线性回归、逻辑回归、神经网络等)有什么区别呢,貌似都可以看做是个分类问题,对样本的label做出判断。。下面就来比较一下异常检测算法和监督学习算法的区别以及各自的特点,然后对比下它们各自的适应场景,给大家一个直观的理解。
先来看看异常检测算法和监督学习算法的对比:
总结来讲:在异常检测中,异常点是少之又少,因此监督学习算法很难从这些异常样本中学到什么。。。
下面来看一下异常检测算法和监督学习算法的各自应用场景:
七、如何设计选择features
实际上影响一个学习算法效率的因素之一就是特征,你选择使用什么样的特征,作为机器学习算法的输入,得到的效率绝对是不一样的。因此,接下来介绍下在异常检测算法中怎样设计选择特征变量 。
异常检测算法其实就是对符合高斯分布的数据建模,如果样本不是很符合高斯分布,算法也可以很好的运行,但是如果把样本转换成高斯分布,算法的效果会更好。有时候我们会遇到样本不符合高斯分布的情况,而且偏的有点远,因此这时通常来讲我们需要对数据进行转换,让其符合高斯分布,一般可以通过对数转(log(x))进行转换。例如:
有时候我们还需要根据实际应用情况设计新的特征变量来帮助异常检测算法更好的检测离群点。举个检测网络系统的例子来看看怎样设计出更合理的特征:
从上图能够看出我们新设计的特征
能够更好的反应出网络的异常情况。
八、多元高斯分布
多元高斯分布有其优点也有其局限性,我们先来看看其优点。其优点是能够捕捉到上面模型捕捉不到的异常样本,来看一个例子:
(1)我们的原始数据为下图所示(图左为二维的数据,图右为把两个特征分别当做高斯分布来建模)
(2)假如有个异常点(绿色样本点)如下图左中所示,其在下图右中的检测情况为:
从上图能够看出,这个绿色的异常样本在单独建模的模型中并不能检测出来。因此这就需要通过多元高斯分布构建模型来检测。
多元高斯分布的概率密度函数为:
其中
为n*n维协方差矩阵,
为矩阵
的行列式。
下面我们来看一些例子,来说明向量
和矩阵
对概率密度函数的影响。
先来看
的影响:
图一
图二
图三
从上面三个图中可以看出当矩阵
的副对角线都为0时,主对角线上的元素大小控制着概率密度函数俯瞰图的形状大小,至于具体到数字大小对应的形状,大家自己观察便知。
再来看看主对角线不变,变化副对角线是如何影响的例子:
图四
图五
能够看出,副对角线控制的是倾斜程度。
下面来看看
对概率密度函数的影响:
从上图能够看出
控制着图形的位置变化。
九、多元高斯分布在异常检测上的应用
介绍完多元高斯分布,下面我们来介绍下通过多元高斯分布推导出来的异常检测算法:
下面我们来看下多元高斯分布模型与多个一元高斯模型之间的关系:
其实就是当多元高斯分布模型的协方差矩阵
为对角矩阵,且对角线上的元素为各自一元高斯分布模型的方差时,二者是等价的。
下面来总结比较下多元高斯分布模型和多个一元高斯分布模型:
以上就是关于异常检测的一些知识点。
本文内容由网友自发贡献,转载请注明出处:
【wpsshop博客】
推荐阅读
article
【翻译】
Diffusion
Det:
Diffusion
Model for Object Detec...
我们提出了
Diffusion
Det,这是一个新的框架,它将目标检测表述为从噪声框到目标框的去噪扩散过程。在训练阶段,目标...
赞
踩
article
深度学习论文:
Simple
Net: A
Simple
Network
for
Image
Anom...
本文提出了一种简单有效的无监督异常检测和定位方法—
Simple
Net,
Simple
Net由几个简单的神经网络模块组成,易...
赞
踩
article
【图像异常检测】
Simple
Net: A
Simple
Network for
Image
Anom...
我们提出了一种简单且易于应用的网络(称为
Simple
Net)来检测和定位异常。
Simple
Net由四个组件组成:(1)预...
赞
踩
article
异常
检测(无监督,生成模型)—
Simple
Net: A
Simple
Network
for Ima...
1.一个预训练(在imageNet上预训练)的特征提取器,生成本地特征。3.一个简单的
异常
特征生成器,通过向正常特征添加...
赞
踩
article
【论文笔记】
CVPR2023
:
Simple
Net: A
Simple
Network
for Ima...
论文的主要贡献在于利用极为简单的网络实现了最先进的性能。主要创新点在于在特征空间内加噪声生成伪异常。复现结果图像级AUR...
赞
踩
article
Simple
Net: A
Simple
Network
for
Image
Anomaly
Dete...
Simple
Net网络由4部分构成,分别是预训练的特征提取器,浅层的特征适配器,异常特征生成器和异常判别器。将Simpl...
赞
踩
article
Swin
-
Transformer
-
Object
-
Detection
V2.11.0 训练visdro...
文件结构.├── coco_exps├── configs #configs主要修改
的
部分在这里,训练config也...
赞
踩
article
Paper
Reading
- 2、
PatchCore
: Towards Total Recall ...
异常检测_为什么
patchcore
没有
训练
轮次为什么
patchcore
没有
训练
轮次 ...
赞
踩
article
Domain
a
dapt
ation
from
daytime
to nighttime: A sit...
白天到夜间的域适应:一种情境灵敏的车辆检测与交通流参数估计框架_
this
dataset
,
dapt
2020, was...
赞
踩
article
【论文阅读】Reth
in
k
in
g
Boundary
Detection
in
Deep Learni...
重点研究了在医学图像分割的深度学习模型中重新思考边界检测问题,通过Dice系数、IoU、平均Hausdorff距离和Pa...
赞
踩
article
目标检测(
object
detection
)和语义分割(
semantic
segmentation
)...
如题_
object
detection
with
semantic
classes
object
detection
wi...
赞
踩
article
【ML32】
Anomaly
Detection Algorithm
异常
检测
算法
...
而却有一辆出租车5分钟走了25公里,有几辆出租车20分钟还没有走10公里,根据我们的要求,5分钟那个为
异常
数据,其超速行...
赞
踩
article
异常
检测
(
Anomaly
Detection)...
异常
检测
(
Anomaly
Detection)的学习_
异常
检测
异常
检测
一、问题的动机 &nbs...
赞
踩
相关标签
目标检测
计算机视觉
深度学习
人工智能
论文阅读
论文笔记
python
神经网络
机器学习
视觉检测
图像处理
transformer
1024程序员节