原创:hxj7
本文介绍了 EM算法 和 Baum-Welch算法的推导过程。
一般地,估算概率模型参数可以用最大似然法,即找到
有时为了简便运算,也可以用最大对数似然代替最大似然,即以下公式
很多时候上述公式没有解析解或者解析解运算过于复杂,这个时候可以用迭代的方法求解。预先设置终止条件,满足该条件时即停止迭代。
EM算法
EM算法就是这样一种迭代算法,该算法在有缺失值存在的情况下估算概率模型的参数(或参数集,下文统称参数)。其大致过程如下:
E步骤:计算Q函数。
M步骤:相较于,最大化。
其具体推导过程如下:
最终目的是找到最大对数似然对应的参数。
假设为缺失数据,我们首先可以得到:
公式(2)很容易推导,因为:
所以
等式两边取 可以得到公式(2)。
在求取最大对数似然的迭代过程中,假设步骤中得到了参数,对应的对数似然是。那么步骤中的对数似然应该不小于。即
为了得到,我们首先变换得到:
公式(4)可以这样推导得到:
将公式(2)等式两边乘上,再对所有的求和,得到:
很容易看出等式左边:
由公式(4.1)和(4.2)可以得到公式(4)。
如果令
那么我们可以得到:
公式(6)的推导也很容易:
其中一项是对的相对熵,所以不小于0。只要不小于,那么就可以保证公式(3)成立。那么可以取
我们定义概率分布相对于概率分布的相对熵为:
那么,证明如下:
我们知道:
那么:
所以:
因而:
等号成立当且仅当对所有的,都成立。
Baum-Welch算法
Baum-Welch算法是EM算法的一个特例,可以用于估算HMM模型中的概率参数。其缺失的数据是路径。所以,Baum-Welch算法求解的是:
我们知道,HMM模型中,对于一条给定的路径,模型中的参数(如转移概率、发射概率等)都会在计算的式子中出现多次。假设出现的次数为,而出现的次数为,那么对于路径:
所以:
由此,公式(8)变成:
改变公式(11)的求和顺序,我们可以得到:
其中:
公式(12)可以这样推导得到:
公式(11)先对求和,可以得到:
现在关键就是怎么样取以及的值,可以最大化。我们令
那么此时对应的为其最大值。
公式(13)的结论证明如下:
假设对应的为,其它任意对应的就记为。那么:
最后一个不等式中可以看作对于的相对熵;可以看作相对于的相对熵。所以二者都不小于0。
小结
本文的推导过程基于《生物序列分析》第11章中的内容,笔者所做的工作就是将书中简要的推导过程补充详细。
(公众号:生信了)
网友评论