十六、异常检测

简介: 十六、异常检测

1、异常检测(Anormly Detection)介绍



异常检测是指在给定的一组无标签数据集 {x(1),x(2),...,x(m)},针对这组数据集训练一个模型p(x),来判定某个数据和数据集中大多数数据之间的相似程度(某个数据落在给定数据集中心区域的概率),若某个数据xtest和大多数给定数据之间很相似,则  p(xtest)≥ϵ,说明数据无明显异常情况;否则  p(xtest)<ϵ,说明数据 xtest和大多数数据之间差异很大,说明给定的数据可能是一个异常数据。


4b4bd62965d24ef5b562a0648fe826e1.png

即若某个数据不落在大多数数据所在的范围之内,则这种数据出现的概率比较小,将检测出的这种数据视为异常数据。



2、异常检测算法



首先针对m个数据样本选择出 n个可能出现异常的特征  xj,j∈n;之后针对所有样本计算每一个特征的均值  μj,j∈n和方差  σj2,j∈n;针对新给定的某个数据 x计算 p(x),若p(x)<ϵ,则判定数据为异常数据。异常检测算法流程如下所示:

f6f935e5932a466988d462f42c785b17.png


二维特征的异常检测的直观表示如下所示:

067b4b9843c44ca3862cae66058fa5d3.png




3、评估异常检测算法


下面通过飞机引擎异常检测的例子来说明异常检测算法的评估方法:


9563250fa3a54053817af876b089c600.png


首先将原始数据划分为训练数据集,交叉验证数据集和测试数据集;将少部分的已知的异常数据划分到交叉验证数据集和测试数据集中,所以CV set和test set可以看做是拥有了标签的数据。

8c01cc30ca9f4b0c829dc97b0d5c62b6.png



之后根据2中介绍的高斯模型将选定的特征对训练数据集进行异常检测模型  p(x)的拟合;之后将拟合出的模型  p(x)针对CV set进行模型检测,这个检测类似于skewed data检测标准,之后根据计算出来的 F1值来判定模型的好坏,同时可以调整模型选定的特征种类和 ϵ值的大小。最终将训练好的模型使用测试集test set来验证模型的好坏。




3.1 使用异常检测还是使用监督学习


通常当异常样本数量很少(e.g., 0-20),但是正常样本数量很多时,适合使用异常检测;同时当不能确定异常出现的特征时,通常使用异常检测,如零部件异常检测,数据中心计算机监督;而当正常样本和异常样本数量均很多时,样本中包含充分的异常样本信息,则适合使用监督学习,如垃圾邮件检测,天气预测,疾病检测等。




4、处理异常检测的特征向量



要使用gaussian分布来拟合异常检测模型,需要保证特征向量的数据分布满足近似高斯分布,若初始数据的特征向量不满足高斯分布,需要对数据进行变换处理,使其近似满足高斯分布,从而使算法达到更好的效果。处理方式可以取对数,取  α∈(0,1)次方等。


选择特征的方法,是可以首先选取一些特征,针对训练数据训练出一个异常检测模型,之后将模型在交叉验证数据集上进行验证,通过验证效果来增加或者减少特征数量。同时,通常选取那些在异常点取值较大或者较小的特征。




5、多元(multivariate)高斯分布



假如有n维特征向量 x∈Rn,多元高斯分布并非将每一维特征向量进行分别拟合  p(x1)和 p(x2),而是将所有的特征向量拟合成一个概率函数 p(x)。集合形式的高斯异常检测模型需要使用参数  μ∈Rn, Σ∈R(n∗n)(协方差矩阵),则

image.png

几种多元高斯分布的图像随着  μ和 Σ的变化情况如下所示:


c6963b6574234346bb04ee8ba0cc3a03.png

e531561133484faf826898dd59e41573.png


7b282b2b57634f96875e03f5e85924ff.png


6b6548e1f1c24861ad5c32644f51ab1e.png



5.1 利用多元高斯分布开发异常检测模型


给定训练集 x(1),x(2),...,x(m),利用多元高斯分布构建异常检测模型的方法如下所示:


6ffbdba157c94bcda2559f17daeac518.png



5.2 原始模型和多元高斯分布模型的区别


将多元高斯分布模型的协方差矩阵除对角线元素外的其他元素均设置为0之后,多元高斯模型即为原模型。


b4d19fc10fce40ccb6813e0c97cfcb7f.png



5.3 选择使用原始模型 / 多元高斯模型


原始模型需要手动选择某些特征之间的组合值异常,但多元高斯模型可以自动捕捉特征之间的相互关系;原始模型相对于多元高斯模型计算效率更高;多元高斯模型必须满足训练数据数量  m大于特征数量  n,这样才能协方差矩阵 Σ才是可逆的。


020b5f28747f434790830a4923c65b98.png

协方差矩阵在以下两种情况下回出现不可逆的情况:若训练集中训练数据的数量少于特征数量;若特征之间有线性相关性,即有冗余特征存在。









相关文章
|
5月前
|
运维 安全 数据挖掘
【数据挖掘】离群点概念、类型、检测的挑战概述(图文解释 超详细)
【数据挖掘】离群点概念、类型、检测的挑战概述(图文解释 超详细)
168 0
|
6月前
|
数据可视化 数据挖掘
【因果推断】Day01- 实用计量方法图解与概述
【因果推断】Day01- 实用计量方法图解与概述
108 2
|
22小时前
|
Web App开发 数据可视化 数据挖掘
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
|
21小时前
时间序列分析实战(十一):ECM误差修正模型
时间序列分析实战(十一):ECM误差修正模型
|
22小时前
|
数据采集 数据可视化
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
|
5月前
|
存储 数据可视化 数据挖掘
【数据分析与可视化】时间序列基础讲解与实战(图文解释 附源码)
【数据分析与可视化】时间序列基础讲解与实战(图文解释 附源码)
37 0
|
11月前
|
机器学习/深度学习 人工智能 算法
强化学习从基础到进阶-常见问题和面试必知必答[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战
强化学习从基础到进阶-常见问题和面试必知必答[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战
|
11月前
|
机器学习/深度学习 人工智能 算法
强化学习从基础到进阶-案例与实践[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战
强化学习从基础到进阶-案例与实践[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战
强化学习从基础到进阶-案例与实践[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战
|
机器学习/深度学习 算法
十二、评估机器学习算法
十二、评估机器学习算法
十二、评估机器学习算法
|
机器学习/深度学习 算法 计算机视觉
自动数据增强论文及算法解读(附代码)
自动数据增强论文及算法解读(附代码)
自动数据增强论文及算法解读(附代码)