二战周志华《机器学习》--概率图模型推断

1、推断问题

基于概率图定义的联合概率分布,我们能对目标变量的边际分布或以某些可观测变量为条件的条件分布进行推断。在马尔可夫网中,变量的联合分布被表示称极大团的势函数的乘积,于是,给定参数θ求解某个变量x的分布,就变成对联合分布中其他无关变量进行积分的过程,这称为边际化。

二战周志华《机器学习》--概率图模型推断_第1张图片

概率图模型的推断方法大致可分为两类,第一类是精确推断方法,希望能计算出目标变量的边际分布或条件分布的精确值,遗憾的是,一般情形下,此类算法的计算复杂度随着极大团规模的增长呈指数增长,适用范围有限,第二类是近似推断方法,希望在较低的时间复杂度下获得原问题的近似解,此类方法更为常用。
两种代表性的精确推断方法分别是变量消法信念传播
而两种代表性的近似推断方法分别是MCMC采样变分推断
这里,我们只介绍一下MCMC采样,因为LDA中的gibbs采样算法也是一种MCMC采样算法的特例。

2、MCMC采样

对于给定的概率分布p(x),我们希望能有便捷的方式生成它对应的样本,由于马尔可夫链能够收敛到平稳分布,于是一个很漂亮的想法是:如果我们能构造一个转移矩阵伪P的马尔可夫链,使得该马尔可夫链的平稳分布恰好是p(x),那么我们从任何一个初始状态x0出发沿着马尔可夫链转移,得到一个转移序列x0,x1,x2,....xn,xn+1,如果马尔可夫链在第n步已经收敛了,于是我们就得到了p(x)的样本xn,xn+1....

好了,有了这样的思想,我们怎么才能构造一个转移矩阵,使得马尔可夫链最终能收敛即平稳分布恰好是我们想要的分布p(x)呢?我们主要使用的还是我们的细致平稳条件(Detailed Balance),再来回顾一下:


假设我们已经又一个转移矩阵为Q的马尔可夫链(q(i,j)表示从状态i转移到状态j的概率),显然通常情况下:


也就是细致平稳条件不成立,所以p(x)不太可能是这个马尔可夫链的平稳分布,我们可否对马尔可夫链做一个改造,使得细致平稳条件成立呢?比如我们引入一个α(i,j),从而使得:



那么问题又来了,取什么样的α(i,j)可以使上等式成立呢?最简单的,按照对称性:



于是灯饰就成立了,所以有:

于是我们把原来具有转移矩阵Q的一个很普通的马尔可夫链,改造为了具有转移矩阵Q'的马尔可夫链,而Q'恰好满足细致平稳条件,由此马尔可夫链Q'的平稳分布就是p(x)!

在改造Q的过程中引入的α(i,j)称为接受率,物理意义可以理解为在原来的马尔可夫链上,从状态i以q(i,j)的概率跳转到状态j的时候,我们以α(i,j)的概率接受这个转移,于是得到新的马尔可夫链Q'的转移概率q(i,j)α(i,j)。

假设我们已经又一个转移矩阵Q,对应的元素为q(i,j),把上面的过程整理一下,我们就得到了如下的用于采样概率分布p(x)的算法:


以上的MCMC算法已经做了很漂亮的工作了,不过它有一个小问题,马尔可夫链Q在转移的过程中接受率α(i,j)可能偏小,这样采样的话容易在原地踏步,拒绝大量的跳转,这是的马尔可夫链便利所有的状态空间要花费太长的时间,收敛到平稳分布p(x)的速度太慢,有没有办法提升一些接受率呢?当然有办法,把α(i,j)和α(j,i)同比例放大,不打破细致平稳条件就好了呀,但是我们又不能无限的放大,我们可以使得上面两个数中最大的一个放大到1,这样我们就提高了采样中的跳转接受率,我们取:

于是经过这么微小的改造,我们就得到了Metropolis-Hastings算法,该算法的步骤如下:

你可能感兴趣的:(二战周志华《机器学习》--概率图模型推断)