我是靠谱客的博主 怡然飞鸟,最近开发中收集的这篇文章主要介绍8.6 多元高斯分布模型-机器学习笔记-斯坦福吴恩达教授多元高斯分布模型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

多元高斯分布模型

引子

在服务器运转监控的问题中,我们获得一个服务器样本 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=1mx(i) Σ = 1 m ∑ i = 1 m ( x ( i ) − μ ) ( x ( i ) − μ ) T Sigma=frac 1m sum_{i=1}^m (x^{(i)}-μ)(x^{(i)}-μ)^T Σ=m1i=1m(x(i)μ)(x(i)μ)T

算法流程

采用了多元高斯分布的异常检测算法流程如下:

  1. 选择一些足够反映异常样本的特征 x j x_j xj

  2. 对各个样本进行参数估计:
    μ = 1 m ∑ i = 1 m x ( i ) μ=frac 1m sum_{i=1}^mx^{(i)} μ=m1i=1mx(i) Σ = 1 m ∑ i = 1 m ( x ( i ) − μ ) ( x ( i ) − μ ) T Sigma=frac 1m sum_{i=1}^m (x^{(i)}-μ)(x^{(i)}-μ)^T Σ=m1i=1m(x(i)μ)(x(i)μ)T

  3. 当新的样本 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=1np(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=1n2π δ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 多元高斯分布模型-机器学习笔记-斯坦福吴恩达教授多元高斯分布模型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部