🔥 主要的贝叶斯推断方法
【摘 要】 统计推断是贝叶斯概率框架中最为重要的部分,也是概率机器学习的核心部分。几乎所有的概率机器学习模型,都会涉及根据观测量来获取隐变量或模型参数相关知识的问题,这就是统计推断。与频率主义不同,贝叶斯推断方法并不给出隐变量的确切值,而是保留了模型的不确定性,给出隐变量的概率分布。由于输出的不再是点,而是一个分布,导致贝叶斯统计推断的难度大大增加了。尤其是在复杂模型和大数据集中,问题更明显。本文对贝叶斯统计推断技术进行了综述,以便快速对相关领域知识有一个理解。
【原 文】 参考 Blei 的讲座自行整理。
1 简介
贝叶斯推断是统计学中的一个基本问题,也是许多机器学习方法中遇到的问题。例如:用于分类的高斯混合模型、用于主题建模的潜狄利克雷分配模型等概率图模型,都在拟合数据时需要解决贝叶斯推断问题。
同时应注意到,根据模型设置(如:假设、维度等)不同,贝叶斯推断问题有时很难解决。尤其是遇到大型问题中,精确推断方法往往需要大量计算,且变得难以处理,实践中通常会使用一些近似技术来克服此问题,并建立快速和可扩展的系统。
本文简单介绍贝叶斯推断存在的现实性问题,并以主 ...
随机梯度 MCMC 推断
〖摘要〗本文提出了一个采用蒙特卡洛方法的新框架,用于从小批量迭代学习的大规模数据集学习。当我们对步长进行退火时,将适量噪声添加到标准随机梯度优化算法中,其结果表明迭代将收敛到来自真实后验分布的样本。优化和贝叶斯后验采样之间的这种无缝过渡提供了针对过拟合的内在保护。我们还提出了一种后验统计量的实用蒙特卡洛估计方法,该方法监视 “采样阈值” 并在超过阈值后收集样本。我们基于自然梯度将该方法应用于高斯、逻辑斯谛回归和独立组份分析的混合模型。
〖原文〗 Welling, M. and Teh, Y.W. (2011) ‘Bayesian learning via stochastic gradient Langevin dynamics’, in Proceedings of the 28th international conference on machine learning (ICML-11), pp. 681–688.
1 引言
近年来,越来越多的超大规模机器学习数据集,范围从互联网流量和网络数据、计算机视觉、自然语言处理到生物信息学。现在,这些大规模数据推动了机器学习的 ...
近似推断--MCMC 方法
〖摘要〗
〖原文〗 Standford cs228 notes
〖参考〗CMU 10-708 Slides / CMU 10-708 Lecture Notes / Jordan TextBook, Ch.2(section 2.2 - end) / Koller’s Textbook,Ch.4 / A. Fischer and C. Igel, An Introducton to Restricted Boltzmann Machines / B. A. Cipra, An Introduction to the Ising Model
Pyro 概率编程语言【001】--- 开始使用 Pyro
开始使用 Pyro
【摘要】Pyro 是 Uber 公司开源的一种概率建模语言,由剑桥大学 zoubin 教授作为首席科学家主持开发,可以使用 Pytorch 深度学习框架、贝叶斯概率统计等技术来估计类型广泛的概率模型。
【原文】https://nbviewer.org/github/QuantEcon/QuantEcon.notebooks/blob/master/IntroToStan_basics_workflow.ipynb
【时间】 2016
【作者】Jim Savage, Lendable Inc.
p{text-indent:2em}
1 开始使用 Pyro
1.1 零基础的用户
如果您不熟悉概率编程或变分推断,可以从阅读 系列介绍性教程 开始。如果您是 PyTorch 的新手,还可以从阅读 使用 PyTorch 进行深度学习 中受益。
之后,您就可以开始使用 Pyro 了!
按照首页的说明安装 Pyro 并仔细阅读 Practical Pyro 和 PyTorch 系列 教程,尤其是第一个贝叶斯回归教程 。该教程通过使用 Pyro 一步步解决一个简单的贝叶斯 ...
【002】Pyro 模型简介
【002】Pyro 模型简介
【摘要】Pyro 是 Uber 公司开源的一种概率建模语言,由剑桥大学 zoubin 教授作为首席科学家主持开发,可以使用 Pytorch 深度学习框架、贝叶斯概率统计等技术来估计类型广泛的概率模型。
【原文】https://nbviewer.org/github/QuantEcon/QuantEcon.notebooks/blob/master/IntroToStan_basics_workflow.ipynb
【时间】 2016
【作者】Jim Savage, Lendable Inc.
p{text-indent:2em}
1 开始使用 Pyro
1.1 零基础的用户
如果您不熟悉概率编程或变分推断,可以从阅读 系列介绍性教程 开始。如果您是 PyTorch 的新手,还可以从阅读 使用 PyTorch 进行深度学习 中受益。
之后,您就可以开始使用 Pyro 了!
按照首页的说明安装 Pyro 并仔细阅读 Practical Pyro 和 PyTorch 系列 教程,尤其是第一个贝叶斯回归教程 。该教程通过使用 Pyro 一步步解决一个简 ...
Stan 概率编程语言
Stan 概率编程语言
【摘要】Stan 是一种灵活的概率建模语言,可以使用贝叶斯技术直接估计多种类型的概率模型。
【原文】https://nbviewer.org/github/QuantEcon/QuantEcon.notebooks/blob/master/IntroToStan_basics_workflow.ipynb
【时间】 2016
【作者】Jim Savage, Lendable Inc.
p{text-indent:2em}
1 概述
1.1 简介
Stan 是一种灵活的建模语言,可以直接使用贝叶斯技术来估计非常广泛的概率模型。有几个原因,使人们可能想花些时间来学习 Stan :
Stan 使用 Hamilton Monte Carlo、Variational Inference 和 Penalised Maximum Likelihood 实现了对大数据集概率模型的有效估计。
Stan 可以从用户可能用于数据准备的许多环境中调用,包括 R、Python、Stata、Julia 和 Matlab。
Stan 允许用户通过将 Stan 函数(已 ...
蒙特卡洛采样的加速方法
〖摘要〗马尔可夫链蒙特卡罗算法通过对分布的局部性探索来模拟复杂的统计分布。这种局部特征虽然不要求使用者了解目标分布性质,但也同时会导致对目标分布更长时间的探索,并且随着问题维度和数据复杂性的增加,对模拟样本数量的要求会也会增加。有几种技术可用于加速蒙特卡罗算法的收敛,无论是在探索层面(如回火、哈密顿蒙特卡罗和部分确定性方法)还是在开发层面(使用 Rao-Blackwellisation 和可扩展方法)。本文是对这些方法进行的一个综述。
〖原文〗 Robert, C.P. et al. (2018) ‘Accelerating MCMC algorithms’, Wiley Interdisciplinary Reviews: Computational Statistics, 10(5), p. e1435. Available at: https://doi.org/10.1002/wics.1435.
1 概述
马尔可夫链蒙特卡罗(MCMC)算法已经使用了近 60 年,在 1990 年代初成为分析贝叶斯复杂模型的参考方法(Gelfand 和 Smith,1990 [41 ...
哈密顿蒙特卡洛(HMC)方法
哈密顿蒙特卡洛( HMC )采样方法
〖摘要〗快速给出下一个状态的提议值是 MCMC 方法的关键环节。对于状态有限的离散概率质量函数而言,可以采用随机游走的方式选择下一个状态的提议值,然后使用 Metropolis 更新步骤;但对于连续的概率密度函数而言, 随机游走方式显然不利于快速遍历状态空间。哈密顿蒙特卡洛方法利用 Hamilton 动力学的可逆性、能量守恒、体积保持等特性,为构造马氏链提供了一种快速生成提议状态的方法,该方法与 MCMC 中的 Metropolis 更新(或其他更新方法)步骤结合,可以快速生成给定概率分布的样本。
〖原文〗 Radford M. Neal (2011), MCMC Using Hamiltonian Dynamics, Handbook of Markov Chain Monte Carlo.
1 概述
马尔可夫链蒙特卡罗 (MCMC) 起源于 Metropolis 等人 的经典论文 (1953)。它被用于模拟理想化状态下分子系统的状态分布。不久之后,引入了另一种分子模拟方法( Alder 和 Wainwright,1959 年),其 ...
MCMC 采样编程实战
MCMC 采样方法编程应用实战
【摘要】贝叶斯统计需要在贝叶斯定理基础上,通过参数先验和数据似然对参数的后验概率分布作出推断。从推断精度上区分,贝叶斯推断方法大致包含精确推断和近似推断两大类,其中精确推断常见有变量消除法(Variable Elimination, VE)和信念传播法(Belief Propagation, BP);而近似推断方法主要是马尔科夫链蒙特卡洛法(Mente Carlo, MCMC)和变分近似推断法(Variational Inference,VI),从原理上来说,前者属于随机性近似推断,而后者属于确定性近似推断。本文从概率编程角度,引导读者了解 MCMC 方法的使用过程,以便形成整体印象。
【原文】 MCMC sampling for dummies — While My MCMC Gently Samples (twiecki.io)
p{text-indent:2em;2}
引子
当谈论贝叶斯统计和概率编程时,通常会掩藏统计推断实际执行的细节,将其视为黑匣子。概率编程好处在于 “不必为构建模型而理解推断的工作原理”,但让使用者理解其原理肯定会 ...
一篇文章读懂 MCMC 方法
马尔可夫链蒙特卡洛( MCMC )采样
【摘要】传统的蒙特卡洛方法采用随机抽样的方式获得样本,其中大量随机抽取的样本要么被拒绝(拒绝采样)、要么被加权(重要性采样),样本效率不高。因此科学家在思考是否存在一种接受率为 100%100\%100% 的采样方法。马尔可夫链蒙特卡洛方法真是满足此要求的一种高效采样方法,它充分利用马尔可夫链的可逆性和平稳分布收敛特性,通过一段时间的老化后,所得到的样本能够实现 100%100\%100% 的接受率。
【原文】 MCMC and Gibbs Sampling
1 问题的提出
随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗模拟(Monte Carlo Simulation)。这个方法始于20世纪40年代,和原子弹制造的曼哈顿计划密切相关,当时乌拉姆、冯.诺依曼、费米、费曼、Nicholas Metropolis 等, 在美国洛斯阿拉莫斯国家实验室研究裂变物质的中子连锁反应的时候,开始使用统计模拟的方法,并在最早的计算机上进行编程实现。
图 1: 随机模拟与计算机
现代的统计模拟方法最早由数学家乌拉姆提出,被 M ...