吴恩达机器学习笔记56-多元高斯分布及其在误差检测中的应用(Multivariate Gaussian Distribution & Anomaly Detection using the Multivariate Gaussian Distribution)


一、多元高斯分布简介  

  假使我们有两个相关的特征,而且这两个特征的值域范围比较宽,这种情况下,一般的
高斯分布模型可能不能很好地识别异常数据。其原因在于,一般的高斯分布模型尝试的是去
同时抓住两个特征的偏差,因此创造出一个比较大的判定边界。

  下图中是两个相关特征,洋红色的线(根据ε 的不同其范围可大可小)是一般的高斯分
布模型获得的判定边界,很明显绿色的X 所代表的数据点很可能是异常值,但是其????(????)值却
仍然在正常范围内。多元高斯分布将创建像图中蓝色曲线所示的判定边界。

  在一般的高斯分布模型中,我们计算 ????(????) 的方法是: 通过分别计算每个特征对应的
几率然后将其累乘起来,在多元高斯分布模型中,我们将构建特征的协方差矩阵,用所有的
特征一起来计算 ????(????)。

我们首先计算所有特征的平均值,然后再计算协方差矩阵:

注:其中???? 是一个向量,其每一个单元都是原特征矩阵中一行数据的均值。最后我们计
算多元高斯分布的????(????):

其中:|????|是定矩阵,在 Octave 中用 det(sigma)计算

下面我们来看看协方差矩阵是如何影响模型的:

  上图是5 个不同的模型,从左往右依次分析:
  1. 是一个一般的高斯分布模型
  2. 通过协方差矩阵,令特征1 拥有较小的偏差,同时保持特征2 的偏差
  3. 通过协方差矩阵,令特征2 拥有较大的偏差,同时保持特征1 的偏差
  4. 通过协方差矩阵,在不改变两个特征的原有偏差的基础上,增加两者之间的正相关

  5. 通过协方差矩阵,在不改变两个特征的原有偏差的基础上,增加两者之间的负相关

  多元高斯分布模型与原高斯分布模型的关系:
  可以证明的是,原本的高斯分布模型是多元高斯分布模型的一个子集,即像上图中的第
1、2、3,3 个例子所示,如果协方差矩阵只在对角线的单位上有非零的值时,即为原本的高
斯分布模型了。

  原高斯分布模型被广泛使用着,如果特征之间在某种程度上存在相互关联的情况,我们
可以通过构造新新特征的方法来捕捉这些相关性。
  如果训练集不是太大,并且没有太多的特征,我们可以使用多元高斯分布模型。

 

二、多元高斯分布在误差检测中的应用

应用步骤:

原高斯分布模型和多元高斯分布模型的比较(下下图为原版):

一般来说,原高斯分布模型用得更多一些,如果有两个特征相关,可以尝试创建一个新特征来描述它俩的关系,实在不行或者如上表右边的情况,才用多元高斯分布模型。


作者:NeoML,发布于:2019/03/15
原文:https://www.cnblogs.com/sl0309/p/10538050.html