五、EM 算法的推广
5.1 F 函数
F
函数:假设隐变量 的概率分布为 ,定义分布 与参数 的函数 为:其中 是分布 的熵。
通常假定 是 的连续函数,因此 为 和 的连续函数。
函数 有下列重要性质:
- 对固定的 ,存在唯一的分布 使得极大化 。此时 ,并且 随着 连续变化。
- 若 , 则 。
定理一:设 为观测数据的对数似然函数, 为
EM
算法得到的参数估计序列,函数 ,则:- 如果 在 和 有局部极大值,那么 也在 有局部极大值。
- 如果 在 和 有全局极大值,那么 也在 有全局极大值。
定理二:
EM
算法的一次迭代可由F
函数的极大-极大算法实现:设 为第 次迭代参数 的估计, 为第 次迭代函数 的估计。在第 次迭代的两步为:- 对固定的 ,求 使得 极大化。
- 对固定的 ,求 使得 极大化。
5.2 GEM算法1
GEM
算法1(EM
算法的推广形式):输入:
- 观测数据
- 函数
输出:模型参数
算法步骤:
初始化参数 ,开始迭代。
第 次迭代:
- 记 为参数 的估计值, 为函数 的估计值。求 使得 极大化。
- 求 使得 极大化。
- 重复上面两步直到收敛。
- 该算法的问题是,有时候求 极大化很困难。
5.3 GEM算法2
GEM
算法2(EM
算法的推广形式):输入:
- 观测数据
- 函数
输出:模型参数
算法步骤:
初始化参数 ,开始迭代。
第 次迭代:
记 为参数 的估计值, 计算
求 使得
重复上面两步,直到收敛。
此算法不需要求 的极大值,只需要求解使它增加的 即可。
5.4 GEM算法3
GEM
算法3(EM
算法的推广形式):输入:
- 观测数据
- 函数
输出:模型参数
算法步骤:
初始化参数 ,开始迭代
第 次迭代:
记 为参数 的估计值, 计算
进行 次条件极大化:
- 首先在 保持不变的条件下求使得 达到极大的
- 然后在 的条件下求使得 达到极大的
- 如此继续,经过 次条件极大化,得到 ,使得
- 重复上面两步,直到收敛。
该算法将
EM
算法的M
步分解为 次条件极大化,每次只需要改变参数向量的一个分量,其余分量不改变。