GMM模型

高斯分布

高斯分布也称为正态分布,是在自然界中广泛存在的一种分布。根据中心极限定理,大量相互独立随机变量的均值依分布收敛于正态分布。因此使用正态分布描述语音特征的概率分布是合适的。

D维随机变量的高斯分布的概率密度函数为:

N(xμ,Σ)=1(2π)D/21Σ1/2exp(12(xμ)TΣ1(xμ))\mathcal{N}(\boldsymbol{x}|\boldsymbol{\mu},\boldsymbol{\Sigma}) = \frac{1}{(2\pi)^{D/2}} \frac{1}{\left|\boldsymbol{\Sigma}\right| ^{1/2}} \exp(-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu}))

其中,μ\mu是D维向量,表示该高斯分布的均值;Σ\Sigma是D*D的矩阵,表示该高斯分布的协方差矩阵。

最大似然估计

对于服从p(xθ)p(x|\theta)分布的随机变量x,我们要估计其参数θ\theta,首先获得x的若干个相互独立的样本信息,记作x1,x2,...,xnx_1,x_2,...,x_n

似然函数定义为:

p(x1,x2,...,xnθ)=i=1np(xiθ)p(x_1,x_2,...,x_n| \theta) = \prod_{i=1}^{n}p(x_i|\theta)

两边取对数:

lnp(x1,x2,...,xnθ)=i=1nlnp(xiθ)\ln p(x_1,x_2,...,x_n | \theta) = \sum_{i=1}^{n}\ln p(x_i|\theta)

则参数θ\theta的最大似然估计为:

θ=argmaxθlnp(x1,x2,...,xnθ)\theta = \mathop{\arg\max}\limits_{\theta} \ln p(x_1,x_2,...,x_n | \theta)

高斯分布的最大似然估计

μ=1NinxiΣ=1Nin(xiμ)(xiμ)T\mu=\frac{1}{N} \sum_i^n x_i \\ \Sigma = \frac{1}{N} \sum_i^n (x_i - \mu)(x_i - \mu)^T

高斯混合分布

p(x)=k=1KπkN(xμk,Σk)p(\boldsymbol{x}) = \sum_{k=1}^{K} \pi_k \mathcal{N}(\boldsymbol{x}|\boldsymbol{\mu_k},\boldsymbol{\Sigma_k})

其中,0πk10 \le \pi_k \le 1k=1Kπk=1\sum_{k=1}^{K} \pi_k = 1,
πk,μk,Σk\pi_k, \mu_k, \Sigma_k是待估计参数。

高斯混合分布的参数估计(EM算法)

1 初始化

初始化参数 πk,μk,Σk\pi_k, \mu_k, \Sigma_k

2 E步

使用当前的参数,计算后验概率

γ(zik)=πkN(xiμk,Σk)jπjN(xiμj,Σj)\gamma(z_{ik}) = \frac{\pi_k\mathcal{N}(\boldsymbol{x_i}|\boldsymbol{\mu_k},\boldsymbol{\Sigma_k})}{\sum_j \pi_j\mathcal{N}(\boldsymbol{x_i}|\boldsymbol{\mu_j},\boldsymbol{\Sigma_j})}

3 M步

根据后验概率,估计新的参数值

μk=1Nkinγ(zik)xiΣk=1Nkinγ(zik)(xiμ)(xiμ)Tπk=NkNNk=i=1nγ(zik)\mu_k=\frac{1}{N_k} \sum_i^n \gamma(z_{ik}) x_i \\ \Sigma_k = \frac{1}{N_k} \sum_i^n \gamma(z_{ik})(x_i - \mu)(x_i - \mu)^T \\ \pi_k = \frac{N_k}{N} \\ N_k = \sum_{i=1}^{n} \gamma(z_{ik})

4 重复

重新计算似然函数,重复2-4,直至满足收敛条件