贝叶斯回归:从概率视角量化预测的不确定性

发布于:2025-07-05 ⋅ 阅读:(16) ⋅ 点赞:(0)

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

贝叶斯方法在回归问题中的应用被称为贝叶斯回归(Bayesian Regression)。与传统频率派的线性回归(如最小二乘法)不同,贝叶斯回归的核心思想是:将回归参数(如权重系数)视为随机变量,通过贝叶斯定理结合先验分布和观测数据,推导出参数的后验分布,并基于后验分布进行预测和不确定性量化

以下是贝叶斯回归的核心逻辑和步骤:

往期文章推荐:


一、核心思想:贝叶斯定理的回归形式

假设我们有一个线性回归模型:
y = w T x + ϵ y = \mathbf{w}^T \mathbf{x} + \epsilon y=wTx+ϵ
其中:

  • y y y 是因变量(连续值),
  • x \mathbf{x} x 是自变量(特征向量),
  • w \mathbf{w} w 是待求的权重系数(随机变量),
  • ϵ \epsilon ϵ 是噪声(通常假设服从 N ( 0 , σ 2 ) \mathcal{N}(0, \sigma^2) N(0,σ2))。

贝叶斯回归的目标是:计算参数 w \mathbf{w} w σ 2 \sigma^2 σ2 的后验分布
P ( w , σ 2 ∣ X , y ) ∝ P ( y ∣ X , w , σ 2 ) ⋅ P ( w , σ 2 ) P(\mathbf{w}, \sigma^2 | \mathbf{X}, \mathbf{y}) \propto P(\mathbf{y} | \mathbf{X}, \mathbf{w}, \sigma^2) \cdot P(\mathbf{w}, \sigma^2) P(w,σ2X,y)P(yX,w,σ2)P(w,σ2)
其中:

  • P ( y ∣ X , w , σ 2 ) P(\mathbf{y} | \mathbf{X}, \mathbf{w}, \sigma^2) P(yX,w,σ2)似然函数(数据生成模型),
  • P ( w , σ 2 ) P(\mathbf{w}, \sigma^2) P(w,σ2)先验分布(对参数的初始信念),
  • P ( w , σ 2 ∣ X , y ) P(\mathbf{w}, \sigma^2 | \mathbf{X}, \mathbf{y}) P(w,σ2X,y)后验分布(更新后的参数信念)。

二、关键步骤

1. 选择似然函数
  • 假设噪声 ϵ \epsilon ϵ 服从高斯分布,则观测值 y i y_i yi 的条件分布为:
    y i ∼ N ( w T x i , σ 2 ) y_i \sim \mathcal{N}(\mathbf{w}^T \mathbf{x}_i, \sigma^2) yiN(wTxi,σ2)
  • 整个数据集的似然函数为:
    P ( y ∣ X , w , σ 2 ) = ∏ i = 1 N N ( y i ∣ w T x i , σ 2 ) P(\mathbf{y} | \mathbf{X}, \mathbf{w}, \sigma^2) = \prod_{i=1}^N \mathcal{N}(y_i | \mathbf{w}^T \mathbf{x}_i, \sigma^2) P(yX,w,σ2)=i=1NN(yiwTxi,σ2)
2. 设置先验分布
  • 权重 w \mathbf{w} w 的先验:通常假设为高斯分布(共轭先验,便于计算):
    w ∼ N ( μ 0 , Σ 0 ) \mathbf{w} \sim \mathcal{N}(\mathbf{\mu}_0, \mathbf{\Sigma}_0) wN(μ0,Σ0)
    其中 μ 0 \mathbf{\mu}_0 μ0 是先验均值(如零向量), Σ 0 \mathbf{\Sigma}_0 Σ0 是先验协方差矩阵(如 λ − 1 I \lambda^{-1} \mathbf{I} λ1I)。
  • 噪声方差 σ 2 \sigma^2 σ2 的先验:常用逆伽马分布(Inverse-Gamma)或对数高斯分布。若假设 σ 2 \sigma^2 σ2 已知,可简化问题。
3. 计算后验分布
  • 目标:求解 P ( w , σ 2 ∣ X , y ) P(\mathbf{w}, \sigma^2 | \mathbf{X}, \mathbf{y}) P(w,σ2X,y)

  • 情况1: σ 2 \sigma^2 σ2 已知
    后验仍是高斯分布:
    w ∣ X , y ∼ N ( μ n , Σ n ) \mathbf{w} | \mathbf{X}, \mathbf{y} \sim \mathcal{N}(\mathbf{\mu}_n, \mathbf{\Sigma}_n) wX,yN(μn,Σn)
    其中:
    Σ n − 1 = Σ 0 − 1 + 1 σ 2 X T X \mathbf{\Sigma}_n^{-1} = \mathbf{\Sigma}_0^{-1} + \frac{1}{\sigma^2} \mathbf{X}^T \mathbf{X} Σn1=Σ01+σ21XTX
    μ n = Σ n ( Σ 0 − 1 μ 0 + 1 σ 2 X T y ) \mathbf{\mu}_n = \mathbf{\Sigma}_n \left( \mathbf{\Sigma}_0^{-1} \mathbf{\mu}_0 + \frac{1}{\sigma^2} \mathbf{X}^T \mathbf{y} \right) μn=Σn(Σ01μ0+σ21XTy)

    • 特殊情形:岭回归(Ridge Regression)
      μ 0 = 0 \mathbf{\mu}_0 = \mathbf{0} μ0=0, Σ 0 = λ − 1 I \mathbf{\Sigma}_0 = \lambda^{-1} \mathbf{I} Σ0=λ1I 时,后验均值 μ n \mathbf{\mu}_n μn 等价于岭回归的解。
  • 情况2: σ 2 \sigma^2 σ2 未知
    后验 P ( w , σ 2 ∣ X , y ) P(\mathbf{w}, \sigma^2 | \mathbf{X}, \mathbf{y}) P(w,σ2X,y) 是高斯-逆伽马分布(Conjugate Prior),或需用数值方法(如MCMC)近似。

4. 进行预测
  • 对于新样本 x ∗ \mathbf{x}_* x,预测其输出 y ∗ y_* y 的分布:
    P ( y ∗ ∣ x ∗ , X , y ) = ∫ P ( y ∗ ∣ x ∗ , w , σ 2 ) P ( w , σ 2 ∣ X , y )   d w d σ 2 P(y_* | \mathbf{x}_*, \mathbf{X}, \mathbf{y}) = \int P(y_* | \mathbf{x}_*, \mathbf{w}, \sigma^2) P(\mathbf{w}, \sigma^2 | \mathbf{X}, \mathbf{y}) \, d\mathbf{w} d\sigma^2 P(yx,X,y)=P(yx,w,σ2)P(w,σ2X,y)dwdσ2
  • 预测分布 P ( y ∗ ∣ x ∗ , X , y ) P(y_* | \mathbf{x}_*, \mathbf{X}, \mathbf{y}) P(yx,X,y)学生 t 分布(若 σ 2 \sigma^2 σ2 未知)或高斯分布(若 σ 2 \sigma^2 σ2 已知)。
  • 关键优势:贝叶斯回归不仅给出预测值 y ^ ∗ \hat{y}_* y^(如后验均值),还给出预测区间(如95%置信区间),量化不确定性。

三、实现方法

1. 解析解(共轭先验)
  • 仅适用于 w \mathbf{w} w σ 2 \sigma^2 σ2 的特定先验组合(如高斯-逆伽马先验)。
  • 优点:计算封闭解,无需迭代。
  • 缺点:模型假设受限(如必须为线性高斯)。
2. 数值近似方法
  • 马尔可夫链蒙特卡洛(MCMC)
    使用采样(如Gibbs采样、Hamiltonian Monte Carlo)从后验分布中抽取样本,用样本近似后验(工具:PyMC3、Stan)。
  • 变分推断(Variational Inference, VI)
    将后验分布近似为一个简单分布(如高斯),通过优化最小化KL散度(工具:Pyro、TensorFlow Probability)。
  • 拉普拉斯近似
    用高斯分布近似后验分布的众数(mode)。

四、贝叶斯回归 vs 传统回归

特性 传统线性回归 贝叶斯线性回归
参数意义 固定未知值 随机变量(有分布)
输出 点估计(如 w ^ \hat{\mathbf{w}} w^ 后验分布 P ( w ∣ X , y ) P(\mathbf{w} \mid \mathbf{X}, \mathbf{y}) P(wX,y)
预测 单值预测 预测分布(含不确定性区间)
正则化 显式添加(如L2岭回归) 通过先验分布自然引入(如高斯先验 ⇒ \Rightarrow L2正则)
过拟合 依赖正则化强度 先验分布自动控制模型复杂度
小样本表现 易过拟合 融入先验知识,更稳健

五、实际应用场景

  1. 不确定性敏感的预测
    • 金融风险评估(预测股价区间)、医疗诊断(预测药物剂量响应区间)。
  2. 小数据问题
    • 科学实验数据有限时,利用先验知识(如物理规律)提升模型鲁棒性。
  3. 在线学习/增量更新
    • 新数据到来时,后验分布可直接作为下一轮先验,实现增量更新。
  4. 自动化模型选择
    • 通过贝叶斯模型比较(如边缘似然)选择特征或超参数。
  5. 鲁棒回归
    • 使用长尾先验(如拉普拉斯先验 ⇒ \Rightarrow L1正则)处理异常值。

六、代码示例(Python)

使用 scikit-learn 的贝叶斯岭回归:

from sklearn.linear_model import BayesianRidge

# 数据准备
X, y = ...  # 训练数据

# 创建模型(可设置先验参数 alpha_0, beta_0, lambda_0 等)
model = BayesianRidge()

# 拟合模型(计算后验分布)
model.fit(X, y)

# 预测新样本(返回预测值 y_hat 和标准差 std)
y_hat, std = model.predict(X_new, return_std=True)

# 可视化预测区间
plt.plot(X_new, y_hat, 'b-', label="预测均值")
plt.fill_between(X_new.ravel(), y_hat - 2*std, y_hat + 2*std, alpha=0.2, label="95%区间")
plt.legend()

七、优势总结

  1. 天然正则化:通过先验分布避免过拟合。
  2. 不确定性量化:输出预测分布,支持风险敏感决策。
  3. 融入领域知识:先验分布可编码专家经验。
  4. 在线学习友好:后验传递实现增量更新。

八、挑战

  1. 计算复杂度高:MCMC/VI比最小二乘法慢。
  2. 先验选择主观:错误先验可能导致偏差。
  3. 模型假设限制:线性高斯模型可能不适合复杂数据(可通过贝叶斯神经网络扩展)。

关键点:贝叶斯回归不是追求更高的预测精度,而是通过概率建模实现更丰富的信息表达(如不确定性)和更稳健的小样本推断。

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!


网站公告

今日签到

点亮在社区的每一天
去签到