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) / 标签噪声 数据增多也不消失 认知不确定性 参数知识不足 参数后验 p(θ|D) 的分散 数据增多可削减 模型不确定性 结构/先验假设可能错误 模型后验 p(Mₖ|D) 需跨模型比较 预测分布 p(y*|x*, D) 总不确定性 = 偶然 + 认知(+ 模型) 回归:全方差公式 Var[y*] = E[Var(y*|θ)] + Var(E[y*|θ]) 偶然 ≈ 平均噪声方差 σ²ₘ 认知 ≈ 预测均值的样本方差 M 次后验采样估计,两项相加为总方差 分类:熵与互信息分解 H[y*] = I(y*;θ) + E[H(y*|θ)] 认知 = 互信息 I(y*;θ) 偶然 = 条件熵的期望 平均预测熵 − 各样本熵均值 = 互信息

实操示例:一个异方差回归的分解流程

假设我们用一个贝叶斯神经网络拟合一维回归数据,训练点集中在 x∈[−2, 2],测试点取 x*=0(内插)与 x*=4(外推)。模型输出均值 μ_θ(x) 与对数方差 log σ²_θ(x),先验取标准正态,用 HMC 采样 1000 个后验样本(示例参数,非实测)。按前述公式计算可得类似下表的结果(数值为教学示例,用于说明量级关系):

测试点偶然不确定性认知不确定性总方差判读
x*=0(内插)0.040.010.05数据充分,认知项小
x*=4(外推)0.050.620.67认知项主导,应补数据或收窄先验

判读逻辑是:若总不确定性主要来自偶然项,继续采同类数据收益有限,应考虑改进测量或接受噪声;若主要来自认知项,说明该区域参数后验仍宽,增加覆盖该区域的数据或引入更强先验更有效;若跨模型预测差异显著,则优先处理模型结构问题,而不是盲目加数据。

分解结果依赖于后验采样质量与噪声建模方式。若 σ² 被设为常数,偶然项会被系统性低估或高估;若后验采样未收敛,认知项会被高估。报告分解前应先检查 R̂、有效样本数与后验预测校验。
不要把模型不确定性简单等同于“模型间预测方差”。当候选模型集合不完整时,该方差只是下界;当模型高度相关时,又会低估真实的结构风险。模型集合的构造本身需要领域判断。

总结来看,三类不确定性在贝叶斯框架下各有明确的数学载体:偶然性落在似然噪声,认知性落在参数后验,模型性落在模型后验。分解的价值不在于得到一个漂亮的三元组数字,而在于让“下一步该做什么”有据可依——补数据、调先验,还是换结构。