高斯分布是描述自然规律的基础工具,混合高斯模型则突破了单一分布的限制,实现了对复杂数据分布的拟合,而EM算法则为含隐变量的混合高斯模型提供了高效的参数求解方案
一、高斯分布(GM):自然规律的概率刻画
高斯分布(Gaussian Distribution,简称GM),又称正态分布,是概率统计中最经典的连续概率分布之一,从高尔顿钉板实验中弹珠的下落分布,到人群的身高、体重指标,再到仪器的测量误差,高斯分布成为描述连续型随机变量的通用工具
(一)理论定义与参数估计
高斯分布的概率密度函数由**均值μ\muμ和 方差σ2\sigma^2σ2**两个参数完全决定,其表达式为:
f(x)=12πσe−(x−μ)22σ2f(x)=\frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{(x-\mu)^{2}}{2 \sigma^{2}}}f(x)=2π σ1e−2σ2(x−μ)2
- μ\muμ决定分布的中心位置
- σ2\sigma^2σ2反映数据的离散程度
对于一组独立同分布的样本x1,x2,...,xnx_1,x_2,...,x_nx1,x2,...,xn,基于**极大似然估计(MLE)**可推导出参数的解析解:
μ=1n∑i=1nxi,σ2=1n∑i=1n(xi−μ)2\mu=\frac{1}{n} \sum_{i=1}^n x_i, \quad \sigma^2=\frac{1}{n} \sum_{i=1}^n (x_i-\mu)^2μ=n1i=1∑nxi,σ2=n1i=1∑n(xi−μ)2
即均值为样本的算术平均,方差为样本与均值偏差的平方平均。这种简单直观的参数估计方式,让高斯分布成为各类统计模型的基础假设
二、混合高斯模型(GMM):复杂数据的分布拟合
混合高斯模型(Gaussian Mixture Model,简称GMM)是由KKK个单高斯分布(GM)通过先验概率加权组合而成的概率模型,其核心思想是:复杂的多峰数据分布可由多个单峰高斯分布叠加拟合,每个样本由其中一个或多个高斯分布共同生成。GMM突破了单一高斯分布的限制,成为描述复杂数据分布的核心工具,也是无监督聚类、密度估计的经典模型。
(一)理论定义与似然函数
GMM假设随机变量XXX由KKK个相互独立的高斯分布混合生成,核心参数包括:
-
先验概率πk\pi_kπk :随机抽取一个样本,属于第kkk个高斯分布的概率,满足∑k=1Kπk=1\sum_{k=1}^K \pi_k=1∑k=1Kπk=1,体现了各高斯成分在模型中的权重;
-
单高斯分布参数(μk,Σk)(\mu_k, \Sigma_k)(μk,Σk) :第kkk个高斯分布的均值和协方差矩阵,决定该成分的分布特征
-
隐变量zzz:样本所属的高斯分布类别,是无法直接观测的隐藏信息
根据全概率公式 ,单个样本xix_ixi的概率为所有高斯成分的概率加权和:
P(xi)=∑k=1Kπk⋅N(xi∣μk,Σk)P(x_i) = \sum_{k=1}^K \pi_k \cdot N(x_i|\mu_k, \Sigma_k)P(xi)=k=1∑Kπk⋅N(xi∣μk,Σk)
- N(xi∣μk,Σk)N(x_i|\mu_k, \Sigma_k)N(xi∣μk,Σk)为第kkk个高斯分布的概率密度函数
对于NNN个独立样本,其联合概率(似然函数)为所有单个样本概率的乘积,取对数后得到GMM对数似然函数 :
l(π,μ,Σ)=∑i=1Nlog(∑k=1Kπk⋅N(xi∣μk,Σk))l(\pi, \mu, \Sigma) = \sum_{i=1}^N log\left( \sum_{k=1}^K \pi_k \cdot N(x_i|\mu_k, \Sigma_k) \right)l(π,μ,Σ)=i=1∑Nlog(k=1∑Kπk⋅N(xi∣μk,Σk))
这是GMM参数估计的目标函数,但其存在**logloglog嵌套求和**的结构,无法像单高斯分布那样直接求导得到解析解。而EM算法的出现,恰好解决了这一难题。
三、EM算法:含隐变量模型的参数求解
期望最大化算法(Expectation-Maximization Algorithm,简称EM)是求解含隐变量概率模型 的通用迭代优化算法,由E步(期望步)和M步(极大步)交替执行,核心思想是通过构造似然函数的下界并逐步最大化,间接逼近原似然函数的最大值。EM算法并非只针对GMM设计
(一)算法核心:Jensen不等式与似然下界
EM算法的数学基础是Jensen不等式:
对于凹函数f(x)=log(x)f(x)=log(x)f(x)=log(x),有f(E[X])≥E[f(X)]f(E[X]) ≥ E[f(X)]f(E[X])≥E[f(X)],即"函数的期望小于等于期望的函数"。利用这一性质,EM算法为GMM的对数似然函数构造证据下界(ELBO),将无法直接求解的原问题转化为"迭代优化下界"的简单问题
由于GMM中的隐变量(样本所属类别)无法观测,直接最大化对数似然函数无解。EM算法通过引入隐变量的分布Qi(z(i))Q_i(z^{(i)})Qi(z(i)) ,将对数似然函数转化为下界形式,通过不断优化Qi(z(i))Q_i(z^{(i)})Qi(z(i))和模型参数,让下界逐步逼近原似然函数,最终得到近似最优解
(二)EM算法迭代步骤
EM算法的迭代过程围绕**"估计隐变量→更新模型参数"**展开,适用于所有含隐变量的概率模型,具体步骤为:
-
参数初始化 :随机设定GMM的初始参数(π(0),μ(0),Σ(0))(\pi^{(0)}, \mu^{(0)}, \Sigma^{(0)})(π(0),μ(0),Σ(0)),设定收敛阈值ϵ\epsilonϵ;
-
E步(期望步) :在当前参数下,计算隐变量的后验概率γ(i,k)=P(z(i)=k∣x(i);θ)\gamma(i,k)=P(z^{(i)}=k|x^{(i)};\theta)γ(i,k)=P(z(i)=k∣x(i);θ),即样本xix_ixi属于第kkk个高斯分布的概率,公式为:
γ(i,k)=πk⋅N(xi∣μk,Σk)∑j=1Kπj⋅N(xi∣μj,Σj)\gamma(i,k) = \frac{\pi_k \cdot N(x_i|\mu_k, \Sigma_k)}{\sum_{j=1}^K \pi_j \cdot N(x_i|\mu_j, \Sigma_j)}γ(i,k)=∑j=1Kπj⋅N(xi∣μj,Σj)πk⋅N(xi∣μk,Σk)这一步的本质是"根据当前参数,补全模型的隐藏信息"
-
M步(极大步) :将E步得到的后验概率视为已知权重,对GMM的参数进行加权极大似然估计,更新π,μ,Σ\pi, \mu, \Sigmaπ,μ,Σ:
{Nk=∑i=1Nγ(i,k)μk=1Nk∑i=1Nγ(i,k)xiΣk=1Nk∑i=1Nγ(i,k)(xi−μk)(xi−μk)Tπk=NkN\begin{cases} N_k=\sum_{i=1}^N \gamma(i,k) \\ \mu_k=\frac{1}{N_k}\sum_{i=1}^N \gamma(i,k)x_i \\ \Sigma_k=\frac{1}{N_k}\sum_{i=1}^N \gamma(i,k)(x_i-\mu_k)(x_i-\mu_k)^T \\ \pi_k=\frac{N_k}{N} \end{cases}⎩ ⎨ ⎧Nk=∑i=1Nγ(i,k)μk=Nk1∑i=1Nγ(i,k)xiΣk=Nk1∑i=1Nγ(i,k)(xi−μk)(xi−μk)Tπk=NNk这一步的本质是"将隐变量的概率分布作为权重,求解新的模型参数"
-
收敛判断 :重复E步和M步,直到模型参数的变化量小于阈值ϵ\epsilonϵ,或对数似然函数值不再上升,此时的参数即为GMM的近似最优解。
EM算法保证了每次迭代的对数似然函数值非递减,因此一定能收敛到局部最优解。若需得到全局最优解,可通过多次随机初始化参数,选择似然函数值最大的结果。