ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【EM算法】算法及注解

2026/8/11 3:01:17 拓冰建站 浏览量
【EM算法】算法及注解

EM算法又称期望极大算法,是一种迭代算法,每次迭代由两步组成:E步,求期望(expectation);M步,求极大(maximization)。

目录

算法背景

EM算法


算法背景

如果概率模型的变量都是观测变量,那么可以直接用极大似然估计法,或贝叶斯估计法估计模型参数。但是,当模型含有隐变量时,就需要考虑EM算法,EM算法是含有隐变量的概率模型参数的极大似然估计法。

EM算法

输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z | \theta ),条件分布P( Z| Y,\theta )

输出:模型参数\theta

1.选择参数的初值$\theta^{(0)}$,开始迭代;

EM算法对初值敏感

2.E步:记$\theta^{(i)}$为第$i$ 次迭代参数$\theta$的估计值,在第$i+1$次迭代的E步,计算

Q(\theta,\theta^{(i)})=E_Z[\log P(Y,Z|\theta)|Y,\theta^{(i)}]
=\sum_{Z}\log P(Y,Z|\theta)P(Z|Y,\theta^{(i)})

$P(Z|Y,\theta^{(i)})$ 是在给定观测数据$Y$和当前的参数估计$\theta^{(i)}$下隐变量数据$Z$的条件概率分布

$Q(\theta,\theta^{(i)})$是完全数据的对数似然函数P(Y,Z | \theta )关于在给定观测数据$Y$和当前的参数估计$\theta^{(i)}$下隐变量数据$Z$的条件概率分布$P(Z|Y,\theta^{(i)})$的期望。

其中,$Q(\theta,\theta^{(i)})$第一个变元\theta是要极大化的参数,第二个变元$\theta^{(i)}$是参数的当前估计。

3.M步:求使$Q(\theta,\theta^{(i)})$极大化的$\theta$,确定第$i+1$ 次迭代的参数的估计值 $\theta^{(i+1)}$


\theta^{(i+1)}=\arg\max_\theta Q(\theta,\theta^{(i)})

每次迭代$\theta^{(i)}\to\theta^{(i+1)}$使似然函数增大或达到局部极值

4.重复第2步和第3步,直到收敛。

收敛条件通常为:\|\theta^{(i+1)}-\theta^{(i)}\|<\varepsilon_1\quad\quad\|Q(\theta^{(i+1)},\theta^{(i)})-Q(\theta^{(i)},\theta^{(i)})\|<\varepsilon_2