机器学习40讲-37:随机近似推断MCMC
本质上说,确定性近似是遵循着一定的原则,使用一个分布来近似另一个分布,近似结果取决于确定的规则。可是在很多预测任务中,完整的后验分布并不是必需的,我们关注的对象只是某个因变量在后验分布下的期望,或者具有最大后验概率的那个取值。这时再使用确定性近似来计算预测结果,尤其是连续函数在连续分布下的预测结果又是个在计算上颇为棘手的问题。有些时候,即使目标分布的形式是已知的,对它的求解也存在着困难。就拿常见的Beta分布来说,其概率密度可以表示为$p(x) = Cx^{\alpha- 1}(1 - x)^{\beta- 1}$,其中常数$\alpha, \beta$都是分布参数,常数$C$是归一化因子。可问题在于如果不能计算出这个复杂的参数$C$,即使能够确定分布的形状,也没法对分布进行直接的采样。这种情况下也要借助随机性近似。既然求解解析解既复杂繁冗又无甚必要,那就不妨用统计学的核心概念——抽样来解决问题。用样本分布来代替难以求解的后验分布,这就是随机性近似的思想。随机性近似(stochastic approximation)属于数值近似(numerical approximation)的范畴,它对数据的生成机制进行建模,通过模型生成符合真实分布的抽样结果,再利用这些抽样结果表示未知的概率分布。随机性近似的典型方法是马尔可夫链蒙特卡洛方法(Markov Chain Monte Carlo method),简称MCMC。其作用是在概率空间中构造合适的马尔科夫链,再应用蒙特卡洛方法进行随机采样来拟合目标的分布。MCMC体现的是真正的概率密度的思想,它虽然不能计算分布的表达式,却可以将概率等比例地放大。频率意义下的概率就是数据出现的频度,归一化的作用只是让它变成公理化的概率,而不会对频率解释产生任何影响。MCMC的出发点就在于消除掉那个不影响分布趋势却又没它不行的归一化常数$C$对概率求解的影响,通过对简单分布(比如均匀分布)进行抽样来拟合出更加复杂,甚至于压根儿不存在解析式的分布形式。虽然都可以缩写成MC,但马尔可夫链和蒙特卡洛方法却是两个完全不同的概念。蒙特卡洛方法诞生于曼哈顿计划中,其缔造者是数学家斯坦尼斯拉夫·乌拉姆(Stan