ML17_变分推断Variational Inference

2024-09-04 22:28

本文主要是介绍ML17_变分推断Variational Inference,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. KL散度

KL散度(Kullback-Leibler divergence),也称为相对熵(relative entropy),是由Solomon Kullback和Richard Leibler在1951年引入的一种衡量两个概率分布之间差异的方法。KL散度不是一种距离度量,因为它不满足距离度量的对称性和三角不等式的要求。但是,它仍然被广泛用于量化两个概率分布之间的“接近程度”。

在机器学习和统计学中,KL散度经常用于衡量模型的拟合程度。例如,在变分推断中,KL散度被用来度量近似后验分布与真实后验分布之间的差异;而在信息论中,KL散度被用来比较信源编码的效率。另外,KL散度还在自然语言处理、计算机视觉以及其他需要比较概率分布的领域中有着广泛应用。

2. ELBO

ELBO 是 Evidence Lower BOund 的缩写,中文可以翻译为“证据下界”。在贝叶斯统计和机器学习中,尤其是变分推断(Variational Inference)中,ELBO 被用来近似计算后验分布,并作为对数似然函数的一个下界。

ELBO 的第一项是数据的对数似然的期望值,代表了模型对数据的拟合程度;第二项是变分分布与先验分布之间的 KL 散度,它惩罚了变分分布远离先验分布的程度。

3. 变分推断

变分推断(Variational Inference, VI)是一种用于近似复杂概率分布的技术,在贝叶斯统计和机器学习中非常有用。它通常用于处理那些后验分布难以精确计算的问题。在这些情况下,变分推断通过构造一个可管理的近似分布来代替真正的后验分布,并试图使这个近似分布尽可能接近真实分布。

变分推断的核心思想是将原本的推断问题转化为一个优化问题。具体来说,变分推断会从一个参数化的分布族中选择一个分布来近似真实的后验分布。这个过程涉及到最小化两个分布之间的差异,常用的是Kullback-Leibler散度(KL散度),这是一个衡量两个概率分布之间差异的非对称指标。

变分推断的目标是最小化KL散度:

变分推断在处理大规模数据集时特别有效,因为它避免了如马尔可夫链蒙特卡罗(MCMC)方法那样需要大量计算资源的抽样过程。此外,变分推断也可以与现代深度学习框架结合,使得复杂的模型能够被有效地训练。

4. 公式推导

5. 变分推断的流程

变分推断(Variational Inference, VI)是一种统计推断方法,它主要用于近似复杂的后验概率分布。这种技术常用于贝叶斯统计中的模型参数估计,尤其是在大数据集上,因为直接计算后验分布往往是不可行的。下面是变分推断的一般执行流程:

变分推断方法因其计算效率和灵活性,在机器学习特别是深度学习领域得到了广泛应用,尤其是在处理大规模数据集和高维度问题时。随着研究的发展,出现了许多改进的变分推断方法和技术,例如变分自动编码器(VAEs)、自然梯度方法等。

6. 为什么要用变分推断?

7. 变分推断存在的问题

尽管变分推断(Variational Inference, VI)作为一种强大的近似推理技术,在很多领域取得了成功应用,但它也存在一些潜在的问题和局限性。以下是一些常见的问题:

近似误差

变分推断的核心思想是选择一个合适的近似分布来逼近真实的后验分布。如果选择的变分族(即近似分布的类型)过于简单,或者真实的后验分布具有复杂的结构,那么近似误差可能会很大,从而导致不准确的推断结果。

初始化敏感性

变分推断的结果可能会受到初始值的影响。不好的初始化可能导致算法陷入局部最优解,从而无法找到全局最优的近似分布。

优化难度

虽然变分推断通常被转化为一个优化问题,但这个优化问题本身可能很复杂,特别是在高维空间中。优化过程可能会遇到鞍点、非凸性等问题,导致难以找到全局最优解。

缺乏统一性

对于不同的模型结构,可能需要不同的变分族来近似后验分布,这使得变分推断方法缺乏一定的通用性。不同场景下,需要手动设计适合的变分族,这增加了实施的复杂度。

难以评估近似质量

评估变分近似的真实质量通常是困难的,特别是在无法获得真实后验分布的情况下。虽然有一些方法可以用来评估近似质量,如重要性采样或其他诊断工具,但这些方法本身也有局限性。
计算资源需求:

虽然变分推断相较于MCMC等方法在计算效率上有优势,但在处理非常大的数据集或高维度参数空间时,仍然可能需要大量的计算资源。

偏差-方差权衡

选择不同的变分族会导致不同的偏差-方差权衡。过于简单的近似可能导致较大的偏差(即模型欠拟合),而过于复杂的近似则可能导致过拟合。

依赖于良好的先验知识

在选择变分族和进行优化时,可能需要对问题有一定的先验知识才能做出合理的选择,否则可能难以确定如何设计变分族或如何调整超参数。


这些问题的存在并不意味着变分推断不是一个有用的工具,而是提醒我们在应用变分推断时需要考虑这些问题,并采取适当措施来减轻它们的影响。随着研究的进步,新的技术和方法不断出现,旨在解决或缓解上述部分问题。例如,近年来发展的一些技术,如自然梯度方法、变分自动编码器(VAEs)等,都在一定程度上改善了变分推断的表现。

这篇关于ML17_变分推断Variational Inference的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137208

相关文章

【python因果推断库11】工具变量回归与使用 pymc 验证工具变量4

目录  Wald 估计与简单控制回归的比较 CausalPy 和 多变量模型 感兴趣的系数 复杂化工具变量公式  Wald 估计与简单控制回归的比较 但现在我们可以将这个估计与仅包含教育作为控制变量的简单回归进行比较。 naive_reg_model, idata_reg = make_reg_model(covariate_df.assign(education=df[

CNN-LSTM模型中应用贝叶斯推断进行时间序列预测

这篇论文的标题是《在混合CNN-LSTM模型中应用贝叶斯推断进行时间序列预测》,作者是Thi-Lich Nghiem, Viet-Duc Le, Thi-Lan Le, Pierre Maréchal, Daniel Delahaye, Andrija Vidosavljevic。论文发表在2022年10月于越南富国岛举行的国际多媒体分析与模式识别会议(MAPR)上。 摘要部分提到,卷积

C++ 模板进阶知识——类型推断

目录 C++ 模板进阶知识——类型推断1. 如何查看类型推断结果使用Boost库步骤注意 2. 理解函数模板类型推断2.1 指针或引用类型2.1.1 忽略引用2.1.2 保持const属性2.1.3 处理指针类型2.1.4 结果说明 2.2 万能引用类型2.3 传值方式2.3.1 函数模板和参数推导结论 2.3.2 指针的情况在`myfunc()`中测试指针行为 2.4 传值方式的引申—s

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention 文章目录 一、基本原理1. 变分模态分解(VMD)2. 双向时域卷积(BiTCN)3. 双向门控单元(BiGRU)4. 注意力机制(Attention)总结流程 二、实验结果三、核心代码四、代码获取五、总结 时序预测|变分模态分解-双向时域卷积

【python因果推断库7】使用 pymc 模型的工具变量建模 (IV)2

目录 与普通最小二乘法 (OLS) 的比较 应用理论:政治制度与GDP 拟合模型:贝叶斯方法  多变量结果和相关性度量 结论 与普通最小二乘法 (OLS) 的比较 simple_ols_reg = sk_lin_reg().fit(X.reshape(-1, 1), y)print("Intercept:", simple_ols_reg.intercept_, "Bet

软件测试中错误推断法(错误猜测法或错误推测法)

在软件测试中,错误推测法(又称为错误猜测法或错误推测法)是一种基于测试人员的经验、直觉和对软件错误原因的分析来预测并设计测试用例的方法。这种方法强调测试人员对软件需求和设计实现的深入理解,以及对以往项目中发现的缺陷、故障或失效数据的积累。以下是关于错误推测法的详细解析: 一、定义与基本思想 错误推测法是通过列举出程序中可能存在的错误和容易发生错误的特殊情况,并基于这些推测来设计测试用例的方法。

【python因果推断库6】使用 pymc 模型的工具变量建模 (IV)1

目录 使用 pymc 模型的工具变量建模 (IV) 使用 pymc 模型的工具变量建模 (IV) 这份笔记展示了一个使用工具变量模型(Instrumental Variable, IV)的例子。我们将会遵循 Acemoglu, Johnson 和 Robinson (2001) 的一个案例研究,该研究尝试解开强大的政治机构对于以国内生产总值(GDP)衡量的经济生产力的影响。本示例借鉴

平均场变分推断:以混合高斯模型为例

文章目录 一、贝叶斯推断的工作流二、一个业务例子三、变分推断四、平均场理论五、业务CASE的平均场变分推断求解六、代码实现 一、贝叶斯推断的工作流 在贝叶斯推断方法中,工作流可以总结为: 根据观察者的知识,做出合理假设,假设数据是如何被生成的将数据的生成模型转化为数学模型根据数据通过数学方法,求解模型参数对新的数据做出预测 在整个pipeline中,第1点数据的生成过程

【python因果推断库2】使用 PyMC 模型进行差分-in-差分(Difference in Differences, DID)分析

目录  使用 PyMC 模型进行差分-in-差分(Difference in Differences, DID)分析 导入数据 分析 使用 PyMC 模型建模银行业数据集 导入数据  分析 1 - 经典 2×2 差分-in-差分 (DiD) 分析 2 - 具有多个干预前后观测值的差分-in-差分 (DiD) 分析   使用 PyMC 模型进行差分-in-差分(Differe

深度学习-生成模型:Generation(Tranform Vector To Object with RNN)【PixelRNN、VAE(变分自编码器)、GAN(生成对抗网络)】

深度学习-生成模型:Generation(Tranform Vector To Object with RNN)【PixelRNN、VAE(变分自编码器)、GAN(生成对抗网络)】 一、Generator的分类二、Native Generator (AutoEncoder's Decoder)三、PixelRNN1、生成句子序列2、生成图片3、生成音频:WaveNet4、生成视频:Video