重要性加权变分推断方法
【摘要】最近有工作使用重要性采样的思路,来确定更紧致的变分似然边界。本文阐明了该想法对纯概率推断的适用性,展示了重要性加权变分推断技术作为一种增强的变分推断方法,能够识别先前工作中的松散性。实验证实了重要性加权变分推断在概率推断方面的实用性。作为另一个成果,本文研究了使用椭圆分布的推断方法,该方法提高了低维准确性和高维收敛性。
【原文】 J Domke and D Sheldon (2018), Importance weighting and variational inference. In Advances in Neural Information Processing Systems. https://arxiv.org/abs/1808.09034
1 问题提出
概率建模通过为不可观测的变量 z\mathbf{z}z 和可观测变量 x\mathbf{x}x 制定联合模型 p(z,x)p(\mathbf{z}, \mathbf{x})p(z,x) 来推断世界,然后查询后验分布 p(z∣x)p(\mathbf{z} \mid \mathbf{x})p(z∣x) 以了 ...
黑盒变分推断
【摘要】 变分推断已经成为一种广泛使用的方法,用于近似隐变量的复杂后验分布。 然而,传统方法推导出一个变分推断算法需要进行大量的特定模型分析。 这可能会阻碍我们快速开发和探索解决问题的模型。 本文中提出了一种黑盒变分推断算法,该算法可以快速应用于许多模型,几乎不需要额外的推导。我们采用的方法是基于变分目标做随机优化,其中噪声梯度由变分分布的蒙特卡洛样本计算得出,进而避免了对梯度解析形式的推导。考虑到随机优化存在方差变大的问题, 我们同时开发了一些减少梯度方差的方法,并始终保持了避免推导的简易性。 我们将本方法与相应的黑盒采样方法进行对比评估,发现本方法相比于采样方法,能更快达到较好的预测似然。 最后,通过快速构建和评估医疗数据中的几个模型,我们证明了黑盒变分推断法可以轻松探索更为广阔的模型空间。
【原文】Ranganath, R., Gerrish, S., and Blei, D. M. (2014). Black box variational inference. In Artificial Intelligence and Statistics, Vol 37 ...
使用预测方差削减加速随机梯度下降
【摘要】
【原文】R. Johnson and T. Zhang. Accelerating stochastic gradient descent using predictive variance reduction. In NIPS, 2013
#refplus, #refplus li{
padding:0;
margin:0;
list-style:none;
};
document.querySelectorAll(".refplus-num").forEach((ref) => {
let refid = ref.firstChild.href.replace(location.origin+location.pathname,'');
let refel = document.querySelector(refid);
let refnum = refel.dataset.num;
...
随机变分推断
【摘 要】 随机变分推断是一种用于近似后验分布的可扩展算法。我们为一般性的概率模型开发了该技术,并且用两个概率主题模型(潜狄利克雷分配和分层狄利克雷过程主题模型)来证明了它的可用性。我们使用随机变分推断分析了几个大型文档集合:来自 Nature 的 30 万篇文章、来自《纽约时报》的 180 万篇文章和来自维基百科的 380 万篇文章。结果表明:随机变分推断可以轻松处理如此大规模的数据集,并且优于只能处理较小数据集的传统变分推断。我们还表明贝叶斯非参数主题模型的表现要优于参数模型。
【原 文】 Hoffman, M., Blei, D. M., Wang, C., & Paisley, J. (2013). Stochastic Variational Inference. arXiv: http://arxiv.org/abs/1206.7051
1 问题提出
现代数据分析需要使用海量数据进行计算。想象下如下案例:
(1) 我们拥有 200 万本书的原始文本档案,经过扫描并在线存储。我们想发现文本中的主题,并按主题来组织书籍,最终为用户提供一个可以来探索收藏的浏览 ...
平均场(MeanField )变分推断
暂空缺。
#refplus, #refplus li{
padding:0;
margin:0;
list-style:none;
};
document.querySelectorAll(".refplus-num").forEach((ref) => {
let refid = ref.firstChild.href.replace(location.origin+location.pathname,'');
let refel = document.querySelector(refid);
let refnum = refel.dataset.num;
let ref_content = refel.innerText.replace(`[${refnum}]`,'');
tippy(ref, {
content: ref_content, ...