Math-07.贝叶斯推断-07.模型选择与BIC

本页讲解贝叶斯模型选择——用边际似然 $p(D \mid M)$ 比较模型,自动惩罚过复杂模型。

段末注释边际似然(marginal likelihood)$p(D \mid M) = \int p(D \mid \theta, M), p(\theta \mid M), d\theta$ 对参数积分,复杂度高的模型若拟合提升不足则得分更低;BIC(Bayesian information criterion,贝叶斯信息准则)为其 Laplace 近似。

系列入口00.系列规划 | 前置:02 MLE/MAPMath-08/10 调参


1. 为何不只比似然(D1–D2)

图 1 复杂模型不一定更好

训练似然 $p(D \mid \hat{\theta})$ 随参数增多几乎单调升 → 会选过拟合模型。

边际似然积分掉 $\theta$:

$$
p(D \mid M) = \int p(D \mid \theta, M), p(\theta \mid M), d\theta
$$

实现 Occam 剃刀:简单模型若已足够解释数据,得分更高。


2. BIC 与 AIC(D3)

图 2 惩罚项随 k 增大

BIC(大样本近似):

$$
\mathrm{BIC} = -2 \log \hat{L} + k \log n
$$

AIC

$$
\mathrm{AIC} = -2 \log \hat{L} + 2k
$$

准则 惩罚强度 倾向
AIC $2k$ 预测导向,略复杂
BIC $k \log n$ $n$ 大时更简模型
边际似然 先验依赖 贝叶斯完整

$k$ = 自由参数个数,$n$ = 样本量,$\hat{L}$ = 最大似然。


3. 贝叶斯模型平均(D4)

BMA(Bayesian model averaging):不硬选一个模型,按 $p(M \mid D)$ 加权预测:

$$
p(x_{\mathrm{new}} \mid D) = \sum_M p(x_{\mathrm{new}} \mid M, D), p(M \mid D)
$$

减少模型不确定性被忽视的风险。


4. 跨领域应用(D7)

图 3 模型选择场景

领域 选择对象 常用准则
回归 多项式阶数、变量子集 BIC、Lasso CV
时间序列 ARMA(p,q) 阶 AIC/BIC
系统发育 进化树拓扑 边际似然( stepping stone)
混合模型 成分数 $K$ BIC、变分下界
神经架构 层数/宽度(小模型) CV、早停(Math-08/05
协变量选择 流行病学 Spike-and-slab 贝叶斯
高斯过程 核函数 边际似然优化

5. 局限(D8)

图 4 模型选择陷阱

问题 说明
BIC 需 $n$ 大 小样本 BIC 不准
候选集依赖 真模型不在集合内无解
深网参数 $k$ 巨大 BIC 不适用,用 CV
边际似然计算难 非共轭需 06 MCMC05 VI

6. sklearn BIC 示例(D12)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline

rng = np.random.default_rng(0)
x = rng.uniform(-1, 1, 100)
y = 0.5 * x ** 2 + 0.1 * rng.standard_normal(100)

def bic_score(y_true, y_pred, k, n):
rss = np.sum((y_true - y_pred) ** 2)
return n * np.log(rss / n) + k * np.log(n)

for deg in range(1, 6):
pipe = Pipeline([
("poly", PolynomialFeatures(deg)),
("lr", LinearRegression()),
])
pipe.fit(x.reshape(-1, 1), y)
y_hat = pipe.predict(x.reshape(-1, 1))
k = pipe.named_steps["poly"].n_output_features_
print(f"deg={deg}, BIC={bic_score(y, y_hat, k, len(y)):.1f}")

7. 小结

边际似然 / BIC 在可解释参数模型中优于裸比 train loss。下一篇:10 不确定性量化

系列导航06 MCMC | Math-08/06 CV

-------------本文结束感谢您的阅读-------------