EM 算法
E 代表 expectation,求期望,M 代表 maximization 求极大.所以这一算法称为期望极大算法.
该算法用于含有隐变量的概率模型参数的极大似然估计.
算法
EM 算法
输入:观测变量数据 Y,隐变量数据 Z,联合分布 $P(Y,Z|\theta)$,条件分布 $P(Z|Y,\theta)$
输出:模型参数
- 初始化:选择参数的初值,开始迭代
- E 步:记 $\theta^i$ 为第 $i$ 次迭代参数 $\theta$ 的估计值,在第 $i + 1$ 次迭代的 E步,计算:
$$\begin{aligned}
Q(\theta,\theta^i) &= E_Z[log P(Y,Z|\theta) | Y,\theta^i] \\
&= \displaystyle \sum_Z log P(Y,Z|\theta)P (Z|Y,\theta^i)
\end{aligned}$$ - M 步:求使 $Q(\theta,\theta^i)$ 极大化的 $\theta$,确定第 $i+1$ 次迭代的参数的估计值 $\theta^{i+1}$
- 重复 M 和 E 步,直到收敛
Q函数定义
完全数据的对数似然函数 $log P(Y,Z|\theta)$ 关于在给定观测数据 $Y$ 和当前参数 $\theta^i$ 下对未观测数据 $Z$ 的条件概率分布 $P(Z|Y,\theta^i)$ 的期望称为 $Q$ 函数,即:
$$Q(\theta,\theta^i) = E_Z[log P(Y,Z|\theta) | Y,\theta^i]$$
EM 算法在高斯混合模型中的应用
高斯混合模型
高斯混合模型是指具有如下形式的概率分布模型:
$$P(y|\theta) = \displaystyle \sum_{k=1}^K \alpha_k \phi(y|\theta_k)$$
其中,$\alpha_k$ 是系数,$\alpha_k \ge 0$,$\sum \alpha_k = 1$;$\phi(y|\theta_k)$是高斯分布密度,也就是正态分布密度
$\theta_k = (\mu_k,\sigma_k^2)$,称为第 $k$ 个分模型