最近学习了机器学习中的马尔科夫链蒙特卡洛(Markov Chain Monte Carlo, 简称MCMC) 相关的知识。
主要内容包括:
【1】蒙特卡洛原则,及其应用于采样的必要性
【2】用于求解最大似然、近似推断、期望问题的经典采样算法:Metropolis-Hastings,Rejection,Importan,Metropolis和Gibbs算法。
【3】马尔可夫链各个性质在蒙特卡洛采样问题中的应用,包括同质性,平移不变性
—————【2】—————
采样过程的本质,可以理解为实现目的【已知目标函数的形状,不能求得函数的真实形式,但又要获取服从此目标函数分布的样本集合】而采用的获取样本的方法。我们的目标,是一个集合{x1,...,xN}。
【拒绝采样算法 Rejection】
假设要从分布p(z)中采样,p(z)不能直接求,但根据贝叶斯公式分解为 P_(z)*(1/Z), 这个假设即意为:分子项P_(z)类似 P(y|x)*P(x),为已知;分母项为 P(y)=积分x(P(y|x)*P(x) dx), 分母项为不可直接求的未知正态化常量。
拒绝采样算法的思路是这样的:
下图中,红色曲线及其覆盖的白色区域,是我们要求的目标概率密度函数,即目标分布,同时也是上面提到的P_(z),蓝色曲线及其与红色曲线之间的灰色区域,是我们假设出来的一个函数q(z),它的性质,我们要求它乘以常数k(某个一定存在的常数)后,