概述

贝叶斯估计是统计推断的三大范式之一,与频率学派和似然学派并列。其核心思想是:将参数视为随机变量,利用先验知识结合观测数据获得后验分布

本系统介绍贝叶斯估计的理论基础,包括与频率学派的核心区别、贝叶斯估计的计算方法、决策理论以及与深度学习的联系。12


频率学派 vs 贝叶斯学派

核心哲学差异

方面频率学派贝叶斯学派
参数性质固定常量(但未知)随机变量
信息来源仅来自观测数据先验 + 数据
估计目标点估计/置信区间后验分布
评估标准重复采样下的性质自身一致性

形式化表述

频率学派(MLE)

贝叶斯学派(后验)

其中:

  • :先验分布(Prior)
  • :似然函数(Likelihood)
  • :后验分布(Posterior)
  • :边际似然(Evidence)

贝叶斯估计基本框架

贝叶斯公式

由条件概率定义出发:

共轭先验

共轭先验是指与似然函数共轭的先验分布,使得后验分布与先验分布属于同一分布族。

常见共轭先验对

似然函数参数共轭先验后验分布
伯努利 BetaBeta
泊松 GammaGamma
高斯 (已知NormalNormal
高斯 (已知Inverse-GammaInverse-Gamma
多项式 DirichletDirichlet

示例:伯努利模型的贝叶斯估计

似然函数

其中 是成功次数, 是失败次数。

Beta先验

后验分布

import numpy as np
from scipy import stats
 
def bayesian_bernoulli_posterior(N1, N0, a_prior=1, b_prior=1):
    """
    伯努利模型的贝叶斯后验计算
    
    Args:
        N1: 成功次数
        N0: 失败次数
        a_prior, b_prior: Beta先验参数
    """
    # 后验参数
    a_post = a_prior + N1
    b_post = b_prior + N0
    
    # 后验分布
    posterior = stats.beta(a_post, b_post)
    
    return posterior
 
# 示例:10次成功,2次失败,均匀先验
posterior = bayesian_bernoulli_posterior(N1=10, N0=2, a_prior=1, b_prior=1)
print(f"后验均值: {posterior.mean():.4f}")
print(f"后验方差: {posterior.var():.4f}")
print(f"95%可信区间: {posterior.interval(0.95)}")

最大后验估计(MAP)

MAP估计选择后验概率最大的点:

MAP与MLE的关系

忽略归一化常数,MAP等价于:

带正则化的MLE

正则化先验MAP效果
(权重衰减)高斯先验 倾向于小权重
(LASSO)Laplace先验倾向于稀疏解

贝叶斯风险与决策理论

损失函数设计

贝叶斯决策的核心是选择最小化贝叶斯风险的估计量:

其中 是损失函数。

常见损失函数与最优估计

损失函数形式最优估计(后验)
平方损失后验均值
0-1损失后验众数(MAP)
绝对损失$L(\theta, \hat{\theta}) =\theta - \hat{\theta}
对数损失后验预测分布

贝叶斯估计量

定理:在平方损失下,贝叶斯最优估计量是后验均值:

证明


渐近理论

Bernstein-von Mises定理

定理:在正则性条件下,当样本量 时:

其中:

  • :真实参数值
  • :Fisher信息矩阵

意义

  1. 后验分布渐近于高斯分布
  2. 后验均值与MLE一致(渐近有效性)
  3. 后验方差与Cramer-Rao下界一致

拉普拉斯近似

利用后验的渐近高斯性,可以用高斯分布近似后验:

这构成了Laplace近似的理论基础。

import torch
from torch.distributions import MultivariateNormal
 
def laplace_approximation(log_posterior, theta_init, num_steps=100, lr=0.1):
    """
    拉普拉斯近似实现
    
    Args:
        log_posterior: 对数后验函数
        theta_init: 初始点(通常用MAP)
    """
    theta = theta_init.clone().requires_grad_(True)
    optimizer = torch.optim.Adam([theta], lr=lr)
    
    # 步骤1:找到MAP点
    for _ in range(num_steps):
        optimizer.zero_grad()
        loss = -log_posterior(theta)  # 最小化负对数后验
        loss.backward()
        optimizer.step()
    
    map_estimate = theta.detach()
    
    # 步骤2:计算Hessian
    hessian = torch.autograd.functional.hessian(
        lambda x: -log_posterior(x), 
        map_estimate
    )
    
    # 步骤3:近似后验协方差
    covariance = torch.linalg.inv(hessian + 1e-6 * torch.eye(len(map_estimate)))
    
    return map_estimate, covariance

高维参数估计

稀疏先验与LASSO

在高维问题中(),稀疏先验可以实现变量选择:

Laplace先验

这导致MAP估计即LASSO:

Horseshoe先验

更灵活的全局-局部收缩先验:

Horseshoe先验在零附近有 Cauchy 尾部,允许强信号保留。

class Horseshoe:
    """
    Horseshoe先验实现
    
    适用于高维稀疏信号估计
    """
    def __init__(self, tau_init=1.0, lambda_init=None):
        self.tau = tau_init
        self.lambda_ = lambda_init
    
    def log_prior(self, theta):
        """计算Horseshoe对数先验"""
        p = len(theta)
        if self.lambda_ is None:
            self.lambda_ = torch.ones(p)
        
        # 局部收缩因子
        log_lambda = torch.log(self.lambda_ + 1e-8)
        
        # 全局收缩因子
        log_tau = torch.log(self.tau + 1e-8)
        
        # Horseshoe先验的对数密度
        c2 = 1.0  # scale parameter
        log_horse = (
            torch.log(self.lambda_) - 
            0.5 * torch.log(c2 + (theta / (self.tau * self.lambda_))**2)
        )
        
        return log_horse.sum() + log_tau

与深度学习的联系

权重的不确定性

在贝叶斯深度学习中,神经网络的权重被视为随机变量:

预测分布通过边缘化权重得到:

预测不确定性的分解

总不确定性(偶然不确定性 + 认知不确定性):

偶然不确定性(数据固有噪声):

认知不确定性(模型不确定性):

贝叶斯视角下的正则化

正则化技术贝叶斯解释
权重衰减高斯先验
Dropout近似贝叶斯推断
标签平滑Catoni ERM
谱归一化Lipschitz先验

实践指南

先验选择原则

  1. 信息性先验:当有领域知识时使用
  2. 弱信息性先验:Jeffreys先验、Cauchy先验
  3. 共轭先验:计算便利性优先时使用
  4. Gelman先验:对于高斯数据使用

计算方法选择

问题规模推荐方法
低维(<100参数)精确后验、共轭先验
中等维度(100-10K)Laplace近似、变分推断
高维(>10K)MC Dropout、SWAG、随机梯度MCMC

常用软件

  • Stan: 马尔可夫链蒙特卡洛(MCMC)
  • PyMC: Python贝叶斯建模
  • NumPyro: JAX加速的贝叶斯推断
  • Laplace-Torch: 神经网络Laplace近似

参考


相关阅读


Footnotes

  1. Gelman, A., et al. (2013). Bayesian Data Analysis. CRC Press.

  2. Robert, C. P. (2007). The Bayesian Choice. Springer.