简单理解:一维单高斯 多维单高斯 混合多高斯GMM
强迫症超级严重,在学习中,又总是遇坑,弄不明白的地方就难受,不明白的必须要想明白,不然信不信能失眠到天亮,某人说的思维惯性真的是会冲到黎明的,我保证我能感同身受。
简单的高斯分布,全部理解清楚就花了我好久的时间,今天总算全部打通,记录我下我的理解。
遇到问题:对单高斯,混合单高斯,多维单高斯,等概念混淆,一直理解得乱糟糟,一不小心就混淆。
解决问题:由浅及深,从概念,到公式推导,最后全部理解清楚。
单高斯
若随机变量X服从一个数学期望为
正太分布的期望值
标准正太分布是
多维单高斯
那么问题来了,多维单高斯是如何由一维单高斯发展而来的呢?
首先我们一维正太分布单高斯可以表示如下:
我们可以把这两个随机变量组合成一个随机向量:
则
然后从标准正态分布推广到一般正态分布,办法是通过一个线性变换:
其中前面的系数 |A| 是 A 的行列式。
可以证明这个分布的均值为
高维情形,假设有
每个
贴一张多维单高斯仿真图瞅瞅,留个印象,如下图所示:
看上图觉得还蛮复杂的是不是,实际上它只是一个
高斯混合模型GMM(Gaussian Mixture Model)
那么看过一维单高斯,多维单高斯,我们来看看经常被提到的GMM是个什么东东,GMM的中文意思其实就是高斯混合模型。单高斯意思是只有一个高斯,而GMM就是有多个高斯混合而成。字面意思可以理解有两个或者两个以上的高斯混合一起的可以被称为GMM。每个高斯实际就是一个component,而每个component可以是一个一维单高斯也可以是一个多维单高斯。
下面看一下GMM比较专业的定义:
统计学习的模型有两种,一种是概率模型,一种是非概率模型。
所谓概率模型,是指训练模型的形式是P(Y|X) 。输入是X ,输出是Y ,训练后模型得到的输出不是一个具体的值,而是一系列的概率值(对应于分类问题来说,就是输入X 对应于各个不同Y (类)的概率),然后我们选取概率最大的那个类作为判决对象(软分类–soft assignment)。所谓非概率模型,是指训练模型是一个决策函数Y=f(X) ,输入数据X是多少就可以投影得到唯一的Y ,即判决结果(硬分类–hard assignment)。
所谓混合高斯模型(GMM)就是指对样本的概率密度分布进行估计,而估计采用的模型(训练模型)是几个高斯模型的加权和(具体是几个要在模型训练前建立好)。每个高斯模型就代表了一个类(一个Cluster)。对样本中的数据分别在几个高斯模型上投影,就会分别得到在各个类上的概率。然后我们可以选取概率最大的类所为判决结果。
从中心极限定理的角度上看,把混合模型假设为高斯的是比较合理的,当然,也可以根据实际数据定义成任何分布的Mixture Model,不过定义为高斯的在计算上有一些方便之处,另外,理论上可以通过增加Model的个数,用GMM近似任何概率分布。
混合高斯模型的定义为:p(x)=∑k=1Kπkp(x|k)
其中K 为模型的个数;πk 为第k个高斯的权重;p(x|k) 则为第k 个高斯概率密度,其均值为μk ,方差为δk 。对此概率密度的估计就是要求出πk 、μk 和δk 各个变量。当求出p(x) 的表达式后,求和式的各项的结果就分别代表样本x 属于各个类的概率。
下面看一个GMM仿真图,在心里留个印象,如下图所示: