多元高斯分布模型

引子

在服务器运转监控的问题中,我们获得一个服务器样本 xxx ,并且,计算了 p(x1;μ1,δ12)及p(x2;μ2,δ22)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π)n2∣Σ∣12exp(−12(x−μ)TΣ−1(x−μ))p(x;μ,Σ)=\frac{1}{(2\pi)^{\frac n2} |Σ|^\frac12}exp(-\frac 12(x-μ)^TΣ^{-1}(x-μ))p(x;μ,Σ)=(2π)2n​∣Σ∣21​1​exp(−21​(x−μ)TΣ−1(x−μ))

其中, μμμ 表示样本均值, ΣΣΣ 表示样本协方差矩阵

多元高斯分布模型的热力图如下:

参数

  • 改变 ΣΣΣ 主对角线的数值可以进行不同方向的宽度拉伸:
  • 改变 ΣΣΣ 次对角线的数值可以旋转分布图像:

  • 改变 μμμ 可以对分布图像进行位移:

参数估计

多元高斯分布模型的参数估计如下:
μ=1m∑i=1mx(i)μ=\frac 1m \sum_{i=1}^mx^{(i)}μ=m1​i=1∑m​x(i)Σ=1m∑i=1m(x(i)−μ)(x(i)−μ)T\Sigma=\frac 1m \sum_{i=1}^m (x^{(i)}-μ)(x^{(i)}-μ)^TΣ=m1​i=1∑m​(x(i)−μ)(x(i)−μ)T

算法流程

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

  1. 选择一些足够反映异常样本的特征 xjx_jxj​ 。

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

  3. 当新的样本 xxx 到来时,计算 p(x)p(x)p(x) :
    p(x)=1(2π)n2∣Σ∣12exp(−12(x−μ)TΣ−1(x−μ))p(x)=\frac 1 {(2\pi)^{\frac n2}|\Sigma|^{\frac 12}}exp(-\frac 12(x-μ)^T\Sigma^{-1}(x-μ))p(x)=(2π)2n​∣Σ∣21​1​exp(−21​(x−μ)TΣ−1(x−μ))

如果 p(x)<ϵp(x)<ϵp(x)<ϵ ,则认为样本 xxx 是异常样本。

多元高斯分布模型与一般高斯分布模型的差异

实际上,一般的高斯分布模型只是多元高斯分布模型的一个约束,它将多元高斯分布的等高线约束到了如下所示同轴分布(概率密度的等高线是沿着轴向的):

一般高斯模型 多元高斯模型
p(x)=p(x1;μ1,δ12)p(x2;μ2,δ22)⋯p(xn;μn,δn2)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=1np(xj;μj,δj2)=∏_{j=1}^n p(x_j;μ_j,δ^2_j)=j=1∏n​p(xj​;μj​,δj2​)=∏j=1n12πδjexp(−(xj−μj)22)=∏_{j=1}^n \frac{1}{\sqrt{2\pi}δ_j}exp(-\frac{(x_j-μ_j)^2}2)=j=1∏n​2π​δj​1​exp(−2(xj​−μj​)2​) p(x)=1(2π)n2∥Σ∥12exp(−12(x−μ)TΣ−1(x−μ))p(x)=\frac{1}{(2\pi)^{\frac n2} \|Σ\|^\frac12}exp(-\frac 12(x-μ)^TΣ^{-1}(x-μ))p(x)=(2π)2n​∥Σ∥21​1​exp(−21​(x−μ)TΣ−1(x−μ))
需要手动创建一些特征来描述某些特征的相关性 利用协方差矩阵 ΣΣΣ 获得了各个特征相关性
计算复杂度低,适用于高维特征 计算复杂
在样本数目 mmm 较小时也工作良好 需要 ΣΣΣ 可逆,亦即需要 m>nm>nm>n ,且各个特征不能线性相关,如不能存在 x2=3x1x_2=3x_1x2​=3x1​ 或者 x3=x1+2x2x_3=x_1+2x_2x3​=x1​+2x2​

由此可以看出,基于多元高斯分布模型的异常检测应用十分有限。

8.6 多元高斯分布模型-机器学习笔记-斯坦福吴恩达教授相关推荐

  1. 8.2 高斯分布模型-机器学习笔记-斯坦福吴恩达教授

    高斯分布模型 我们已经知道,异常检测的核心就在于找到一个概率模型,帮助我们知道一个样本落入正常样本中的概率,从而帮助我们区分正常和异常样本. 高斯分布(Gaussian Distribution) 模 ...

  2. 4.4 机器学习系统设计--垃圾邮件分类-机器学习笔记-斯坦福吴恩达教授

    机器学习系统设计–垃圾邮件分类 假定我们现有一封邮件,其内容如下: From: cheapsales@buystufffromme.com To: ang@cs.stanford.edu Subjec ...

  3. 8.7 程序示例--异常检测-机器学习笔记-斯坦福吴恩达教授

    程序示例–异常检测 异常检测模型 提供了一般高斯分布模型和多元高斯分布模型.其中,多元高斯分布模型被限制到了同轴分布: # coding: utf8 # anomaly_detection/anoma ...

  4. 5.7 程序示例--基于 SMO 的 SVM 模型-机器学习笔记-斯坦福吴恩达教授

    程序示例–基于 SMO 的 SVM 模型 在这里,我们会实现一个基于 SMO 的 SVM 模型,在其中,提供了简化版 SMO 和 完整版 SMO 的实现. 简化版 SMO:不使用启发式方法选择 (α( ...

  5. 3.12 程序示例--多分类问题-机器学习笔记-斯坦福吴恩达教授

    多分类问题 我们手上包含有手写字符的数据集,该数据集来自斯坦福机器学习的课后作业,每个字符图片大小为 20×20 ,总的样本规模为 5000×400 , 我们的神经网络设计如下,包含 1 个隐含层,隐 ...

  6. 10.1 掌握大数据-机器学习笔记-斯坦福吴恩达教授

    掌握大数据 在算法分析与优化一节中,我们就提到,在机器学习界流传着这样一句话: It's not who has the best algorithm that wins. It's who has ...

  7. 9.1 基于内容的推荐系统-机器学习笔记-斯坦福吴恩达教授

    基于内容的推荐系统 推荐系统是机器学习最重要的应用之一,你所知道的淘宝.亚马逊.facebook.豆瓣这些网站都把推荐系统作为了核心.在某个电影资讯的网站,有那么一份用户对于电影的打分(1 - 5 分 ...

  8. 8.1 概述-机器学习笔记-斯坦福吴恩达教授

    概述 异常检测(Anomaly Detection)是机器学习里面的一个常见应用,机器通过训练,将知道什么样的样本是正常样本,从而具备识别异常样本的能力. 飞机制造商在飞机引擎从生产线上流入市场前,会 ...

  9. 6.6 二分 K-Means 算法-机器学习笔记-斯坦福吴恩达教授

    二分 K-Means 算法 该算法补充自 <机器学习实战> 一书 常规的 K-Means 算法的误差通常只能收敛到局部最小,在此,引入一种称为二分 K-Means(bisecting km ...

最新文章

  1. asp.net C# 实现微信接口权限开发类
  2. AngularJS开发指南7:AngularJS本地化,国际化,以及兼容IE低版本浏览器
  3. 使用Xcode和Instruments调试解决iOS内存泄露【转】
  4. c语言 库 键盘,python 函数 map 、lambda
  5. The test form is only available for requests from the local machine解决方法
  6. 前端学习(3042):vue+element今日头条管理-用户退出
  7. php三级分销系统制作_微分销商城系统创建三级微商分销体系方法
  8. 手机资料误删恢复有什么办法
  9. idea打包java项目
  10. 微信公众号如何排版好看?教你三招技巧
  11. 矩阵与行列式计算注意点
  12. 通过定义函数,来实现判断1-100之间奇数的目的
  13. 关于Android的方向传感器
  14. aardio - 范例搜索工具
  15. 十月一“闭关修炼”,读完这些Java技术栈,愿金九银十过五斩六
  16. 罗技G502 HERO 主要的DPI灯光突然不亮了
  17. 赛元科技EasyCodeCube的使用——Keil环境的配置
  18. 新电脑配置显卡驱动及CUDA、CUDNN环境
  19. B.TMT Document (思维分析)
  20. Android源代码编译原理与前期准备

热门文章

  1. .NET 获得指定XML配置文件内容
  2. Spring MVC 的xml一些配置
  3. 《OD大数据实战》Flume环境搭建
  4. DevExpress的XtraReport中的Report Bands介绍和使用心得(帮助文档)
  5. 2005国际通信展将于10月18-22日举行
  6. VC++ _T()宏学习
  7. Bing地图REST服务
  8. MySql数据库使用入门
  9. ArcGIS Engine 项目10.1升级10.2
  10. Java 学习笔记 反射与迭代器