【统计学习方法】EM算法实现之GMM高斯混合模型

1 基本概念准备

1.1高斯分布

高斯分布(Gaussian distribution)有时也被称为正态分布(normal distribution),是一种在自然界大量的存在的、最为常见的分布形式。高斯分布的概率密度函数公式如下:

\large f(x | \mu,\sigma ^2) = \frac{1}{\sqrt{2 \sigma^2 \pi }}e^-\frac{(x-\mu)^2}{2\sigma^2}

1.2  混合模型(Mixture Model)

混合模型是一个可以用来表示在总体分布(distribution)中含有 K 个子分布的概率模型,换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由 K 个子分布组成的混合分布。混合模型不要求观测数据提供关于子分布的信息,来计算观测数据在总体分布中的概率。

1.3 高斯混合模型(GMM)

高斯混合模型可以看作是由 K 个单高斯模型组合而成的模型,这 K 个子模型是混合模型的隐变量(Hidden variable)。一般来说,一个混合模型可以使用任何概率分布,这里使用高斯混合模型是因为高斯分布具备很好的数学性质以及良好的计算性能。

 

2 EM算法在求解高斯混合模型参数中的应用

2.1 从EM算法开始

EM算法是一种解决存在隐含变量优化问题的有效方法。高斯混合模型是具体属于哪个高斯分布不定,参数未知(存在隐含变量),可以使用EM算法求解参数。看下EM算法的步骤:

给定初始的模型参数\theta,然后E步骤和M步骤迭代:

E步骤 根据参数初始值或上一次迭代的模型参数来计算出隐性变量的后验概率,其实就是隐性变量的期望。作为隐藏变量的现估计值:

\large Q(z^{(i)}) = P(z^{(i)}|x^{(i)};\theta)

M步骤 将似然函数最大化以获得新的参数值:

\large \theta = arg\ \underset{\theta}{max} \sum_{i=1}^{m}\sum_{z^{i}}logP(x^{(i)},z^{(i)} ;\theta)

重复步骤E,M直到收敛。

对于混合高斯模型来说,待定参数\large \theta指的是\large \mu_1,\sigma_1,\mu_2,\sigma_2,\mu_3,\sigma_3...\mu_k,\sigma_k

2.2 高斯混合模型代码实现

 

 

你可能感兴趣的:(机器学习,数学)