本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!
贝叶斯方法在回归问题中的应用被称为贝叶斯回归(Bayesian Regression)。与传统频率派的线性回归(如最小二乘法)不同,贝叶斯回归的核心思想是:将回归参数(如权重系数)视为随机变量,通过贝叶斯定理结合先验分布和观测数据,推导出参数的后验分布,并基于后验分布进行预测和不确定性量化。
以下是贝叶斯回归的核心逻辑和步骤:
往期文章推荐:
- 20.条件概率:不确定性决策的基石
- 19.深度解读概率与证据权重 -Probability and the Weighing of Evidence
- 18.WOE值:风险建模中的“证据权重”量化术——从似然比理论到FICO评分卡实践
- 17.KS值:风控模型的“风险照妖镜”
- 16.如何量化违约风险?信用评分卡的开发全流程拆解
- 15.CatBoost:征服类别型特征的梯度提升王者
- 14.XGBoost:梯度提升的终极进化——统治Kaggle的算法之王
- 13.LightGBM:极速梯度提升机——结构化数据建模的终极武器
- 12.PAC 学习框架:机器学习的可靠性工程
- 11.Boosting:从理论到实践——集成学习中的偏差征服者
- 10.GBDT:梯度提升决策树——集成学习中的预测利器
- 9.集成学习基础:Bagging 原理与应用
- 8.随机森林详解:原理、优势与应用实践
- 7.经济学神图:洛伦兹曲线
- 6.双生“基尼”:跨越世纪的术语撞车与学科分野
- 5.CART算法全解析:分类回归双修的决策树之王
- 4.C4.5算法深度解析:决策树进化的里程碑
- 3.决策树:化繁为简的智能决策利器
- 2.深入解析ID3算法:信息熵驱动的决策树构建基石
- 1.类图:软件世界的“建筑蓝图”
一、核心思想:贝叶斯定理的回归形式
假设我们有一个线性回归模型:
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,σ2∣X,y)∝P(y∣X,w,σ2)⋅P(w,σ2)
其中:
- P ( y ∣ X , w , σ 2 ) P(\mathbf{y} | \mathbf{X}, \mathbf{w}, \sigma^2) P(y∣X,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,σ2∣X,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) yi∼N(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(y∣X,w,σ2)=i=1∏NN(yi∣wTxi,σ2)
2. 设置先验分布
- 权重 w \mathbf{w} w 的先验:通常假设为高斯分布(共轭先验,便于计算):
w ∼ N ( μ 0 , Σ 0 ) \mathbf{w} \sim \mathcal{N}(\mathbf{\mu}_0, \mathbf{\Sigma}_0) w∼N(μ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,σ2∣X,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) w∣X,y∼N(μ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} Σn−1=Σ0−1+σ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(Σ0−1μ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 等价于岭回归的解。
- 特殊情形:岭回归(Ridge Regression)
情况2: σ 2 \sigma^2 σ2 未知
后验 P ( w , σ 2 ∣ X , y ) P(\mathbf{w}, \sigma^2 | \mathbf{X}, \mathbf{y}) P(w,σ2∣X,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(y∗∣x∗,X,y)=∫P(y∗∣x∗,w,σ2)P(w,σ2∣X,y)dwdσ2 - 预测分布 P ( y ∗ ∣ x ∗ , X , y ) P(y_* | \mathbf{x}_*, \mathbf{X}, \mathbf{y}) P(y∗∣x∗,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(w∣X,y) |
预测 | 单值预测 | 预测分布(含不确定性区间) |
正则化 | 显式添加(如L2岭回归) | 通过先验分布自然引入(如高斯先验 ⇒ \Rightarrow ⇒ L2正则) |
过拟合 | 依赖正则化强度 | 先验分布自动控制模型复杂度 |
小样本表现 | 易过拟合 | 融入先验知识,更稳健 |
五、实际应用场景
- 不确定性敏感的预测
- 金融风险评估(预测股价区间)、医疗诊断(预测药物剂量响应区间)。
- 小数据问题
- 科学实验数据有限时,利用先验知识(如物理规律)提升模型鲁棒性。
- 在线学习/增量更新
- 新数据到来时,后验分布可直接作为下一轮先验,实现增量更新。
- 自动化模型选择
- 通过贝叶斯模型比较(如边缘似然)选择特征或超参数。
- 鲁棒回归
- 使用长尾先验(如拉普拉斯先验 ⇒ \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()
七、优势总结
- 天然正则化:通过先验分布避免过拟合。
- 不确定性量化:输出预测分布,支持风险敏感决策。
- 融入领域知识:先验分布可编码专家经验。
- 在线学习友好:后验传递实现增量更新。
八、挑战
- 计算复杂度高:MCMC/VI比最小二乘法慢。
- 先验选择主观:错误先验可能导致偏差。
- 模型假设限制:线性高斯模型可能不适合复杂数据(可通过贝叶斯神经网络扩展)。
关键点:贝叶斯回归不是追求更高的预测精度,而是通过概率建模实现更丰富的信息表达(如不确定性)和更稳健的小样本推断。
本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!