机器学习(13)异常检测
定义与应用
异常检测就是在样本集中发现与绝大部分相异的样本点,也就是离群样本。可用于检测计算机系统异常,检测飞机系统异常等。
高斯分布
高斯分布也称正态分布,若一个随机变量X服从高斯分布,记为:
x
∼
N
(
μ
,
σ
2
)
x \sim N( \mu,\sigma^2)
x∼N(μ,σ2)
具体公式为:

图像为:

异常检测算法
数据集:
{
x
(
1
)
,
x
(
2
)
,
.
.
.
.
x
(
i
)
,
.
.
.
.
x
(
m
)
}
\{{x^{(1)},x ^{(2)}, ....x ^{(i)},....x ^{(m)}}\}
{x(1),x(2),....x(i),....x(m)},一共
m
m
m个数据,每个数据有
n
n
n个特征量,
x
(
i
)
∈
R
(
n
)
x^{(i)} \in R^{(n)}
x(i)∈R(n)。
假设样本的每一个特征变量都满足高斯分布,则我们构建模型:

有了模型,如何使用呢?
我们在进行交叉检验时把异常点带入模型中,如果发现:
p
(
x
)
<
ε
p(x)<\varepsilon
p(x)<ε
则可以得出这个点与绝大部分样本离得比较远,也就是它出现的概率比较低,是个离群点,异常点。
ε
\varepsilon
ε的值如何确定呢?
这个属于经验范畴,可以根据实际问题情况进行调整。在交叉检验和测试评估阶段可以对它进行调整。
在对模型进行测试评估时,选取两个测试点
x
t
e
s
t
(
1
)
x^{(1)}_{test}
xtest(1) ,
x
t
e
s
t
(
2
)
x^{(2)}_{test}
xtest(2) 。

根据交叉检验阶段得到的
ε
\varepsilon
ε,来检测。

可以看出 x t e s t ( 2 ) x^{(2)}_{test} xtest(2) 是个异常点。
对模型进行评估
和监督学习里面相同,把样本集划分是三个部分:训练集,交叉验证集,测试集。异常样本平分到交叉验证和测试集中。

由于这是一个不平衡样本,不能使用准确率这个指标来评估,可以使用召回率和查准率等指标。详情可点击链接: link.
异常检测VS监督学习
在学习异常检测模型时,用到了带标签的样本集,比如在上述过程中,先用负样本也就是正常样本进行训练,然后在交叉验证中,使用正样本也就是异常样本进行验证。整个过程都用到了带标签的样本,这和监督学习的分类问题似乎没啥区别。
1.异常检测的正样本(异常样本)量比较少,可能就10,20…
而监督学习的正负样本数量都比较大。
2.异常检测只需要对负样本进行学习模型,对未来可能出现的新的异常也有具有一定的区分能力。监督学习无法在这么少的异常样本中学习异常的特征模型,而且未来出现新的异常也需要重新建模学习。
对数据处理
在一些样本中,对负样本进行画图,发现可能不是按照高斯分布进行分布,或者高斯分布不明显,这时候可以对特征进行处理。
处理方法有许多:
l
o
g
(
x
)
,
x
(
1
/
2
)
,
.
.
.
.
log(x),x^{(1/2)},....
log(x),x(1/2),....

当我们构建模型检测异常失败后,可以根据失败原因构建新的特征量,比如:

如上图的
x
5
x_5
x5,
x
6
x_6
x6,它充分考虑了其他特征量的结合。
多元高斯分布
当我们分开考虑特征量时,可能出现如下情况:

假设只考虑两个特征量,图中绿色的样本明显是个异常点,但是如果,在两个特征量分开考虑时,发现这个点是个正常点。说明之前的高斯分布模型没有充分考虑特征量与特征量之间的关系,所以我们需要构建多元高斯分布模型。
多元高斯分布的概率密度函数为:

函数解释:
Σ
\Sigma
Σ为
n
∗
n
n*n
n∗n维协方差矩阵,
∣
Σ
∣
|\Sigma|
∣Σ∣ 为矩阵 的行列式。
多元高斯分布算法:

多元和多个一元高斯分布模型区别
1.当出现特征量与特征量之间有关系时,多个一元模型,需要我们构建新的特征量,比如:前面的
x
5
x_5
x5,
x
6
x_6
x6。而多元模型则不需要构建新的特征量。
2.多个一元模型计算量比多元模型小很多。
3.多元模型的使用限制:
m
>
>
n
m>>n
m>>n(一般要求
m
>
10
n
m>10n
m>10n) ,且
Σ
\Sigma
Σ必须为可逆矩阵。而多个一元模型没有这两个限制,在
m
m
m很小时也可以使用。
补充内容: Σ \Sigma Σ和 μ \mu μ对模型的影响



Σ
\Sigma
Σ主对角线控制样本在特征量上的集中程度,越小则间隔小,越集中。


Σ
\Sigma
Σ副对角线控制倾斜程度。

μ
\mu
μ控制图像的移动,集平均值的位置。
其实多元的
Σ
\Sigma
Σ,
μ
\mu
μ与一元的
μ
\mu
μ,
σ
2
\sigma^2
σ2功能类似。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)