确定性模拟算法:变分推断

之前讨论了近似逼近算法中的蒙特卡洛模拟,除了蒙特卡洛模拟之外,还有一类近似逼近算法,称作变分推断。关于变分推断,我们要搞清楚以下三点:

变分推断是什么?

是一种逼近某个概率分布的算法。

1、用最大似然的下界和KL散度(一种衡量两个分布间差异大小的指标)来理解变分推断算法

2、在具有隐变量、未知参数的图模型上使用变分推断,即求P(x,z|θ),x为可以观察到的随机变量,z为未知随机变量

3、使用循环信息传播算法(Loopy Belief Propagation)来进行信息传递

回顾近似推断的中心目标:估计后验概率分布P(z|x),这里的z包含了隐变量θ。

怎么理解这个目标?

回到2,我们要使得当前观测出现的概率最大,以估计此时的模型参数值,确定我们的模型。而这个给定参数条件(未知)的当前观测的概率就是p(x,z|θ),即求使得这个概率值最大的参数值。而参数包括两部分,一是隐藏随机变量z,二是模型参数θ。

为实现此目的,最大化p(x,z|θ)等价于最大化ln(p(x,z|θ)),等价于最大化其期望,期望为 sum_z(p(z|x,θold)lnp(x,z|θ)),在之前讲过的EM算法中,分别固定z和θ,分别优化,不断迭代直到稳定,就估计出了这两个参数的值。

这个过程中为什么需要近似逼近?

因为p(z|x,θold)这个概率可能维度很高或者表达式复杂,导致非常难以直接用表达式求解的方法计算,我们就需要找到算法来合理逼近它。

近似逼近的第一类方法,是随机模拟,即蒙特卡洛采样类算法。通过生成满足目标分布的样本来逼近该分布。

第二类方法,本文的主角,确定性的模拟(Deterministic Approximation),即变分方法(Variational Approach)。不进行任何采样。我们提出一个假设分布q(z),希望它与p(z|x)越接近越好。我们已知的条件是一个联合分布p(x,z)。

怎么度量我们假设的分布和目标分布的差异?我们希望差异越小越好。

使用KL散度,

找到q(z),使得KL散度最小化

然而直接求其最小值明显不可行,因为它含有我们不能处理的p(z|x)这一项,因此我们转而最大化目标分布的下界,也就逼近了尽可能小的KL散度值,因为我们可以将对数化后的目标分布p(x)变形为此下界与KL散度的和:

P(z|x)的下界

lnP(x)=L(q)+KL(q||p) 关系式成立。通过改变q(z)来提高此L(q),等价于最小化KL散度。因此也就避开了求解p(z|x),而使用已知的联合分布p(x,z)

那么此时的使得下界L最大的q(x)该怎么求?

使用物理学中的Mean-Field theory,均匀场理论,这是一个近似的框架。将之前的隐藏随机变量z和未知参数θ这两个需要估计的参数统一记为z,假设我们有M个样本,意思就是我们观测到了M组新z的取值情况(旧z和θ一起被观测了M次)。

再假设分布我们的假设可以被因子分解为这M组如下的联合分布,即组间是互相独立的,且满足这样的性质,当假设分布q满足下面的形式时,L是最大的:

假设分布

然后将这个q(z)带入到上面的P(z|x)的下界L(q)中,接着不断调整假设分布q,寻找下界L的最大值。这个优化问题,需要注意每次对q分布的调整都要使得q满足上面给出的联合独立性假设,并且同时作用于所有M组观测值。

完成这一步的优化过程,叫做自由形态free form(也就是变分variational)优化optimization。具体讲,代入之后对L化简,得到:

化简L(q)结果,其中 ln p_(x,zj)=Expectation_i<>j[ln p(x,Z)]

这个形式启示我们,新定义一个假设分布p_(x,zj),含义为对除了某一个观测样本j之外的所有样本,求联合分布的期望,再取对数。

这样的p_分布,恰好是q被化简后的一部分。q被化简为上式,第一项结合刚才假设的p_,构成 -KL(qj || p_(x,zj)),即对每一个观测样本j,我们需要最大化的后验概率的下界L,都可以变形为与这个j有关的一个KL值,和一个常数的和。这个KL值,衡量假设分布qj,与其对应的新假设分布p_的差异,可以最小化。当这个KL最小化到0的时候,也就是我们需要的理想状态,针对这个样本j,就实现了p(z|x)的下界的增大。

这样对一个样本j求积分,即根据假设分布qj,找到最优的新假设分布p_,使得qj=p_,更新qj。对M个样本依次进行,q=qj连乘。利用这一法则不断的固定其他的z 的坐标来更新当前的坐标对应的z值,这与Gibbs Sampling过程类似,不过Gibbs Sampling是不断的从条件概率中采样,而CAVI算法中是不断的用如下形式更新:ln qj=ln p_(x,zj)=Expectation_i<>j[ln p(x,Z)]

这样就完成了变分推断VI的所有过程。需要注意,最终不断优化也只能提高下界,而不能得到真正的后验分布,但我们使得假设的q分布尽可能接近于真实分布了。

(0)

相关推荐

  • 变分贝叶斯方法 | 机器之心

    变分贝叶斯是一类用于贝叶斯估计和机器学习领域中近似计算复杂(intractable)积分的技术.它主要应用于复杂的统计模型中,这种模型一般包括三类变量:观测变量(observed variables, ...

  • 机器学习中的目标函数总结

    几乎所有的机器学习算法都归结为求解最优化问题.有监督学习算法在训练时通过优化一个目标函数而得到模型,然后用模型进行预测.无监督学习算法通常通过优化一个目标函数完成数据降维或聚类.强化学习算法在训练时通 ...

  • 生命科学中的 UMAP(降维算法)

    UMAP应该说是目前最好的降维算法了,能最大程度的保留原始数据的特征同时大幅度的降低特征维数. 这是<生命科学的数理统计和机器学习>的相关探讨,我试图介绍生物信息学.生物医学.遗传学等常见 ...

  • 使用t-SNE算法进行可视化

    t-SNE全称如下 t-Distributed Stochastic Neighbor Emdedding 是一种非线性的降维算法,常用于将数据降维到二维或者三维空间进行可视化,来观察数据的结构. 在 ...

  • 量子优势操之过急,IBM使用高性能经典模拟为变分量子算法重新设定标准

    编  辑:王嘉雯    审 校:丁 艳 IBM量子团队设想,在未来,量子计算机将与高性能计算资源进行无摩擦交互,正式接管能够体现计算优势的量子问题.   为了实现这一设想,需要突破经典计算的极限.尤其 ...

  • 可信性理论8个基本概念、6个基础定理、3个模拟算法

    8个基本概念:可信性测度.模糊变量.隶属函数.期望值.方差.关键值.熵.距离 6个基础定理:可信性次可加定理.可信性扩展定理.可信性半连续法则.乘积可信性定理.可信性反演定理.Zadeh扩展原理 3个 ...

  • 基于变分贝叶斯的数据分类算法

    张文倩1, 王 瑛1, 张红梅2, 宋增杰3 (1.空军工程大学装备管理与安全工程学院,西安,710051:2.空军工程大学理学院,西安,710051: 3.西安交通大学数学与统计学院,西安,7100 ...

  • 算法创作|烂头背枪双人情况游戏随机模拟

    问题描述对于烂头背枪这个游戏,相信00后的同学并不陌生,这是幼时的回忆,这个游戏本身,有烂头,枪,虎,人,鸡,蜂总共六种角色,每种四个.对应规则为烂头背枪,枪打虎,虎吃人,人养鸡,鸡啄蜂,蜂叮烂头,前 ...

  • 2021高考化学模拟题离子反应专题4:离子推断

    一.叙述型离子推断 1.(2020·诸暨选考诊断)某溶液A中可能含有NH4+.Cu2+.Na+.Cl-.CO32-.SO42-.Fe2+和Fe3+离子中的若干种,现将溶液分成两等份进行如下实验:(1) ...

  • 算法创作|模拟商品加入购物车并结算价钱问题解决方法

    问题描述在日常生活里,怎么用Python来模拟剁手党添加商品到购物车并计算价格呢?示例:输入:1,2,q输出:你购物车中的的商品[['mate40 pro', 8888], ['小米10 pro', ...

  • R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

    原文链接:http://tecdat.cn/?p=21545 示例1:使用MCMC的指数分布采样 任何MCMC方案的目标都是从"目标"分布产生样本.在这种情况下,我们将使用平均值为 ...

  • 算法创作|模拟抽卡游戏抽卡问题解决方法

    引言震惊!全网最火某网游抽卡模拟流出.问题描述输入抽卡次数X,得出抽卡结果示例:输入:X输出:UR(SSR,SR,R)解决方案在如今大部分抽卡游戏中,抽卡都是一个结果未知的行为,所以运用random可 ...

  • 基于蛙跳格式显式积分算法改进OpenSees倒塌模拟

    基于蛙跳格式显式积分算法改进OpenSees倒塌模拟 张书豪,田源等 算例模型和程序下载 http://www.luxinzheng.net/download/OpenSEES/OS_Explicit ...