机器学习笔记之EM算法——隐变量与EM算法的本质
引言
上一节介绍了EM算法公式的导出过程,本节将重新回顾EM算法,比对各模型的求解方式,并探究引入隐变量与EM算法的本质。
回顾:EM算法
从性质上介绍EM算法
EM算法本质上是一种算法,它的目标是通过求解参数 θ \theta θ,将概率模型 P ( X ∣ θ ) P(\mathcal X \mid \theta) P(X∣θ)表示出来。
和EM算法具有 相似性质 的如:极大似然估计(MLE),最大后验概率估计(MAP):
θ ^ M L E = arg max θ log P ( X ∣ θ ) θ ^ M A P ∝ arg max θ log P ( X ∣ θ ) P ( θ ) \hat \theta_{MLE} = \mathop{\arg\max}\limits_{\theta} \log P(\mathcal X \mid \theta) \\ \hat \theta_{MAP} \propto \mathop{\arg\max}\limits_{\theta} \log P(\mathcal X \mid \theta)P(\theta) θ^MLE=θargmaxlogP(X∣θ)θ^MAP∝θargmaxlogP(X∣θ)P(θ)
和上述两种方法不同的是,EM算法并没有求解析解,而是迭代解:
与其说是求解,不如说是对求解过程中‘对解进行优化’。相似方法的有‘梯度下降’~
θ ( t + 1 ) = arg max θ ∫ Z P ( X , Z ∣ θ ) P ( Z ∣ X , θ ( t ) ) d Z \theta^{(t+1)} = \mathop{\arg\max}\limits_{\theta} \int_{\mathcal Z} P(\mathcal X,\mathcal Z \mid \theta)P(\mathcal Z \mid \mathcal X,\theta^{(t)}) d\mathcal Z θ(t+1)=θargmax∫ZP(X,Z∣θ)P(Z∣X,θ(t))dZ
通过EM算法的收敛性证明,可以推导出EM算法在迭代过程中可以对模型参数的解 θ \theta θ进行优化,从而达到一个至少是局部最优的解:
log P ( X ∣ θ ( t + 1 ) ) ≥ log P ( X ∣ θ ( t ) ) \log P(\mathcal X \mid \theta^{(t+1)}) \geq \log P(\mathcal X \mid \theta^{(t)}) logP(X∣θ(t+1))≥logP(X∣θ(t))
其他概念回顾
由于EM算法的算法性质,自然和之前介绍的其他概念存在明显区分:
线性回归
例如之前介绍的很多概念如:线性回归,它的模型只是一个线性函数:
f ( W , b ) = W T X + b f(\mathcal W,b) = \mathcal W^{T}\mathcal X + b f(W,b)=WTX+b
基于该模型,如何通过求解模型参数 W , b \mathcal W,b W,b来实现回归任务?因此介绍一种求解模型参数 W , b \mathcal W,b W,b的工具:最小二乘估计:
L ( W , b ) = ∑ i = 1 N ∣ ∣ W T x ( i ) + b − y ( i ) ∣ ∣ ( x ( i ) , y ( i ) ) ∈ D a t a \mathcal L(\mathcal W,b) = \sum_{i=1}^N||\mathcal W^{T}x^{(i)} + b - y^{(i)}|| \quad (x^{(i)},y^{(i)}) \in Data L(W,b)=i=1