作者:CHEONG
公众号:AI机器学习与知识图谱
研究方向:自然语言处理与知识图谱
阅读本文之前,首先注意以下两点:
1. 机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。
2. 文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号【AI机器学习与知识图谱】后回复:MCMC第五讲,可添加微信号【17865190919】进学习交流群,加好友时备注来自CSDN。原创不易,转载请告知并注明出处!
第二讲:【机器学习系列】MCMC第二讲:Markov Chain & Monte Carlo基本概念和核心思想
第三讲:【机器学习系列】MCMC第三讲:理解MCMC前必先弄懂这两点
第四讲:【机器学习系列】MCMC第四讲:Metropolis Hastings采样算法
本文从采样,存在问题等角度总结一下马尔科夫链蒙特卡洛方法。
一、采样的动机及MCMC存在问题
1、认识采样
采样是困难的,采样的困难大多是由高维度带来的。概率密度函数pdf特别简单的情况下可以直接采样,对于容易求出概率密度函数pdf的累积密度函数cdf时,也可以直接从cdf中进行采样;否则都采用间接采样的方式,如拒绝采样、重要性采样和MCMC采样等。
2、采样的动机是什么,为什么要进行采样?
首先,采样本身就是常见的任务;其次,采样可用于求和或求积分,如下公式便是利用采样来近似求解积分。
3、如何评估采样样本的好坏?
首先,采样的样本尽可能趋向于高概率区域;其次,采样的样本之间是相互独立。
二、MCMC存在的几个问题
1、理论只保证收敛性,但在实际情况下不清楚马尔科夫链何时可以收敛;
2、即使知道何时平稳分布,但收敛的时间可能会很长,可认为无法收敛;
3、马尔科夫链之间是相关的,因此MCMC采样的样本之间存在一定的相关性。
当然对于采样最大的问题还是概率分布pdf维度过高,导致采样过程很复杂,维度过高也是导致收敛时间长的原因。MCMC中提出的很多方案都是为了解决收敛时间过长的问题。
下面再补充一下MCMC采样除了MH采样方法外的另一种解法:Gibbs采样
三、Gibbs 吉布斯采样
Gibbs也是特殊的MH采样方法,Gibbs是接受率恒等于1的MH采样,效率很高。
Gibbs采样是针对高维的概率分布 p ( z ) = p ( z 1 , z 2 , . . . , z n ) p(z)=p(z_1,z_2,...,z_n) p(z)=p(z1,z2,...,zn)进行采样,高维数据采样的方式是在对 z i z_i zi维采样时,固定其他维度,并且每一维进行采样时都依赖于之前采样过的维度。下面通过一个简单的例子看一下采样的过程,假设现有一个三维的概率分布 p ( z ) = p ( z 1 , z 2 , z 3 ) p(z)=p(z_1,z_2,z_3) p(z)=p(z1,z2,z3)
1、第1轮采样: z 1 ( 0 ) , z 2 ( 0 ) , z 3 ( 0 ) z^{(0)}_1,z^{(0)}_2,z^{(0)}_3 z1(0),z2(0),z3(0)
2、第t+1轮采样:
下面将根据上述特性证明Gibbs采样是接受率恒等于1的MH采样:
因为Gibbs按维采样特性,所以有:
因此:
所以:
可以得出,Gibbs采样是接受率恒等于1的MH采样,效率比采样更高。