一、基本概念
后验分布(Posterior Distribution) 是概率论和贝叶斯统计中的一个核心概念,它描述了在给定观测数据的情况下,未知参数或潜在变量的概率分布。
1. 后验分布的定义
根据贝叶斯公式,后验分布定义为:
p
(
θ
∣
x
)
=
p
(
x
∣
θ
)
p
(
θ
)
p
(
x
)
p(\theta|x) = \frac{p(x|\theta)p(\theta)}{p(x)}
p(θ∣x)=p(x)p(x∣θ)p(θ)
其中:
- p ( θ ∣ x ) p(\theta|x) p(θ∣x):后验分布,表示在观测数据 x x x 给定的条件下,参数 θ \theta θ 的分布。
- p ( x ∣ θ ) p(x|\theta) p(x∣θ):似然函数,表示在参数 θ \theta θ 下观测数据 x x x 出现的概率。
- p ( θ ) p(\theta) p(θ):先验分布,表示在没有观察到数据 x x x 之前,参数 θ \theta θ 的分布。
-
p
(
x
)
p(x)
p(x):边际似然,表示观测数据
x
x
x 的总概率,用于归一化,计算公式为:
p ( x ) = ∫ p ( x ∣ θ ) p ( θ ) d θ p(x) = \int p(x|\theta)p(\theta) d\theta p(x)=∫p(x∣θ)p(θ)dθ
2. 直观理解
贝叶斯统计的核心思想是用观测数据来更新我们对未知参数的信念:
- 先验分布:是对参数的初始信念,反映了我们在看到数据之前对参数可能取值的看法。
- 似然函数:是数据提供的新信息,反映了观测数据在不同参数条件下的可能性。
- 后验分布:结合先验分布和数据的似然,更新我们的信念,得出参数的条件分布。
换句话说,后验分布是一种经过数据更新后的知识状态。
3. 举例说明
抛硬币问题
假设我们要估计一枚硬币正面朝上的概率 θ \theta θ,并且我们有以下信息:
- 先验分布:认为硬币正面朝上的概率
θ
\theta
θ 是均匀分布的:
p ( θ ) = 1 , for θ ∈ [ 0 , 1 ] p(\theta) = 1, \quad \text{for } \theta \in [0, 1] p(θ)=1,for θ∈[0,1] - 观测数据:抛了 10 次硬币,其中 7 次正面朝上,3 次反面朝上。
根据贝叶斯公式,后验分布为:
p
(
θ
∣
x
)
∝
p
(
x
∣
θ
)
p
(
θ
)
p(\theta|x) \propto p(x|\theta)p(\theta)
p(θ∣x)∝p(x∣θ)p(θ)
其中:
-
p
(
x
∣
θ
)
p(x|\theta)
p(x∣θ):是数据的似然函数,对于抛硬币问题是二项分布:
p ( x ∣ θ ) = ( 10 7 ) θ 7 ( 1 − θ ) 3 p(x|\theta) = \binom{10}{7} \theta^7 (1-\theta)^3 p(x∣θ)=(710)θ7(1−θ)3 - p ( θ ) p(\theta) p(θ):是均匀分布。
因此,后验分布为:
p
(
θ
∣
x
)
∝
θ
7
(
1
−
θ
)
3
p(\theta|x) \propto \theta^7 (1-\theta)^3
p(θ∣x)∝θ7(1−θ)3
这表示在看到数据之后,我们的信念发生了更新,认为 θ \theta θ 更有可能接近 0.7。
4. 特点和用途
特点:
- 动态更新:后验分布反映了在观测数据给定条件下的参数分布,能随着新数据更新。
- 概率解释:后验分布是条件分布,直接给出了参数的概率,符合贝叶斯统计的直观解释。
用途:
- 推断未知参数:利用后验分布的均值、众数等,推断参数的可能取值。
- 不确定性量化:通过后验分布的方差或置信区间量化估计的不确定性。
- 模型比较:在贝叶斯框架下,用后验分布计算模型的边际似然,用于模型选择。
5. 后验分布的计算挑战
计算后验分布涉及边际似然 p ( x ) p(x) p(x),通常是高维积分,难以解析求解。常用的近似方法包括:
- 变分推断(Variational Inference):用简单的分布近似后验分布。
- 马尔可夫链蒙特卡洛(MCMC):通过采样方法逼近后验分布。
6. 总结
后验分布是贝叶斯推断的核心,结合了先验知识和观测数据的信息,描述了未知参数的条件分布。它为统计建模和不确定性量化提供了一个完整的框架,但其计算复杂度通常需要借助近似方法来解决。
二、常见问题
问题 1
这表示在看到数据之后,我们的信念发生了更新,认为 θ \theta θ更有可能接近 0.7。0.7是怎么算出来的?
答:
在给定观测数据后,后验分布 $ p(\theta | x) $ 描述了参数
θ
\theta
θ 的可能值。在举例中的硬币问题中,后验分布是:
p
(
θ
∣
x
)
∝
θ
7
(
1
−
θ
)
3
p(\theta|x) \propto \theta^7 (1-\theta)^3
p(θ∣x)∝θ7(1−θ)3
我们要做的就是通过这个后验分布来估计
θ
\theta
θ,通常的做法是计算后验分布的最大值,即找到使得后验分布 $ p(\theta | x) $ 最大的
θ
\theta
θ,这通常就是最大后验估计(Maximum a Posteriori Estimate,MAP)。
计算后验分布的最大值
我们可以通过对后验分布进行求导并找到其最大值来估计 θ \theta θ。
-
后验分布公式:
p ( θ ∣ x ) ∝ θ 7 ( 1 − θ ) 3 p(\theta|x) \propto \theta^7 (1-\theta)^3 p(θ∣x)∝θ7(1−θ)3 -
对数化简:
为了更容易求导,我们通常对后验分布取对数(对数变换不会改变最大值的位置),得到对数后验:
log p ( θ ∣ x ) ∝ 7 log θ + 3 log ( 1 − θ ) \log p(\theta | x) \propto 7 \log \theta + 3 \log (1-\theta) logp(θ∣x)∝7logθ+3log(1−θ)
注意,常数项可以忽略,因为它们不会影响最大值。 -
求导:
对对数后验进行求导并设导数为 0,可以得到最大值的位置:
d d θ ( 7 log θ + 3 log ( 1 − θ ) ) = 7 θ − 3 1 − θ \frac{d}{d\theta} \left(7 \log \theta + 3 \log (1 - \theta) \right) = \frac{7}{\theta} - \frac{3}{1 - \theta} dθd(7logθ+3log(1−θ))=θ7−1−θ3
设这个导数为 0:
7 θ = 3 1 − θ \frac{7}{\theta} = \frac{3}{1 - \theta} θ7=1−θ3 -
解方程:
解这个方程得到:
7 ( 1 − θ ) = 3 θ 7(1 - \theta) = 3\theta 7(1−θ)=3θ
7 − 7 θ = 3 θ 7 - 7\theta = 3\theta 7−7θ=3θ
7 = 10 θ 7 = 10\theta 7=10θ
θ = 7 10 = 0.7 \theta = \frac{7}{10} = 0.7 θ=107=0.7
解释
所以, θ = 0.7 \theta = 0.7 θ=0.7 是使后验分布最大化的值,这意味着,在观察到 7 次正面和 3 次反面的数据后,最可能的硬币正面朝上的概率是 0.7。
这种推断是通过最大化后验分布来进行的,而这个值反映了我们对硬币正面朝上的最可能估计。
问题 2
在投硬币问题中,假设我们要通过贝叶斯推断来估计硬币正面朝上的概率 θ \theta θ。这个问题通常可以通过二项分布来建模,其中 x x x 是成功的次数(即正面朝上的次数), θ \theta θ 是硬币正面朝上的概率。
投硬币问题模型
假设我们投掷了 n n n 次硬币,其中有 x x x 次正面朝上。我们可以建模观测数据 x x x 作为从二项分布中得到的结果,给定 θ \theta θ:
p ( x ∣ θ ) = ( n x ) θ x ( 1 − θ ) n − x p(x | \theta) = \binom{n}{x} \theta^x (1 - \theta)^{n-x} p(x∣θ)=(xn)θx(1−θ)n−x
其中:
- θ \theta θ 是硬币正面朝上的概率(我们要估计的参数),
- n n n 是投掷次数,
- x x x 是正面朝上的次数。
先验分布
假设我们对硬币正面朝上的概率
θ
\theta
θ 没有太多先验知识,我们可以选择一个简单的Beta分布作为先验。比如:
p
(
θ
)
∝
θ
7
(
1
−
θ
)
3
p(\theta) \propto \theta^7 (1 - \theta)^3
p(θ)∝θ7(1−θ)3
这是一个Beta分布的形式,其中 α = 8 \alpha = 8 α=8和 β = 4 \beta = 4 β=4,表明我们认为硬币正面朝上的概率倾向于较高的值,但并不是绝对的。
后验分布
根据贝叶斯公式,后验分布为:
p ( θ ∣ x ) ∝ p ( x ∣ θ ) p ( θ ) p(\theta | x) \propto p(x | \theta) p(\theta) p(θ∣x)∝p(x∣θ)p(θ)
将二项分布 p ( x ∣ θ ) p(x | \theta) p(x∣θ) 和 Beta 先验 p ( θ ) p(\theta) p(θ) 代入后,我们得到后验分布:
p ( θ ∣ x ) ∝ [ θ x ( 1 − θ ) n − x ] ⋅ θ 7 ( 1 − θ ) 3 p(\theta | x) \propto \left[ \theta^x (1 - \theta)^{n - x} \right] \cdot \theta^7 (1 - \theta)^3 p(θ∣x)∝[θx(1−θ)n−x]⋅θ7(1−θ)3
p ( θ ∣ x ) ∝ θ x + 7 ( 1 − θ ) n − x + 3 p(\theta | x) \propto \theta^{x + 7} (1 - \theta)^{n - x + 3} p(θ∣x)∝θx+7(1−θ)n−x+3
这仍然是一个Beta分布的形式,具体为:
p ( θ ∣ x ) ∝ θ x + 7 ( 1 − θ ) n − x + 3 p(\theta | x) \propto \theta^{x + 7} (1 - \theta)^{n - x + 3} p(θ∣x)∝θx+7(1−θ)n−x+3
因此,后验分布 p ( θ ∣ x ) p(\theta | x) p(θ∣x) 是一个 Beta 分布:
p ( θ ∣ x ) ∼ Beta ( x + 8 , n − x + 4 ) p(\theta | x) \sim \text{Beta}(x + 8, n - x + 4) p(θ∣x)∼Beta(x+8,n−x+4)
计算边际似然 p ( x ) p(x) p(x)
为了计算边际似然 p ( x ) p(x) p(x),我们需要对所有可能的 θ \theta θ 进行积分:
p ( x ) = ∫ 0 1 p ( x ∣ θ ) p ( θ ) d θ p(x) = \int_0^1 p(x | \theta) p(\theta) \, d\theta p(x)=∫01p(x∣θ)p(θ)dθ
这就是:
p ( x ) = ∫ 0 1 ( n x ) θ x ( 1 − θ ) n − x ⋅ θ 7 ( 1 − θ ) 3 d θ p(x) = \int_0^1 \binom{n}{x} \theta^x (1 - \theta)^{n-x} \cdot \theta^7 (1 - \theta)^3 \, d\theta p(x)=∫01(xn)θx(1−θ)n−x⋅θ7(1−θ)3dθ
可以简化为:
p ( x ) = ( n x ) ∫ 0 1 θ x + 7 ( 1 − θ ) n − x + 3 d θ p(x) = \binom{n}{x} \int_0^1 \theta^{x + 7} (1 - \theta)^{n - x + 3} \, d\theta p(x)=(xn)∫01θx+7(1−θ)n−x+3dθ
这个积分可以通过Beta函数来求解。我们知道 Beta 函数的形式是:
B ( α , β ) = ∫ 0 1 θ α − 1 ( 1 − θ ) β − 1 d θ B(\alpha, \beta) = \int_0^1 \theta^{\alpha - 1} (1 - \theta)^{\beta - 1} \, d\theta B(α,β)=∫01θα−1(1−θ)β−1dθ
在我们的例子中, α = x + 8 \alpha = x + 8 α=x+8 和 β = n − x + 4 \beta = n - x + 4 β=n−x+4,所以:
p ( x ) = ( n x ) B ( x + 8 , n − x + 4 ) p(x) = \binom{n}{x} B(x + 8, n - x + 4) p(x)=(xn)B(x+8,n−x+4)
这个积分结果是一个常数,通常不需要显式地计算,因为在后验推断中,我们主要关心的是后验分布,而不是边际似然。贝叶斯推断的重点在于计算后验分布 p ( θ ∣ x ) p(\theta | x) p(θ∣x),而不是对边际似然进行显式求解。
总结
在投硬币问题中,边际似然 p ( x ) p(x) p(x) 的计算涉及到对 θ \theta θ 的积分。由于在这个问题中先验是 Beta 分布,后验也会是 Beta 分布,这使得计算变得相对简单。通过使用 Beta 函数,我们可以求出边际似然,但通常在实际推断中,后验分布的形式更加重要,而边际似然仅作为规范化常数。
问题3
如何理解计算后验分布涉及边际似然 p ( x ) p(x) p(x),通常是高维积分,难以解析求解?
答:
在许多贝叶斯推断问题中常见的挑战,即计算边际似然 p ( x ) p(x) p(x)(或称为证据)时的困难,特别是当模型的参数空间维度很高时。
在贝叶斯推断中,计算后验分布 p ( θ ∣ x ) p(\theta | x) p(θ∣x) 时,通常需要通过边际化(marginalization)来计算边际似然 p ( x ) p(x) p(x),即:
p ( x ) = ∫ p ( x ∣ θ ) p ( θ ) d θ p(x) = \int p(x|\theta)p(\theta)d\theta p(x)=∫p(x∣θ)p(θ)dθ
为什么计算 p ( x ) p(x) p(x) 会困难?
在很多实际问题中,参数空间(例如 θ \theta θ的维度)是非常高的,因此直接计算积分可能非常困难。尤其是当我们无法求出显式的积分公式时,就会遇到计算上的难题。对某些复杂的模型(如深度学习模型),这个问题尤为突出。
你的例子: p ( θ ∣ x ) ∝ θ 7 ( 1 − θ ) 3 p(\theta | x) \propto \theta^7 (1 - \theta)^3 p(θ∣x)∝θ7(1−θ)3
这个例子实际上是一个一维参数问题,它是通过贝叶斯更新来得到后验分布的。在这种情况下,参数空间只有一个维度(
θ
\theta
θ),所以计算后验分布并不需要高维积分。后验分布的形式是:
p
(
θ
∣
x
)
∝
θ
7
(
1
−
θ
)
3
p(\theta | x) \propto \theta^7 (1 - \theta)^3
p(θ∣x)∝θ7(1−θ)3
这个表达式是已知的,不需要进行积分来得到后验。计算后验分布的最大值(即最大后验估计)时,只需要对该公式求导并找到最大值,而不需要计算复杂的积分。
然而,边际似然
p
(
x
)
p(x)
p(x) 是指我们如何在所有可能的参数值上进行积分,以得到数据的似然。对于这个例子,边际似然
p
(
x
)
p(x)
p(x) 是通过以下积分计算的:
p
(
x
)
=
∫
p
(
x
∣
θ
)
p
(
θ
)
d
θ
p(x) = \int p(x | \theta) p(\theta) d\theta
p(x)=∫p(x∣θ)p(θ)dθ
在这个例子中,如果
p
(
x
∣
θ
)
p(x | \theta)
p(x∣θ) 代表了观测数据
x
x
x 与参数
θ
\theta
θ 之间的关系,而
p
(
θ
)
p(\theta)
p(θ) 是先验分布,那么计算
p
(
x
)
p(x)
p(x) 就需要对所有可能的参数值进行积分。
高维情况下的困难
在高维情况下,像 p ( θ ∣ x ) p(\theta | x) p(θ∣x) 这样的后验分布可能会包含多个参数。由于积分的维度大,直接计算变得非常复杂,尤其当有大量参数时。通常在这种情况下,数值方法(如蒙特卡洛方法、变分推断等)被用来逼近边际似然 p ( x ) p(x) p(x) 或后验分布。
例如,在高维参数空间下的变分推断,其核心思想是将后验分布 p ( θ ∣ x ) p(\theta | x) p(θ∣x) 近似为某个简单的分布 q ( θ ) q(\theta) q(θ),然后通过最小化 Kullback-Leibler 散度来得到一个近似解。
总结
在你提到的例子中,后验分布的计算是通过贝叶斯更新得到的,并没有涉及到复杂的高维积分,因为问题只有一个参数。但是在一般情况下,当参数空间较大时,计算边际似然或后验分布会遇到很大的计算挑战,通常需要使用数值方法来逼近。