前言
前段时间学习 HMM-GMM 模型,对其优化算法“EM 算法”的理解不够透彻。经过反复查找资料学习,现将自己的理解进行整理,用以巩固。这里大部分公式推导都源自 [1] 中第二章内容。
辅助函数
EM算法是解决不完全数据下的最大似然估计的算法。从原理上讲,它通过逐步迭代,将最大化不完全数据的对数似然,转化为最大化完全数据的对数似然的期望。假设一个分布中分别有隐变量
S
和显变量
P(Φ)=logp(X|Φ)=log∑Sp(S,X|Φ)
最右边的式子中 log sum 是无法分解的,所以无法像常规最大似然算法一样直接求解。于是,EM算法构造了如下的辅助函数:
Q(Φ|Φ(0))=∑Sp(S|X,Φ(0))logp(X,S|Φ)
这个辅助函数从形式上来看是把 log 和 sum 对调了一下,然后 sum 的每一项乘上一个系数,这个系数就是给定观测数据 X 以及旧模型
辅助函数分析
那么优化这个辅助函数
Q
与优化
首先,来看一下贝叶斯公式的变形:
p(X|Φ)=p(S,X|Φ)p(S|XΦ)
对等式两边取 log 得到:
logp(X|Φ)=logp(S,X|Φ)−logp(S|X,Φ)
这个式子的等号右边与 Q 有些接近了,少了期望,多了一个似然项。先把期望加进去,分别在上式两边对给定观测
等式左边即等于 logp(X|Φ) ,因为 logp(X|Φ) 与 p(S|X,Φ(0)) 无关,所以取期望就为其本身。 上面的式子与 Q 只差多余的第二项了。上面的式子如果展开看着比较晕,先简化一下,定义:
H(Φ|Φ(0))=E[logp(S|X,Φ)]S|X,Φ(0)=∑Sp(S|X,Φ(0))logp(S|X,Φ)
上面的 Q 就是辅助函数,而
P(Φ)=logp(X|Φ)=Q(Φ|Φ(0))−H(Φ|Φ(0))
这就是所要优化的目标,与EM算法所构造的辅助函数 Q 之间的关系。接着就来看一下最大化
logp(X|Φ)−logp(X|Φ(0))=[Q(Φ|Φ(0))−Q(Φ(0)|Φ(0))]−[H(Φ|Φ(0))−H(Φ(0)|Φ(0))]
对于等号右边的第二项,可以证明它是小于等于0的,过程如下:
H(Φ|Φ(0))−H(Φ(0)|Φ(0))=∑Sp(S|X,Φ(0))logp(S|X,Φ)−∑Sp(S|X,Φ(0))logp(S|X,Φ(0))=∑Sp(S|X,Φ(0))logp(S|X,Φ)p(S|X,Φ(0))
由 Jenson 不等式:
∑iailogxi≤log∑iaixi对于 ai>0,∑iai=1
可得:
H(Φ|Φ(0))−H(Φ(0)|Φ(0))≤∑Sp(S|X,Φ(0))p(S|X,Φ)p(S|X,Φ(0))=log∑Sp(S|X,Φ)=0
所以,最后得到如下不等式:
logp(X|Φ)−logp(X|Φ(0))≥Q(Φ|Φ(0))−Q(Φ(0)|Φ(0))
这个式子的物理含义就是,如果对 Q 进行优化,得到更大
参考文献
[1] 鄢志杰. 声学模型区分性训练及其在自动语音识别中的应用[D]. 中国科学技术大学, 2008.