概述
多元高斯分布模型
引子
在服务器运转监控的问题中,我们获得一个服务器样本
x
x
x ,并且,计算了
p
(
x
1
;
μ
1
,
δ
1
2
)
及
p
(
x
2
;
μ
2
,
δ
2
2
)
p(x_1;μ_1,δ^2_1) 及 p(x_2;μ_2,δ_2^2)
p(x1;μ1,δ12) 及 p(x2;μ2,δ22) ,认为该服务器的 CPU 负载和内存使用都在正常范围内,也就认为该服务器运转正常:
但是,截断边界却将该样本截在了正常样本之外,认为服务器发生异常:
可以看到,出现错误截端的原因在于,我们的高斯分布模型形成的截断边界太固定。试想,如果我们原有的决策边界能经放缩,旋转等操作,变换到下图的紫色边界位置,该服务器就不会被错分为异常了:
为此,引入了多元高斯分布模型。
定义
多元高斯分布模型被定义为:
p
(
x
;
μ
,
Σ
)
=
1
(
2
π
)
n
2
∣
Σ
∣
1
2
e
x
p
(
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
)
p(x;μ,Σ)=frac{1}{(2pi)^{frac n2} |Σ|^frac12}exp(-frac 12(x-μ)^TΣ^{-1}(x-μ))
p(x;μ,Σ)=(2π)2n∣Σ∣211exp(−21(x−μ)TΣ−1(x−μ))
其中, μ μ μ 表示样本均值, Σ Σ Σ 表示样本协方差矩阵。
多元高斯分布模型的热力图如下:
参数
- 改变
Σ
Σ
Σ 主对角线的数值可以进行不同方向的宽度拉伸:
- 改变
Σ
Σ
Σ 次对角线的数值可以旋转分布图像:
- 改变
μ
μ
μ 可以对分布图像进行位移:
参数估计
多元高斯分布模型的参数估计如下:
μ
=
1
m
∑
i
=
1
m
x
(
i
)
μ=frac 1m sum_{i=1}^mx^{(i)}
μ=m1i=1∑mx(i)
Σ
=
1
m
∑
i
=
1
m
(
x
(
i
)
−
μ
)
(
x
(
i
)
−
μ
)
T
Sigma=frac 1m sum_{i=1}^m (x^{(i)}-μ)(x^{(i)}-μ)^T
Σ=m1i=1∑m(x(i)−μ)(x(i)−μ)T
算法流程
采用了多元高斯分布的异常检测算法流程如下:
-
选择一些足够反映异常样本的特征 x j x_j xj 。
-
对各个样本进行参数估计:
μ = 1 m ∑ i = 1 m x ( i ) μ=frac 1m sum_{i=1}^mx^{(i)} μ=m1i=1∑mx(i) Σ = 1 m ∑ i = 1 m ( x ( i ) − μ ) ( x ( i ) − μ ) T Sigma=frac 1m sum_{i=1}^m (x^{(i)}-μ)(x^{(i)}-μ)^T Σ=m1i=1∑m(x(i)−μ)(x(i)−μ)T -
当新的样本 x x x 到来时,计算 p ( x ) p(x) p(x) :
p ( x ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 e x p ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) p(x)=frac 1 {(2pi)^{frac n2}|Sigma|^{frac 12}}exp(-frac 12(x-μ)^TSigma^{-1}(x-μ)) p(x)=(2π)2n∣Σ∣211exp(−21(x−μ)TΣ−1(x−μ))
如果 p ( x ) < ϵ p(x)<ϵ p(x)<ϵ ,则认为样本 x x x 是异常样本。
多元高斯分布模型与一般高斯分布模型的差异
实际上,一般的高斯分布模型只是多元高斯分布模型的一个约束,它将多元高斯分布的等高线约束到了如下所示同轴分布(概率密度的等高线是沿着轴向的):
一般高斯模型 | 多元高斯模型 |
---|---|
p ( x ) = p ( x 1 ; μ 1 , δ 1 2 ) p ( x 2 ; μ 2 , δ 2 2 ) ⋯ p ( x n ; μ n , δ n 2 ) p(x)=p(x_1;μ_1,δ^2_1) p(x_2;μ_2,δ^2_2) ⋯ p(x_n;μ_n,δ^2_n) p(x)=p(x1;μ1,δ12) p(x2;μ2,δ22) ⋯ p(xn;μn,δn2) = ∏ j = 1 n p ( x j ; μ j , δ j 2 ) =∏_{j=1}^n p(x_j;μ_j,δ^2_j) =j=1∏np(xj;μj,δj2) = ∏ j = 1 n 1 2 π δ j e x p ( − ( x j − μ j ) 2 2 ) =∏_{j=1}^n frac{1}{sqrt{2pi}δ_j}exp(-frac{(x_j-μ_j)^2}2) =j=1∏n2πδj1exp(−2(xj−μj)2) | p ( x ) = 1 ( 2 π ) n 2 ∥ Σ ∥ 1 2 e x p ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) p(x)=frac{1}{(2pi)^{frac n2} |Σ|^frac12}exp(-frac 12(x-μ)^TΣ^{-1}(x-μ)) p(x)=(2π)2n∥Σ∥211exp(−21(x−μ)TΣ−1(x−μ)) |
需要手动创建一些特征来描述某些特征的相关性 | 利用协方差矩阵 Σ Σ Σ 获得了各个特征相关性 |
计算复杂度低,适用于高维特征 | 计算复杂 |
在样本数目 m m m 较小时也工作良好 | 需要 Σ Σ Σ 可逆,亦即需要 m > n m>n m>n ,且各个特征不能线性相关,如不能存在 x 2 = 3 x 1 x_2=3x_1 x2=3x1 或者 x 3 = x 1 + 2 x 2 x_3=x_1+2x_2 x3=x1+2x2 |
由此可以看出,基于多元高斯分布模型的异常检测应用十分有限。
最后
以上就是怡然飞鸟为你收集整理的8.6 多元高斯分布模型-机器学习笔记-斯坦福吴恩达教授多元高斯分布模型的全部内容,希望文章能够帮你解决8.6 多元高斯分布模型-机器学习笔记-斯坦福吴恩达教授多元高斯分布模型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复