文章目录
  1. 1. Gaussian Mixture Model
    1. 1.1. 参数估计
    2. 1.2. 隐变量
    3. 1.3. 混合高斯模型
    4. 1.4. EM 下的 GMM
      1. 1.4.1. E-step
      2. 1.4.2. M-step
    5. 1.5. 总结
    6. 1.6. 参考

Gaussian Mixture Model

GMM(高斯混合模型)是概率密度的万能近似器(universal approximator),在这种意义下,任何平滑的概率密度都可以用具有足够多组件的高斯混合模型以任意精度来逼近。但是 GMM 并不能通过极大似然的方式得到模型的参数,而需要 EM(期望最大化)的求解最优参数解。

参数估计

通过极大似然估计来估计单个高斯模型的参数。

这里先假设所有的数据服从一个高斯正态分布,${N(\mu, \sigma^2)}$,有 ${N}$ 个样本,${x_1, x_2, \ldots, x_N}$,通过极大似然估计的方法,则似然函数如下:

其中,${p(x_i |\mu, \sigma^2) = \frac{1}{\sqrt{2 \pi} \sigma} \exp^{- \frac{(x - u)^2}{2 \sigma^2}}}$,对于极大似然函数,一般选择取对数,变成对数似然函数,这样做可以将连乘转化为连加,同时不改变单调性。

对 ${\mu}$ 和 ${\sigma^2}$ 进行求导,并使得导数为 ${0}$,使得对数似然函数达到最大值时所对应的参数。

求解得到,${\mu_{MLE} = \bar{X} = \frac{1}{N} \sum_{i=1}^{N} x_i}$ 和 ${\sigma_{MLE}^2 = \frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2}$

隐变量

GMM 有观测数据,${x_1, x_2, \ldots, x_N}$,也有未观测的数据,即每个样本属于哪一个分模型。则通过引入隐变量来使得模型简化,那么引入隐变量 ${z_i \in \{1, 2, \ldots, K\}}$,(也有说法是 ${\gamma_{ij}}$,取值为 ${1}$ 则说明 ${x_i}$ 来源于第 ${k}$ 个分模型,否则取值为 ${0}$)引入隐含变量的要求就是不改变概率的 边缘分布,即:

那么对于 ${p(x | \theta)}$ 来说,则有:

对于 GMM 模型,${p(x_i|z_i, \theta)}$ 则对应 ${N(x_i|\mu_{z_i, \Sigma_{z_i}})}$,${p(z_i|\theta)}$ 则对应 ${\alpha_{z_i}}$。

混合高斯模型

但是有时候,整个数据集可能是是从多个高斯模型所构成的,而不是一个。这里我们先假设是由 ${K}$ 个高斯混合模型所构成的。

其中,${\alpha_{k}}$ 为第 ${k}$ 个分模型的权重,满足 ${0 \le \alpha_{k} \le 1}$,并且 ${\sum \alpha_{k} = 1}$。因此,GMM 模型的参数为 ${\theta = \{\mu_1, \mu_2, \ldots, \mu_K, \Sigma_1, \Sigma_2, \ldots, \Sigma_K, \alpha_1, \alpha_2, \dots, \alpha_K\}}$,共计 ${3K}$ 个,也可以说成 ${3K - 1}$ 个,因为满足 ${\sum \alpha_{k} = 1}$,则知道 ${K-1}$ 个不同的 ${\alpha_k}$,则可以计算出剩下的一个。

使用极大似然的方法,那么 ${\theta_{MLE}}$ 的计算方式如下:

由于 ${\log}$ 函数里面有连加,不能采取像单个高斯模型那样,直接对对数似然函数进行求导,使得倒数等于 ${0}$ 来得到 ${\theta_{MLE}}$,则需要 EM 算法通过迭代的方式来求得 ${\theta_{MLE}}$。

EM 下的 GMM

使用极大似然函数,当前参数下的数据分布,${p(X|\theta)}$ 为:

对于跟定参数 ${\theta}$ 下,观测数据 ${X}$ 和 未观测数据 ${Z}$ 的联合概率分布为 ${p(X,Z|\theta)}$ 为:

对于给定的的参数 ${\theta}$ 和观测数据 ${X}$,确定因变量的概率分布:${p(z_i|x_i, \theta)}$ 为:

假设一个变量 ${\hat{\gamma}_{ik}}$,表示第 ${k}$ 的分模型对 ${x_i}$ 的响应度。对于 ${x_i}$ 来说,有 ${K}$ 的响应度,认为 ${x_i}$ 来自于响应度最大的值所对应的分模型。

E-step

根据当前的模型参数,计算各个分模型 ${k}$ 对样本 ${x_i}$ 的响应度。

M-step

根据当前各个样本划分到不同分模型的情况,重新估计参数 ${\theta^{(t+1)}}$ 值为:

总结

除了均值和协方差以外,高斯混合模型的参数指明了给每个组件 ${i}$ 的先验概率(prior probability) ${\alpha_i = P(c=i)}$。“先验” 一词表明了在观测到 ${x}$ 之前传递给模型关于 ${c}$ 的信念。作为对比,${P(c|x)}$ 是后验概率(posterior probability),因为它是在观测到 ${x}$ 之后进行计算的。

相比于硬聚类 K-Means,GMM 是一种软聚类,给出了每个样本属于各个分模型的一个概率,而 K-Means 则是将样本划分在最近的中心点所在的簇中,因此 K-Menas 中,只有计算均值和欧氏距离的参数,没有权重的参数。

参考

  1. 徐亦达(Yi-da Xu) | 概率机器学习 | 高阶讲解 非入门 | EM | 视频
  2. 徐亦达(Yi-da Xu) | 概率机器学习 | 高阶讲解 非入门 | EM | 课件
  3. 最大似然估计 高斯分布 正态分布
  4. 花书《深度学习》
  5. 《统计学习方法》李航
文章目录
  1. 1. Gaussian Mixture Model
    1. 1.1. 参数估计
    2. 1.2. 隐变量
    3. 1.3. 混合高斯模型
    4. 1.4. EM 下的 GMM
      1. 1.4.1. E-step
      2. 1.4.2. M-step
    5. 1.5. 总结
    6. 1.6. 参考