共轭先验的概念和优势——CVMLI Prince读书随笔第4章

什么是共轭性

一个分布 P P P是另一个分布 Q Q Q的共轭,则这两个分布相乘,分布形式与 P P P相同(同族)。

共轭先验与贝叶斯方法

对于已有数据集 x \mathbf x x,记似然估计为 P 1 ( x ∣ λ ) P_1(\bf x|\lambda) P1(xλ),其中 λ \lambda λ是参数,先验分布为 P 2 ( λ ; θ ) P_2(\lambda;\theta) P2(λ;θ),其中 θ \theta θ是参数先验分布的已知有关参数。

则参数的后验分布可以写为
P ( λ ∣ x ; θ ) = P 1 ( x ∣ λ ) P 2 ( λ ; θ ) P ( x ) P(\lambda| \mathbf{x}; \theta) = \frac{P_1(\mathbf x|\lambda)P_2(\lambda;\theta)}{P(\bf x)} P(λx;θ)=P(x)P1(xλ)P2(λ;θ)

如果 P 2 P_2 P2 P 1 P_1 P1的共轭分布,则
P 1 ( x ∣ λ ) P 2 ( λ ; θ ) = κ ( x , θ ) P 2 ( λ ; θ ~ ) P_1(\mathbf x|\lambda)P_2(\lambda;\theta) = \kappa (\mathbf x, \theta) P_2(\lambda; \tilde \theta) P1(xλ)P2(λ;θ)=κ(x,θ)P2(λ;θ~)

其中 κ ( x , θ ) \kappa(\mathbf x, \theta) κ(x,θ)是一个 λ \lambda λ无关的常数, P 2 ( λ ; θ ~ ) P_2(\lambda; \tilde \theta) P2(λ;θ~) P 2 ( λ ; θ ) P_2(\lambda; \theta) P2(λ;θ)有同样的形式。
由于概率对 λ \lambda λ积分为1,所以 κ ( x , θ ) = P ( x ) \kappa(\mathbf x, \theta) =P(\mathbf x) κ(x,θ)=P(x),即 P ( λ ∣ x ; θ ) = P 2 ( λ ; θ ~ ) P(\lambda| \mathbf x; \theta)=P_2(\lambda; \tilde \theta) P(λx;θ)=P2(λ;θ~)

共轭分布的优势一

  • 共轭先验的好处在于保证了后验分布是一个已知形式的闭式解。
  • 只要能把 P 2 P_2 P2的参数辨识出来,系数就可以不用在乎。例如先验分布为高斯分布,且是数据分布的共轭分布。那么只需把后验分布的均值和方差通过指数项系数辨识出来。不用在乎常数项。

贝叶斯密度预测

在给定数据集 x \mathbf x x后, x ∗ x^* x处的密度概率为
P ( x ∗ ∣ x ) = ∫ P 1 ( x ∗ ∣ λ ) P ( λ ∣ x ; θ ) d λ = ∫ P 1 ( x ∗ ∣ λ ) P 2 ( λ ; θ ~ ) d λ = ∫ κ ( x ∗ , θ ~ ) P 2 ( λ ; θ ˘ ) d λ = κ ( x ∗ , θ ~ ) \begin{aligned} P(x^*| \mathbf x) &= \int P_1(x^* | \lambda)P(\lambda|\mathbf x; \theta)d\lambda \\ &=\int P_1(x^*|\lambda)P_2(\lambda; \tilde \theta)d\lambda \\ &= \int \kappa(x^*, \tilde \theta)P_2(\lambda; \breve \theta) d\lambda \\ &= \kappa(x^*, \tilde \theta) \end{aligned} P(xx)=P1(xλ)P(λx;θ)dλ=P1(xλ)P2(λ;θ~)dλ=κ(x,θ~)P2(λ;θ˘)dλ=κ(x,θ~)

共轭分布的优势二

贝叶斯的密度预测结果表达式居然是 κ ( x ∗ , θ ~ ) \kappa(x^*, \tilde \theta) κ(x,θ~),是一个形式简单的闭式解!

总结

对于共轭先验,只要把
P 1 ( x ∣ λ ) P 2 ( λ ; θ ) = κ ( x , θ ) P 2 ( λ ; θ ~ ) P_1(\mathbf x|\lambda)P_2(\lambda;\theta) = \kappa (\mathbf x, \theta) P_2(\lambda; \tilde \theta) P1(xλ)P2(λ;θ)=κ(x,θ)P2(λ;θ~)
当中的 κ ( x , θ ) \kappa (\mathbf x, \theta) κ(x,θ) θ ~ ( x , θ ) \tilde \theta (\mathbf x, \theta) θ~(x,θ)的表达式搞清楚,就能直接得到贝叶斯参数估计和密度估计的结果。

常见的似然与共轭

似然函数(数据分布)共轭先验
Bernoulli分布Beta分布
多类分布Dirichlet分布
高斯分布高斯分布(方差已知)
一维高斯分布逆Gamma分布(均值已知)
一维高斯分布正态逆Gamma分布
高维高斯分布逆Wishart分布(均值已知)
高维高斯分布正态逆Wishart分布

参考文献:
[1] Prince S J D. Computer vision: models, learning, and inference[M]. Cambridge University Press, 2012. 50-64.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于Poisson分布是一个离散分布,所以我们需要使用Gamma分布作为其共轭先验分布。Gamma分布的概率密度函数为: $$f(x;\alpha,\beta) = \frac{\beta^{\alpha}}{\Gamma(\alpha)}x^{\alpha-1}e^{-\beta x}$$ 其中,$\alpha$和$\beta$是分布的形状参数和尺度参数,$\Gamma(\cdot)$是Gamma函数。 无信息先验分布可以选择Gamma分布的特例:$\alpha=\beta=0$,此时Gamma分布退化成了均匀分布。 下面是绘制代码和结果: ```python import numpy as np from scipy.special import gamma import matplotlib.pyplot as plt # Poisson分布的参数 k = np.arange(0, 11) lambda_ = 2.5 # 共轭先验分布的参数 alpha = 2 beta = 1 # Gamma分布的概率密度函数 def gamma_pdf(x, alpha, beta): return (beta**alpha / gamma(alpha)) * x**(alpha-1) * np.exp(-beta*x) # 无信息先验分布的概率密度函数 def uniform_pdf(x): return 1 / (k[-1] - k[0] + 1) # 计算后验分布的参数 alpha_post = alpha + np.sum(k) beta_post = beta + lambda_ # Gamma分布的共轭先验分布和后验分布的概率密度函数 prior = gamma_pdf(k, alpha, beta) posterior = gamma_pdf(k, alpha_post, beta_post) # 无信息先验分布和后验分布的概率密度函数 uniform_prior = uniform_pdf(k) uniform_posterior = np.exp(k*np.log(lambda_) - lambda_ - np.log(np.math.factorial(k))) # 绘制共轭先验分布和后验分布图 plt.figure(figsize=(10, 5)) plt.subplot(1, 2, 1) plt.stem(k, prior, linefmt='C0-', markerfmt='C0o', label='Prior') plt.stem(k, posterior, linefmt='C1-', markerfmt='C1o', label='Posterior') plt.xlabel('k') plt.ylabel('Probability density') plt.title('Conjugate prior') plt.legend() # 绘制无信息先验分布和后验分布图 plt.subplot(1, 2, 2) plt.stem(k, uniform_prior, linefmt='C0-', markerfmt='C0o', label='Prior') plt.stem(k, uniform_posterior, linefmt='C1-', markerfmt='C1o', label='Posterior') plt.xlabel('k') plt.ylabel('Probability density') plt.title('Uniform prior') plt.legend() plt.show() ``` 共轭先验分布和后验分布图: ![conjugate_prior](https://img-blog.csdnimg.cn/20210908160343156.png) 无信息先验分布和后验分布图: ![uniform_prior](https://img-blog.csdnimg.cn/20210908160353273.png) 从图中可以看出,共轭先验分布和无信息先验分布的后验分布都集中在$\lambda$较小的区域,这是因为原始数据中的$k$都比较小。但是,共轭先验分布的后验分布比无信息先验分布的后验分布更加集中,这是因为共轭先验分布考虑了先验分布和似然函数的乘积,对于更多的数据,其影响更加明显。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值