期望最大算法:Expectation Maximzation Algorithm(EM)
EM算法通过求在观测量和初始参数Z(隐变量)的条件概率的期望最大值,迭代更新参数,直到收敛到最优解。
i.解决问题
观测值受隐变量的影响,不能通过梯度下降更新参数(隐函数位置,无法简单直接地完成求导过程)
于是,引入EM算法,通过迭代的方式更新参数
ii.重要过程
1. 初始化参数值:由于参数是迭代更新,所以参数初始值会影响求解过程
2. 计算Q函数(E步):
补充概念:
完全数据:观测随机变量和隐随机变量连在一起称为完全数据;反之,之后Y则称为非完全数据。
Q函数的定义:完全数据的对数似然函数log( P,Z |
θ
\theta
θ )关于在给定观测
数据Y 和当前参数
θ
(
i
)
\theta^{(i)}
θ(i)下对未观测数据 Z 的条件概率分布P ( Z|Y,
θ
(
i
)
\theta^{(i)}
θ(i))的期望称
为Q 函数。公式如下:
其中,
θ
\theta
θ 是未知参数,
θ
(
i
)
\theta^{(i)}
θ(i)则是上次更新之后的参数,作为Q函数中的已知量。
Q函数的推导过程可以在网上搜索或者见《统计学习方法》。
4. 更新参数(M步):由Q函数的定义可知,上述条件概率的期望越大,拟合的参数越接近真实现象。于是,M步为:
M步用于更新参数
5. 重复步骤2和3直至收敛
至于EM算法是否收敛的问题,《统计学习方法》已经给出了详细的数学证明。
(如有问题和补充,欢迎大家留言或者私信)