在前面的章节中,我们已经基本介绍了Markov Chain Monte Carlo Sampling的基本概念,基本思路和主要方法。那么这一小节中,我们将主要来介绍一下,什么是采样?我们为什么而采样?什么样的样本是好的样本?以及我们采样中主要会遇到哪些困难?
采样的动机}
这一小节的目的就是我们要知道什么是采样的动机,我们为什么而采样?
-
首先第一点很简单,采样本身就是发出常见的任务,我们机器学习中经常需要进行采样来完成各种各样的任务。如果从一个P(X)中采出一堆样本。
-
求和求积分。包括大名鼎鼎的Monte Carlo算法。我们求P(X)主要是为了求在P(X)概率分布下的一个相关函数的期望,也就是:
\(∫P(x)f(x)dx=EP(X)[f(X)]≈1NN∑i=1f(x(i))
什么样的是好样本}
既然,我们知道了采样的目的和动机,下一个问题就自然是,同样是采样,什么样的样本就是好样本呢?或者说是采样的效率更高一些。
-
首先样本的分布肯定是要趋向于原始的目标分布吧,也就是说样本要趋向于高概率选择区域。或者是说,采出来的样本出现的概率和实际的目标分布的概率保持一致。
-
样本和样本之间是相互独立的。这个就没有那么直观了。大家想一想就知道了,如果我采出来的一堆样本之间都差不多,那么就算采出来了趋向于高概率选择区域的样本,那采样效率太低了,样本中反映的信息量太有限了。
实际采样中的困难}
实际采样中,采样时困难的,为什么呢?我们这里主要介绍两点:
-
\textbf{Partation function is intractable.} 我们的后验分布往往被写成P(X)=1ZˆP(X),上面这个ˆP(X)都比较好求,就是等于 Likelihood × Prior。而Z就是我们要求的归一化常数,它非常的难以计算,Z=∫ˆP(X)dX,这几乎就是不可计算的。所以,有很多采样方法就是想要跳过求P(X)的过程,来从一个近似的分布中进行采样,当然这个近似的分布采样要比原分布简单。比如:Rejection Sampling和Importance Sampling。
-
\textbf{The curse of high dimension}. 如果样本空间X∈Rp,每个维度都有K个状态的话。那么总的样本空间就有Kp的状态。要知道那个状态的概率高,就必须要遍历整个样本空间,不然就不知道哪个样本的概率高,如果状态的数量是这样指数型增长的话,全看一遍之后进行采样时不可能的。所以,直接采样的方法是不可行的。
采样方法}
Rejection Sampling和Importance Sampling,都是借助一个Q(x)去逼近目标分布P(x),通过从Q(x)中进行采样来达到在P(x)中采样的目的,而且在Q(x)中采样比较简单。当时如果Q(x)和P(x)直接的差距太大的话,采样效率会变得很低。
而MCMC方法,我们主要介绍了MH Sampling和Gibbs Sampling,我们主要是通过构建一个马氏链去逼近目标分布,具体的描述将在下一节中展开描述。