4. 不确定性分类与量化
在贝叶斯建模中,“不确定性”并不是一个笼统的概念。同一个预测分布之所以宽,可能来自数据本身的随机性,也可能来自我们对参数知道得太少,还可能来自模型结构本身选错了。如果不在建模阶段把这几类来源区分开,后续的校准、主动学习和决策就会失去方向:你无法判断是该多采数据、该换先验,还是该改模型结构。本节围绕三类不确定性的贝叶斯表示与分解方法展开,并给出可操作的实现路径。
三类不确定性的定义与贝叶斯表示
偶然不确定性(aleatoric uncertainty)指数据生成过程中固有的随机性,例如传感器噪声、个体差异、测量误差。它的关键特征是:即使收集无限多同类数据,这部分不确定性也不会消失。在贝叶斯框架下,它通常由似然函数中的噪声项表示。以回归为例,若设
y = f(x; θ) + ε, ε ~ N(0, σ²(x))
则 σ²(x) 刻画的就是偶然不确定性。若 σ² 与 x 无关称为同方差,若随 x 变化(如 σ²(x) 由神经网络输出)称为异方差。分类任务中,它体现为标签本身的不可约混淆,例如同一张模糊图像被不同标注者给出不同标签,可用标签噪声分布或 Dirichlet 先验来建模。
认知不确定性(epistemic uncertainty)指由于知识不足导致的对参数或模型的不确定,例如训练数据稀疏、覆盖不足。它的关键特征是:随着数据增多,这部分不确定性可以被削减。在贝叶斯框架下,它由参数后验 p(θ|D) 的分散程度表示。对输入 x* 的预测分布为
p(y*|x*, D) = ∫ p(y*|x*, θ) p(θ|D) dθ
该积分对 θ 的离散程度正是认知不确定性的来源。数据越集中在 x* 附近,后验越尖锐,认知不确定性越小;在远离训练数据的区域,后验宽散,认知不确定性增大。
模型不确定性(model uncertainty)指模型结构、特征集合、先验假设本身可能不正确所带来的不确定。它比认知不确定性更高一层:认知不确定性假设“模型类是对的,只是参数未知”,而模型不确定性承认“模型类本身可能就是错的”。贝叶斯框架下常用模型空间上的后验表示:给定候选模型集合 {M₁, …, M_K},
p(y*|x*, D) = Σ_k p(y*|x*, M_k) p(M_k|D)
其中 p(M_k|D) 由边缘似然(模型证据)更新。模型不确定性因此表现为模型后验的分散,以及模型间预测的差异。
分解方法:从预测分布中拆出两类可量化成分
对连续回归,最常用的分解是全方差公式。设预测分布为 p(y*|x*, D),则
Var[y*|x*, D] = E_{p(θ|D)}[Var(y*|x*, θ)] + Var_{p(θ|D)}(E[y*|x*, θ])
= 偶然不确定性 + 认知不确定性
第一项是各参数样本下似然噪声方差的期望,对应偶然不确定性;第二项是各参数样本预测均值的方差,对应认知不确定性。实操中,用 M 次后验采样(MCMC 样本或 MC Dropout 采样)估计:
aleatoric ≈ (1/M) Σ_m σ²_m(x*)
epistemic ≈ (1/M) Σ_m (μ_m(x*) - μ̄(x*))²
total = aleatoric + epistemic
其中 μ_m、σ²_m 为第 m 个参数样本下的预测均值与噪声方差。若模型只输出点预测而无噪声项,则只能得到认知部分,需额外建模 σ² 才能拆出偶然部分。
对分类任务,常用互信息分解。以熵表示总不确定性:
H[y*|x*, D] = I(y*; θ|x*, D) + E_{p(θ|D)}[H(y*|x*, θ)]
总不确定性 认知(互信息) 偶然(条件熵期望)
互信息越大,说明不同参数样本给出的类别分布分歧越大,即认知不确定性越高;条件熵期望反映各参数样本内部标签本身的混淆程度,即偶然不确定性。实现上同样用 M 次后验采样,对每个样本计算预测概率向量,再分别求平均预测熵与各样本熵的均值,两者之差即互信息。
模型不确定性的量化与纳入
模型不确定性无法用单模型的后验采样直接得到,需要跨模型比较。常用做法有三类:其一,贝叶斯模型平均,按后验模型概率 p(M_k|D) 加权各模型预测,权重由边缘似然计算;其二, stacking 或伪贝叶斯模型平均,用留出数据上的预测表现估计权重,避免边缘似然对先验过于敏感;其三,模型扩展,把结构选择参数化(如变量选择指示子、稀疏先验),使模型不确定性转化为参数后验的一部分,从而与认知不确定性在同一框架下采样。
需要强调的是,模型不确定性与认知不确定性在概念上可分离,但在有限样本下往往相互纠缠:模型后验分散会同时抬高参数后验的分散。因此报告分解结果时应说明所采用的模型集合与权重估计方式,避免把“模型选错”误读为“参数没学够”。
实操示例:一个异方差回归的分解流程
假设我们用一个贝叶斯神经网络拟合一维回归数据,训练点集中在 x∈[−2, 2],测试点取 x*=0(内插)与 x*=4(外推)。模型输出均值 μ_θ(x) 与对数方差 log σ²_θ(x),先验取标准正态,用 HMC 采样 1000 个后验样本(示例参数,非实测)。按前述公式计算可得类似下表的结果(数值为教学示例,用于说明量级关系):
| 测试点 | 偶然不确定性 | 认知不确定性 | 总方差 | 判读 |
|---|---|---|---|---|
| x*=0(内插) | 0.04 | 0.01 | 0.05 | 数据充分,认知项小 |
| x*=4(外推) | 0.05 | 0.62 | 0.67 | 认知项主导,应补数据或收窄先验 |
判读逻辑是:若总不确定性主要来自偶然项,继续采同类数据收益有限,应考虑改进测量或接受噪声;若主要来自认知项,说明该区域参数后验仍宽,增加覆盖该区域的数据或引入更强先验更有效;若跨模型预测差异显著,则优先处理模型结构问题,而不是盲目加数据。
总结来看,三类不确定性在贝叶斯框架下各有明确的数学载体:偶然性落在似然噪声,认知性落在参数后验,模型性落在模型后验。分解的价值不在于得到一个漂亮的三元组数字,而在于让“下一步该做什么”有据可依——补数据、调先验,还是换结构。