含隐变量的概率图模型的参数估计问题
在解决含隐变量的概率图模型的参数估计问题时,一种简单的想法是取使其对数边际似然最大的作为估计的参数。
为观测变量的观测数据,是一个向量,为隐变量的取值(但实际上无法观测)是一个向量,需要通过求和(积分)的形式去除。但函数中存在对数函数内部带有求和的形式,这样非常难以求导。比如在高斯混合模型中,隐变量是一维离散的变量。
1 | 2 | ...... | k | |
...... |
其中均是待估计参数,而对求导非常困难。
所以需要通过其他方式来进行计算使得观测数据的对数边际似然最大。
EM算法
EM(Expectation-Maximum,EM)算法用于解决含隐变量的概率图模型的参数估计问题,基本思想是从样本数据的对数边际似然出发,通过引入变分函数来得到证据下界(ELBO,Evidence Lower BOund),之后让ELBO最大,从而使得对数边际似然最大,采用迭代的方法来最大化边际似然。
共有两种方式可以证EM算法的公式
方式一——借助Jenson不等式
先直接引入变分函数,是定义在隐变量上的分布。对数边际似然函数可以写为:
这里第四步使用的公式是Jensen不等式,中文又称琴生不等式,对应的是凹函数(Concave Function)的情形,注意这里指的凹函数反而函数图象是凸的,例如大于1的对数函数。如图所示(图片来源于网络)
假设 为凹函数,为随机变量,则,同时,当且仅当为常数或g为线性函数时等号成立,对应于边际似然函数的公式中则为
等价于时等号成立,即。
方式二——利用贝叶斯公式和一点技巧
可使用贝叶斯公式将对数边际似然函数分解为:
之后引入变分函数,以上等式可以写为:
之后两边同时对求期望
由于KL散度总是大于0的,故,当且仅当时等号成立。
EM算法步骤
(1)找到近似分布,使得。
(2)再寻找参数最大化ELBO,从而最大化对数边际似然。
以上两个步骤分别称为E步和M步,在实际操作中,一般需要以迭代的方式去找到局部最优解
E步(Expectation Step):固定参数,寻找近似分布,使得
M步(Maximization Step):固定,找到一组参数使得ELBO最大,即
更新过程为(图片来源于邱锡鹏《神经网络与深度学习》)
在E步的时候,有一个关键步骤决定了EM算法是狭义还是广义,根据前面的推导,当且仅当
时,最大,如果可以计算,则直接取,这样就称为狭义EM,如果不可计算,需要通过变分推断来近似估计时,称为广义EM。
M步时,可以看作全观测变量的概率图模型的参数估计问题。
EM算法收敛性证明
在狭义EM的前提下,我们先来改写一下M步公式
由于第二式右项与无关,可以略去
现在我们需要证明
证明过程为:
以上是左右两式分别对求期望。
之后需要证明的式子更新为:
由于所以第一项成立
第二项可以写为
综合以上可得,即每经过一次迭代对数边际似然增加。
参考资料
白板推导https://www.bilibili.com/video/BV1aE411o7qd?p=60&vd_source=ae87fac745d78042d477bc11e9bf41b0《神经网络与深度学习》邱锡鹏https://nndl.github.io/