二、EM算法原理
2.1 观测变量和隐变量
令 表示观测随机变量, 表示对应的数据序列;令 表示隐随机变量, 表示对应的数据序列。
和 连在一起称作完全数据,观测数据 又称作不完全数据。
假设给定观测随机变量 ,其概率分布为 ,其中 是需要估计的模型参数,则不完全数据 的似然函数是 , 对数似然函数为 。
假定 和 的联合概率分布是 ,完全数据的对数似然函数是 ,则根据每次观测之间相互独立,有:
由于 发生,根据最大似然估计,则需要求解对数似然函数:
的极大值。其中 表示对所有可能的 求和,因为边缘分布 。
该问题的困难在于:该目标函数包含了未观测数据的的分布的积分和对数。
2.2 EM算法
2.2.1 原理
EM
算法通过迭代逐步近似极大化 。假设在第 次迭代后, 的估计值为: 。则希望 新的估计值能够使得 增加,即: 。
为此考虑两者的差: 。
这里 已知,所以 可以直接计算得出。
Jensen
不等式:如果 是凸函数, 为随机变量,则有: 。如果 是严格凸函数,当且仅当 是常量时,等号成立。
当 满足 时,将 视作概率分布。
设随机变量 满足概率分布 ,则有: 。
考虑到条件概率的性质,则有 。因此有:
等号成立时,需要满足条件:
其中 为随机变量 的取值个数。
令 :
则有: ,因此 是 的一个下界。
根据定义有: 。因为此时有:
任何可以使得 增大的 ,也可以使 增大。
为了使得 尽可能增大,则选择使得 取极大值的 : 。
求极大值:
其中: 与 无关,因此省略。
2.2.2 算法
EM
算法:输入:
- 观测变量数据
- 联合分布 ,以及条件分布
联合分布和条件分布的形式已知(比如说高斯分布等),但是参数未知(比如均值、方差)
输出:模型参数
算法步骤:
选择参数的初值 ,开始迭代。
E
步:记 为第 次迭代参数 的估计值,在第 步迭代的E
步,计算:其中 表示:对于观测点 , 关于后验概率 的期望。
M
步:求使得 最大化的 ,确定 次迭代的参数的估计值重复上面两步,直到收敛。
通常收敛的条件是:给定较小的正数 ,满足: 或者 。
是算法的核心,称作 函数。其中:
- 第一个符号表示要极大化的参数(未知量)。
- 第二个符号表示参数的当前估计值(已知量)。
EM
算法的直观理解:EM
算法的目标是最大化对数似然函数 。直接求解这个目标是有问题的。因为要求解该目标,首先要得到未观测数据的分布 。如:身高抽样问题中,已知身高,需要知道该身高对应的是男生还是女生。
但是未观测数据的分布就是待求目标参数 的解的函数。这是一个“鸡生蛋-蛋生鸡” 的问题。
EM
算法试图多次猜测这个未观测数据的分布 。每一轮迭代都猜测一个参数值 ,该参数值都对应着一个未观测数据的分布 。如:已知身高分布的条件下,男生/女生的分布。
然后通过最大化某个变量来求解参数值。这个变量就是 变量,它是真实的似然函数的下界 。
- 如果猜测正确,则 就是真实的似然函数。
- 如果猜测不正确,则 就是真实似然函数的一个下界。
隐变量估计问题也可以通过梯度下降法等算法求解,但由于求和的项数随着隐变量的数目以指数级上升,因此代价太大。
EM
算法可以视作一个非梯度优化算法。- 无论是梯度下降法,还是
EM
算法,都容易陷入局部极小值。
2.2.3 收敛性定理
定理一:设 为观测数据的似然函数, 为
EM
算法得到的参数估计序列, 为对应的似然函数序列,其中 。则: 是单调递增的,即: 。
定理二:设 为观测数据的对数似然函数, 为
EM
算法得到的参数估计序列, 为对应的对数似然函数序列,其中 。如果 有上界,则 会收敛到某一个值 。
在函数 与 满足一定条件下,由
EM
算法得到的参数估计序列 的收敛值 是 的稳定点。关于“满足一定条件”:大多数条件下其实都是满足的。
定理二只能保证参数估计序列收敛到对数似然函数序列的稳定点 ,不能保证收敛到极大值点。
EM
算法的收敛性包含两重意义:- 关于对数似然函数序列 的收敛。
- 关于参数估计序列 的收敛。
前者并不蕴含后者。
实际应用中,
EM
算法的参数的初值选择非常重要。- 参数的初始值可以任意选择,但是
EM
算法对初值是敏感的,选择不同的初始值可能得到不同的参数估计值。 - 常用的办法是从几个不同的初值中进行迭代,然后对得到的各个估计值加以比较,从中选择最好的(对数似然函数最大的那个)。
- 参数的初始值可以任意选择,但是
EM
算法可以保证收敛到一个稳定点,不能保证得到全局最优点。其优点在于:简单性、普适性。