单元高斯分布(The univariate Gaussian),我们高中时就知道了,其表达式如下:

python 混合高斯分布权重与均值 混合高斯分布的方差_模型表示

而多元高斯分布(Multivariate Gaussian Distribution)就是有多个参数控制的高斯分布,其均值是一个均值向量μ,设均值向量维度为D,而方差则是方差矩阵Σ,因此其表达式如下:

python 混合高斯分布权重与均值 混合高斯分布的方差_模态_02

书中P84,P111对于单个的高斯分布对数据建模的缺点作了描述。由于单个高斯模型是一个unimodal,意即模型只有一个最大值的(看到某页面上称之为“单模态”)(P84:has a single maximum),所以如P111所说的,单个高斯模型表示能力很有限,当数据有两个峰时就没法很好表示啦。因此需要混合高斯分布。

设有K个高斯分布混合在一起,每一个高斯分布称为一个Component,那么混合高斯分布表达式为(这个表达式来自P111):

python 混合高斯分布权重与均值 混合高斯分布的方差_python 混合高斯分布权重与均值_03

其中πk称为mixing coefficients,并且python 混合高斯分布权重与均值 混合高斯分布的方差_模型表示_04

P430引入了一个二元随机变量z,它的表示方法跟多项分布的表示方法一样,都是1-of-K representation,即zk∈{0,1}并且∑kzk=1 (意即对于K维的向量z只有一个值是1,其他所有值都是0),这样就可以用z来表示πk,它们之间的关系是p(zk=1)=πk。所以z的概率分布类似于多项分布的表示,即

python 混合高斯分布权重与均值 混合高斯分布的方差_python 混合高斯分布权重与均值_05

(=πk当对应k的那个zk是1时,因为其他指数都是0)

已知z之后,x对于z的条件分布为

python 混合高斯分布权重与均值 混合高斯分布的方差_模型表示_06根据P431页图模型(z->x),x与z的联合概率为p(x,z)=p(z)p(x|z),而将这个联合概率对x取边缘概率,就得到了如下(结合9.10和9.11):

python 混合高斯分布权重与均值 混合高斯分布的方差_模型表示_07这就是混合高斯分布表达式的推导过程。之所以要引入这个隐含变量z是为了引入EM算法,这个之后再说。

另一个重要变量是γ(zk),表示当观察到x时它由第k个Component产生的概率,即γ(zk)=p(zk=1|x),更具体的

python 混合高斯分布权重与均值 混合高斯分布的方差_python 混合高斯分布权重与均值_08   式9.13

这个式9.13后面介绍EM算法的时候要用到,这里先写一下。

P432讲的是从混合高斯分布Sample的过程,使用了图模型那章讲的ancestral sampling(P365)(其实就是根据图模型的拓扑结构依次sample随机变量值)。混合高斯分布的sample过程很简单(z->x),现根据p(z)选择z,即选择第zk个Component,此时已知z,然后再sample p(x|z),即式9.11啦,所以此时从第k个Component Sample 出来的x值已经和z无关了(z已知)