非共轭先验Non-conjugate Prior是贝叶斯统计中的一个重要概念。1. 核心概念什么是共轭在贝叶斯推断中我们的目标是计算后验分布PosteriorP(θ∣D)∝P(D∣θ)×P(θ) P(\theta | D) \propto P(D | \theta) \times P(\theta)P(θ∣D)∝P(D∣θ)×P(θ)其中P(θ)P(\theta)P(θ)是先验分布Prior。P(D∣θ)P(D | \theta)P(D∣θ)是似然函数Likelihood。P(θ∣D)P(\theta | D)P(θ∣D)是后验分布。共轭先验Conjugate Prior的定义是如果先验分布P(θ)P(\theta)P(θ)和后验分布P(θ∣D)P(\theta | D)P(θ∣D)属于同一个概率分布家族那么这个先验就是共轭的。例子如果你假设数据服从伯努利分布抛硬币正面或反面。你选择Beta分布作为先验。那么无论观察到多少数据计算出的后验分布仍然是Beta分布。优点数学上非常友好可以直接写出解析解公式不需要复杂的数值计算。2. 什么是非共轭先验非共轭先验是指当你选择了一个先验分布P(θ)P(\theta)P(θ)使得后验分布P(θ∣D)P(\theta | D)P(θ∣D)不属于先验分布所在的同一个概率分布家族或者根本找不到一个解析形式的后验分布。通俗理解你选的“帽子”先验形状很奇怪当你把数据似然套上去后“帽子”变形了变成了一种你完全没预料到的新形状后验而且你无法用现有的标准数学公式来描述这个新形状。3. 为什么会出现非共轭先验在简单的模型如抛硬币、线性回归中共轭先验很常见。但在复杂模型特别是深度神经网络、隐藏变量模型中共轭性通常会失效。典型场景非线性模型似然函数P(D∣θ)P(D|\theta)P(D∣θ)包含复杂的非线性操作如神经网络中的激活函数 Sigmoid, ReLU。即使先验是高斯分布经过非线性变换后后验分布会变得极其复杂不再是高斯分布甚至没有名字。多层潜在变量在变分自编码器VAE或深层生成模型中有多个层的隐藏变量。积分过程为了边缘化潜在变量涉及非高斯核函数的组合导致后验无法解析求解。自定义分布为了更灵活地建模研究者可能选择任意复杂的分布作为先验例如混合高斯分布、任意神经网络参数化的分布这些通常不与标准的似然函数共轭。4. 非共轭先验带来的挑战一旦遇到非共轭先验贝叶斯推断的“黄金时代”解析解时代就结束了我们必须面对以下困难积分不可解Intractable Integral计算归一化常数Evidence,P(D)P(D)P(D)需要求积分∫P(D∣θ)P(θ)dθ\int P(D|\theta)P(\theta) d\theta∫P(D∣θ)P(θ)dθ。对于非共轭情况这个积分通常没有解析解数值积分又太慢。无法直接写出后验你无法说“后验是分布X参数是Y”。你只能知道后验的形状但不知道它的具体数学表达式。5. 如何解决非共轭先验的问题正因为非共轭先验如此普遍尤其是在深度学习中科学家们发展出了近似方法。你之前问到的变分推断VI和MCMC就是用来解决这个问题的。A. 变分推断 (Variational Inference, VI)思路既然算不出真实的后验那我就猜测一个后验分布q(θ)q(\theta)q(θ)比如强制假设它是高斯分布。操作通过优化算法梯度下降让q(θ)q(\theta)q(θ)尽可能接近真实的后验。联系这就是为什么在 VAE 中即使底层逻辑很复杂我们依然假设q(z∣x)q(z|x)q(z∣x)是高斯分布并通过神经网络输出均值和方差。B. 马尔可夫链蒙特卡洛 (MCMC)思路既然算不出公式那我就通过采样。操作生成大量的样本这些样本的分布近似于后验分布。缺点计算慢不适合大规模深度学习。C. 拉普拉斯近似 (Laplace Approximation)思路在众数最高点附近用高斯分布去拟合后验。6. 总结与类比共轭先验就像买衣服你买了一件“均码”Beta分布无论你怎么洗更新数据它还是“均码”Beta分布。你可以直接穿上不用改。非共轭先验你买了一件“定制礼服”复杂先验洗了一次看到数据后衣服缩水变形了变成了一件“无法描述形状的布料”非标准后验。解决方法MCMC拿尺子量这块布料一点点描出它的形状采样。变分推断拿一块标准的“正方形布料”简单分布如高斯去覆盖它尽量贴合优化近似。7. 变分推断VI) 解决非共轭问题在论文《Auto-Encoding Variational Bayes》中“Since the SGVB estimator and the AEVB algorithm can be applied to almost any inference and learning problem with continuous latent variables…”这篇论文VAE/SGVB正是为了解决非共轭问题而生的。在深度生成模型中似然函数pθ(x∣z)p_\theta(x|z)pθ(x∣z)通常是一个复杂的神经网络非线性。因此真实的后验p(z∣x)p(z|x)p(z∣x)通常是非共轭的甚至没有解析形式。变分推断VI引入了一个近似的编码器qϕ(z∣x)q_\phi(z|x)qϕ(z∣x)通常设为简单的高斯分布通过最大化 ELBO 来近似这个难解的后验。所以非共轭先验是导致我们需要使用变分推断和深度学习来代替传统贝叶斯解析解的根本原因之一。
非共轭先验(Non-conjugate Prior)和共轭先验(Conjugate Prior)
发布时间:2026/6/9 17:29:19
非共轭先验Non-conjugate Prior是贝叶斯统计中的一个重要概念。1. 核心概念什么是共轭在贝叶斯推断中我们的目标是计算后验分布PosteriorP(θ∣D)∝P(D∣θ)×P(θ) P(\theta | D) \propto P(D | \theta) \times P(\theta)P(θ∣D)∝P(D∣θ)×P(θ)其中P(θ)P(\theta)P(θ)是先验分布Prior。P(D∣θ)P(D | \theta)P(D∣θ)是似然函数Likelihood。P(θ∣D)P(\theta | D)P(θ∣D)是后验分布。共轭先验Conjugate Prior的定义是如果先验分布P(θ)P(\theta)P(θ)和后验分布P(θ∣D)P(\theta | D)P(θ∣D)属于同一个概率分布家族那么这个先验就是共轭的。例子如果你假设数据服从伯努利分布抛硬币正面或反面。你选择Beta分布作为先验。那么无论观察到多少数据计算出的后验分布仍然是Beta分布。优点数学上非常友好可以直接写出解析解公式不需要复杂的数值计算。2. 什么是非共轭先验非共轭先验是指当你选择了一个先验分布P(θ)P(\theta)P(θ)使得后验分布P(θ∣D)P(\theta | D)P(θ∣D)不属于先验分布所在的同一个概率分布家族或者根本找不到一个解析形式的后验分布。通俗理解你选的“帽子”先验形状很奇怪当你把数据似然套上去后“帽子”变形了变成了一种你完全没预料到的新形状后验而且你无法用现有的标准数学公式来描述这个新形状。3. 为什么会出现非共轭先验在简单的模型如抛硬币、线性回归中共轭先验很常见。但在复杂模型特别是深度神经网络、隐藏变量模型中共轭性通常会失效。典型场景非线性模型似然函数P(D∣θ)P(D|\theta)P(D∣θ)包含复杂的非线性操作如神经网络中的激活函数 Sigmoid, ReLU。即使先验是高斯分布经过非线性变换后后验分布会变得极其复杂不再是高斯分布甚至没有名字。多层潜在变量在变分自编码器VAE或深层生成模型中有多个层的隐藏变量。积分过程为了边缘化潜在变量涉及非高斯核函数的组合导致后验无法解析求解。自定义分布为了更灵活地建模研究者可能选择任意复杂的分布作为先验例如混合高斯分布、任意神经网络参数化的分布这些通常不与标准的似然函数共轭。4. 非共轭先验带来的挑战一旦遇到非共轭先验贝叶斯推断的“黄金时代”解析解时代就结束了我们必须面对以下困难积分不可解Intractable Integral计算归一化常数Evidence,P(D)P(D)P(D)需要求积分∫P(D∣θ)P(θ)dθ\int P(D|\theta)P(\theta) d\theta∫P(D∣θ)P(θ)dθ。对于非共轭情况这个积分通常没有解析解数值积分又太慢。无法直接写出后验你无法说“后验是分布X参数是Y”。你只能知道后验的形状但不知道它的具体数学表达式。5. 如何解决非共轭先验的问题正因为非共轭先验如此普遍尤其是在深度学习中科学家们发展出了近似方法。你之前问到的变分推断VI和MCMC就是用来解决这个问题的。A. 变分推断 (Variational Inference, VI)思路既然算不出真实的后验那我就猜测一个后验分布q(θ)q(\theta)q(θ)比如强制假设它是高斯分布。操作通过优化算法梯度下降让q(θ)q(\theta)q(θ)尽可能接近真实的后验。联系这就是为什么在 VAE 中即使底层逻辑很复杂我们依然假设q(z∣x)q(z|x)q(z∣x)是高斯分布并通过神经网络输出均值和方差。B. 马尔可夫链蒙特卡洛 (MCMC)思路既然算不出公式那我就通过采样。操作生成大量的样本这些样本的分布近似于后验分布。缺点计算慢不适合大规模深度学习。C. 拉普拉斯近似 (Laplace Approximation)思路在众数最高点附近用高斯分布去拟合后验。6. 总结与类比共轭先验就像买衣服你买了一件“均码”Beta分布无论你怎么洗更新数据它还是“均码”Beta分布。你可以直接穿上不用改。非共轭先验你买了一件“定制礼服”复杂先验洗了一次看到数据后衣服缩水变形了变成了一件“无法描述形状的布料”非标准后验。解决方法MCMC拿尺子量这块布料一点点描出它的形状采样。变分推断拿一块标准的“正方形布料”简单分布如高斯去覆盖它尽量贴合优化近似。7. 变分推断VI) 解决非共轭问题在论文《Auto-Encoding Variational Bayes》中“Since the SGVB estimator and the AEVB algorithm can be applied to almost any inference and learning problem with continuous latent variables…”这篇论文VAE/SGVB正是为了解决非共轭问题而生的。在深度生成模型中似然函数pθ(x∣z)p_\theta(x|z)pθ(x∣z)通常是一个复杂的神经网络非线性。因此真实的后验p(z∣x)p(z|x)p(z∣x)通常是非共轭的甚至没有解析形式。变分推断VI引入了一个近似的编码器qϕ(z∣x)q_\phi(z|x)qϕ(z∣x)通常设为简单的高斯分布通过最大化 ELBO 来近似这个难解的后验。所以非共轭先验是导致我们需要使用变分推断和深度学习来代替传统贝叶斯解析解的根本原因之一。