此文公式图片不全。详见博客: http://www.blog.huajh7.com/variational-bayes/
【关键字】平均场理论,变分法,贝叶斯推断,EM算法,KL散度,变分估计,变分消息传递
引言
· 从贝叶斯推断说起
Question:如果我们有一组观测数据D,如何推断产生这些数据的模型m?
模型由1)模型的类别ξ(如高斯分布,伽马分布,多项式分布等)与2)模型的参数Θ共同决定,即 .
模型的选择
- 假设M为所有可能的模型集合(包括不同类别),那么选择
- 如何计算p(m | D)?
- 通常情况很难直接计算p(m | D),根据贝叶斯公式有 ,p(m)表示模型的先验,p(D | m)表示证据;
- 先验:贝叶斯规则倾向于选择能解释数据的最简单模型:Occam剃刀原理。因为简单模型只在有限范围内做预测,复杂模型(如有更多自由参数)能对更宽范围做预测。
- 那么如何计算证据(evidence) ?
- 参数θ的后验概率为
- 证据p(D | m)通常会在最可能的参数 附近有一个很强的峰。
- 以一维参数为例:利用Laplace方法近似,即用被积函数 乘以其宽度 。即 。
- 此处不在深究Occam因子。
- 从模型的选择可以看出参数的估计非常重要。
考虑同一个类别的模型。由于任何模型(函数)都可以由统一的数学形式给出,比如拉格朗日展开,傅里叶极数,高斯混合模型(GMM)等,因而通常我们更关心一个模型的参数Θ。换句话说,给出一组观测数据D,我们总是能够通过估计参数来推测模型,即 。或者更简单的形式 。
后验概率的估计
通常情况,取后验概率最大的参数值为估计值。根据贝叶斯公式,参数θ后验概率为
,
其中p(D)为归一化常数(normalizing constant)。
- 从经典的统计学角度看,概率是相对频率的,是真实世界的客观属性。因而每个模型被选择的概率是一样的,因而p(θ) =constant。此时问题转化为: ,这便是极大似然法(ML, Maximum Likelihood)。
- 从贝叶斯学派的角度看,每一个模型都有一个先验概率p(θ),但先验概率需事先给定。此时问题转化为: ,这便是极大后验估计(MAP, Maximum A Posteriori)。
另一方面,许多科学问题的基本部分是计算一个目标函数的积分 。Ω通常是高维空间中的一个区域,一般情况下f(x)稍微复杂一些,积分就难以计算。如果f(x)能被分解成一个函数g(x)与一个概率密度函数π(x)的乘积,那么上述积分可看做是g(x)在密度π(x)下的期望。
比如,
(1) 计算后验概率:
(2) 点估计:
(3) 训练样本预测将来的数据的概率密度:假设D’与D条件独立, .
(4) 新观测样本D’的隐藏变量(hidden variable) x’的后验分布:
上述积分最简单的近似方法就是通过估计参数θ来估计单点积分值,比如上述贝叶斯选择模型中极大后验估计(MAP)。由于ML、MAP只是估计概率密度而不是概率分布,因而省去了积分过程。ML, MAP估计最常用也最基本的方法是期望最大化算法(Expectation Maximization,EM)。
此外,可以通过蒙特卡洛方法(Monte Carlo),或马氏链蒙特卡洛法(Markov Chain Monte Carlo, MCMC)来模拟积分。此类方法具有较高的精度,但需要大量的计算。
本文介绍一种变分方法来近似积分。其主要思想是,对一个特定模型,构造一种简单(tractable)的数学形式来近似未观测变量的后验分布,同时给出观测数据的边缘似然(或者称证据,evidence)的下界(lower bound)。而积分过程转化为求下界的最优值问题。
· 传统方法的挑战
- EM算法
EM算法主要是用于在不完全数据的情况下计算最大似然估计,是一个不断迭代优化的过程。以高斯混合模型为例。给定一些观察数据y,假设y符合如下高斯分布:
- Laplace算法
- 隐马尔科夫模型HMM
- 再谈马尔科夫链蒙特卡洛(MCMC)
变分贝叶斯
· 前言
变分贝叶斯方法最早由Matthew J.Beal在他的博士论文《Variational Algorithms for Approximate Bayesian Inference》中提出,作者将其应用于隐马尔科夫模型,混合因子分析,非线性动力学,图模型等。变分贝叶斯是一类用于贝叶斯估计和机器学习领域中近似计算复杂(intractable)积分的技术。它主要应用于复杂的统计模型中,这种模型一般包括三类变量:观测变量(observed variables, data),未知参数(parameters)和潜变量(latent variables)。在贝叶斯推断中,参数和潜变量统称为不可观测变量(unobserved variables)。变分贝叶斯方法主要是两个目的:
(1) 近似不可观测变量的后验概率,以便通过这些变量作出统计推断。
(2) 对一个特定的模型,给出观测变量的边缘似然函数(或称为证据,evidence)的下界。主要用于模型的选择,认为模型的边缘似然值越高,则模型对数据拟合程度越好,该模型产生Data的概率也越高。
对于第一个目的,蒙特卡洛模拟,特别是用Gibbs取样的MCMC方法,可以近似计算复杂的后验分布,能很好地应用到贝叶斯统计推断。此方法通过大量的样本估计真实的后验,因而近似结果带有一定的随机性。与此不同的是,变分贝叶斯方法提供一种局部最优,但具有确定解的近似后验方法。
从某种角度看,变分贝叶斯可以看做是EM算法的扩展,因为它也是采用极大后验估计(MAP),即用单个最有可能的参数值来代替完全贝叶斯估计。另外,变分贝叶斯也通过一组相互依然(mutually dependent)的等式进行不断的迭代来获得最优解。
· 问题描述
现在重新考虑一个问题:1)有一组观测数据D,并且已知模型的形式,求参数与潜变量(或不可观测变量) 的后验分布:P(Z|D)。
正如上文所描述的后验概率的形式通常是很复杂(Intractable)的,对于一种算法如果不能在多项式时间内求解,往往不是我们所考虑的。因而我们想能不能在误差允许的范围内,用更简单、容易理解(tractable)的数学形式Q(Z)来近似P(Z|D),即 。
由此引出如下两个问题:
(1) 假设存在这样的Q(Z),那么如何度量Q(Z)与P(Z|D)之间的差异性(dissimilarity)?
(2) 如何得到简单的Q(Z)?
对于问题一,幸运的是,我们不需要重新定义一个度量指标。在信息论中,已经存在描述两个随机分布之间距离的度量,即相对熵,或者称为Kullback-Leibler散度。
对于问题二,显然我们可以自主决定Q(Z)的分布,只要它足够简单,且与P(Z|D)接近。然而不可能每次都手工给出一个与P(Z|D)接近且简单的Q(