EM算法学习


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$ 个分模型

高斯混合模型参数估计的EM算法


Author: Dovahkiin
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Dovahkiin !
  TOC