变分贝叶斯(Variational Bayes)

本文详细介绍了变分贝叶斯方法,从贝叶斯推断和传统方法的挑战开始,逐步讲解变分贝叶斯的概念、Kullback-Leibler散度、平均场理论以及变分消息传递算法。通过高斯混合模型的例子,对比了变分贝叶斯与EM算法,展示了变分贝叶斯在模型选择和参数估计中的优势。最后,讨论了变分贝叶斯在实际应用中的价值和局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此文公式图片不全。详见博客: 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(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值