精确的贝叶斯推理(通常)是难以处理的(即没有封闭形式的解决方案,或者数值逼近在计算上也很昂贵),因为它涉及在一系列实数(甚至浮点数)上计算积分,这可以变得棘手。
更准确地说,例如,如果您想找到参数θ ∈θ给定一些数据的模型D, 那么贝叶斯推理只是贝叶斯定理的应用
p(θ∣D)=p(D∣θ)p(θ)p(D)=p(D∣θ)p(θ)∫Θp(D∣θ′)p(θ′)dθ′=p(D∣θ)p(θ)∫Θp(D,θ′)dθ′(1)
在哪里p(θ∣D)是后验(这是您要查找或计算的),p(D∣θ)是给定(固定)参数的数据的可能性θ,p(θ)是先验和p(D)=∫Θp(D∣θ′)p(θ′)dθ′是数据的证据(这是一个积分,因为θ被假定为一个连续的随机变量),这是难以处理的,因为积分是所有可能的值θ, 那是,Θ. 如果所有条款1易于处理(多项式可计算),然后,给定更多数据D,您可以迭代地继续更新您的后验(在下一次迭代中成为您的先验),并且精确的贝叶斯推理将变得易于处理。
变分贝叶斯方法提出了推断的问题p(θ∣D)(需要计算难以处理的证据项)作为优化问题,它近似地找到后验,更准确地说,它逼近了难以处理的后验,p(θ∣D),有一个温顺的,q(θ∣D)(变分分布)。例如,重要的变分自动编码器 (VAE)论文(没有介绍变分贝叶斯方法)使用变分贝叶斯方法在神经网络(表示分布)的上下文中逼近后验,因此现有机器(或深度)学习技术(即带有反向传播的梯度下降)可用于学习模型的参数。
变分贝叶斯方法 (VBA) 在机器学习中总是变得更有吸引力。例如,贝叶斯神经网络(可以部分解决非贝叶斯神经网络的一些固有问题)通常受到VAE 论文中报告的结果的启发,这表明了 VBA 在深度学习背景下的可行性。