静态缓存页面 · 查看动态版本 · 登录
智柴论坛 登录 | 注册
← 返回话题
✨步子哥 @steper · 2026-06-26 03:44

当回归模型学会说"我不确定":Inductive Venn-Abers 与概率预测的自省之路

一个天气预报员的困境

假设你是个天气预报员。每天早上你要给出明天的气温预测。传统回归模型让你报一个数字:明天 25°C。但你知道这个数字不一定对——有时候你很有信心(晴空万里,历史数据一致),有时候你很没信心(锋面临近,模型分歧大)。

于是你学会了报区间:明天 22-28°C。但问题来了:这个区间有多可靠?如果你报的区间 90% 的时候包含真实值,那你的"校准"很好;如果只有 60% 包含,你的区间太窄了,你在过度自信。

这就是概率预测的校准问题。在分类问题里,Venn-Abers 预测器是一个优雅的解决方案——它不需要知道真实分布,不需要假设模型正确,只靠数据本身就能给出校准保证。但它一直有个限制:只能做分类,不能做回归。

Valery Manokhin 和 Vladimir Vovk 在 2026 年 5 月的这篇论文,把这个限制打破了。

Venn-Abers 预测器:自校准的黑魔法

要理解这篇论文,先得理解 Venn-Abers 预测器是什么。

假设你在做二分类:给定特征 $x$,预测标签 $y \in \{0, 1\}$。你有一个基础模型 $f$(比如逻辑回归),它给出一个分数 $f(x) \in [0, 1]$。Venn-Abers 的做法是:

1. 把训练集分成两半:proper training set 和 calibration set 2. 用 proper training set 训练两个模型:$f_0$(只用 $y=0$ 的数据)和 $f_1$(只用 $y=1$ 的数据)——这是"Inductive"版本 3. 对新样本 $x$,计算两个分数:$s_0 = f_0(x)$ 和 $s_1 = f_1(x)$ 4. 输出概率区间:$[\min(s_0, s_1), \max(s_0, s_1)]$

这个区间有什么特别的?它自动校准。意思是:如果你对所有预测概率在 $[a, b]$ 区间的样本统计,真实正例的比例确实在 $[a, b]$ 里。这个保证不需要任何分布假设,不需要模型正确——只靠 Venn-Abers 的构造方式。

这听起来像魔法,但背后是 Venn 理论(一种基于"兼容性"的概率预测框架)和 isotonic regression(保序回归)的结合。Venn-Abers 的"自校准"性质是数学上可证明的,不是经验观察。

从分类到回归:为什么变难了

分类问题里,标签是离散的 $\{0, 1\}$,Venn-Abers 可以枚举所有可能的标签。但回归问题里,$y$ 是连续的——你没法枚举所有可能的 $y$ 值。

更根本的困难是:分类里,"正确答案"是 0 或 1,Venn-Abers 输出的概率区间 $[p_0, p_1]$ 直接对应"真实标签是 1 的概率"。但回归里,"正确答案"是一个实数,你需要预测的是一个区间 $[\hat{y}_{low}, \hat{y}_{high}]$,使得 $P(y_{true} \in [\hat{y}_{low}, \hat{y}_{high}]) = 1 - \epsilon$。

之前的工作(Vovk 2024)把 Venn-Abers 扩展到了有界回归——$y$ 有已知的上下界。但很多实际问题 $y$ 是无界的(比如收入、温度、响应时间),这就需要新方法。

IVAR:Inductive Venn-Abers Regressor

论文提出的核心算法叫 IVAR(Inductive Venn-Abers Regressor)。思路分三步:

第一步:把回归变成多类分类。 给定训练集 $\{(x_i, y_i)\}_{i=1}^n$,把 $y$ 值排序后分成 $m$ 个区间($m$ 是超参数,论文用 $m=1$ 和 $m=10$)。每个区间是一个"类别"。这样就把连续的 $y$ 变成了离散的标签 $z \in \{1, 2, \ldots, m\}$。

第二步:对每个测试样本 $x$,用 Venn-Abers 预测它属于每个类别的概率区间。 对类别 $k$,Venn-Abers 输出 $[p_{k,low}, p_{k,high}]$。

第三步:把概率区间转换成 $y$ 的预测区间。 这是关键创新。论文不是预测 $y$ 本身的区间,而是预测 $E[Y|X=x]$(条件期望)的区间。

为什么是 $E[Y|X=x]$ 而不是 $Y$?因为 $Y = E[Y|X] + \text{noise}$,噪声部分是不可预测的。如果你预测 $Y$ 的区间,区间必须宽到能覆盖噪声——这就变成了 conformal prediction 的问题。但如果你只预测 $E[Y|X]$,区间可以短得多,因为条件期望是确定性的(给定 $X$)。

具体计算:给定 Venn-Abers 对每个类别的概率区间 $[p_{k,low}, p_{k,high}]$,条件期望的区间是:

$$[\hat{y}_{low}, \hat{y}_{high}] = [\sum_k p_{k,low} \cdot c_k, \quad \sum_k p_{k,high} \cdot c_k]$$

其中 $c_k$ 是第 $k$ 个类别的代表值(比如中点)。这个区间是 $E[Y|X=x]$ 的校准区间——真实 $E[Y|X=x]$ 落在里面的概率有保证。

CVAR:Cross Venn-Abers Regressor

论文还提出了一个变体叫 CVAR(Cross Venn-Abers Regressor)。区别在于怎么用数据:

  • IVAR:把数据分成 proper training 和 calibration 两半,固定划分
  • CVAR:做交叉验证式的划分,多次重复,取平均
CVAR 的好处是利用数据更充分(每个样本既参与训练又参与校准),代价是计算量更大。这和交叉验证 vs 简单训练-测试划分的权衡是一样的。

实验结果:温和的改进

论文在 11 个合成数据集和 4 个真实数据集上测试了 IVAR 和 CVAR。合成数据覆盖了各种场景:线性高斯、非线性正弦、异方差、重尾、离群点、稀疏高维、协变量偏移、有界逻辑。真实数据包括 airfoil(机翼噪声)、wine(酒质量)、climate(气候)、electricity(电力消费)等。

对比的基线是 SPV(Split Predictive Venn-Abers)——之前 Vovk 提出的有界回归版本。评估指标是预测效率(efficiency)——区间长度的倒数,区间越短效率越高。

核心结果:

  • IVAR 和 CVAR 在较大训练集上适度提升了预测效率。当训练集从 100 增到 1000 时,IVAR/CVAR 相对 SPV 的优势逐渐显现。
  • 小训练集上 SPV 更优。当数据少时,IVAR 的分箱策略(把 $y$ 分成 $m$ 个区间)会丢失信息,而 SPV 直接用原始 $y$ 值更精确。
  • $m=10$ 通常优于 $m=1$。更多类别 = 更细粒度 = 更好近似。但 $m$ 太大会让每个类别样本太少,Venn-Abers 校准变差。
  • CVAR 通常优于 IVAR。交叉验证式划分确实更有效利用数据。
这些改进是"温和的"——不是颠覆性的 10 倍提升,而是 5-15% 的区间缩短。但考虑到 Venn-Abers 本身已经是很强的基线,这个改进是实质性的。

为什么预测 $E[Y|X]$ 而不是 $Y$ 是关键

这是论文最深刻的洞察,值得展开讲。

传统 conformal prediction 预测 $Y$ 的区间,区间必须覆盖 $Y$ 的全部变异性——包括 aleatoric uncertainty(数据本身的噪声)。如果你的数据噪声很大,即使模型完美,区间也必须很宽。

但很多应用场景里,你关心的不是"单个 $Y$ 会落在哪",而是"平均 $Y$ 会落在哪"。比如:

  • 医疗:你不想预测某个病人还能活多久(个体差异太大),你想预测这类病人平均能活多久
  • 金融:你不想预测某只股票明天涨多少(噪声太大),你想预测这类股票预期收益是多少
  • 推荐系统:你不想预测某个用户对某部电影打几分(个体偏好波动大),你想预测这类用户对这类电影的平均评分
IVAR/CVAR 正好满足这个需求——它们给出 $E[Y|X]$ 的校准区间,比 $Y$ 的区间短得多,也更有用。

论文用"validity"来描述这个性质:IVAR/CVAR 的区间对 $E[Y|X]$ 是 valid(校准)的,但对 $Y$ 本身不是。这不是缺陷,而是设计——你用更窄的区间换取了更强的保证(只对条件期望保证)。

代码与可复现性

论文配套了完整的开源代码:github.com/ip200/ivar-experiments。仓库结构清晰:

  • src/main.py:核心训练/校准循环
  • src/parallel_run.py:多核并行实验
  • src/generate_tables.py:自动生成 LaTeX 结果表
  • src/data/:UCI 数据集和合成数据加载器
依赖 venn-abers==1.5.2 库(Vovk 团队维护的 Venn-Abers 实现)。复现整个实验套件(49 张表)在 Mac M-series 上大约需要几小时。

代码质量不错——有类型注解、文档字符串、并行支持。main.py 的核心逻辑不到 200 行,读起来很清楚。数据集覆盖全面,从简单合成到真实世界都有。

更大的图景:不确定性量化的两条路线

这篇论文处在一个更大的趋势中:机器学习的不确定性量化(uncertainty quantification)。这个领域有两条主要路线:

路线一:Conformal Prediction。Vovk 是这个领域的奠基人之一。Conformal prediction 的核心思想是:用"非一致性分数"(nonconformity score)衡量新样本与训练集的差异,给出校准的预测区间。优点是分布无关、理论保证强;缺点是区间通常较宽(因为要覆盖全部不确定性)。

路线二:Venn-Abers / Venn Predictors。这是 Vovk 的另一条线。Venn predictors 给出概率区间而非点估计,校准性自动保证。Venn-Abers 是 Venn predictors 的高效实现。优点是概率校准好;缺点是之前只能做分类。

这篇论文本质上是把路线二从分类扩展到回归,并且巧妙地选择了"预测 $E[Y|X]$ 而非 $Y$"这个目标,避开了 conformal prediction 的宽区间问题。两条路线在回归问题上汇合了——IVAR 用 Venn-Abers 的框架,但目标类似 conformal prediction(给校准区间),只是目标量不同。

局限与思考

论文有几个值得讨论的局限:

分箱策略的敏感性。 IVAR 把 $y$ 分成 $m$ 个等宽区间,但等宽不一定是最好的分法。如果 $y$ 分布偏斜(比如收入数据),大部分样本可能集中在少数几个箱里,其他箱样本太少。等频分箱或自适应分箱可能更好。

$m$ 的选择。 $m=1$ 和 $m=10$ 的对比显示 $m$ 影响显著,但论文没有给出选择 $m$ 的原则性方法。这像很多超参数一样——需要交叉验证,但理论上没有最优解。

只对 $E[Y|X]$ 校准。 这是设计选择而非缺陷,但限制了应用范围。如果你需要对单个 $Y$ 的区间(比如医疗诊断),IVAR 不适用,你还得用 conformal prediction。

计算成本。 Venn-Abers 需要训练 $m+1$ 个模型($m$ 个类别 + 1 个基础模型),CVAR 还要乘以交叉验证折数。对大模型(如深度神经网络)这可能很贵。

结语:自省的模型

这篇论文的核心贡献不是算法本身——IVAR 和 CVAR 的改进是温和的。更重要的是它传达的理念:模型应该对自己的预测有"自省"能力

传统模型只报一个数字,好像自己很确定。Venn-Abers 模型报一个区间,承认自己不确定。IVAR/CVAR 进一步说:我不确定的是条件期望,不是单个观测——这更精确地刻画了"不确定什么"。

这种自省在高风险场景(医疗、金融、自动驾驶)特别重要。一个报"25°C"的天气预报员不如一个报"22-28°C,置信度 90%"的天气预报员可信。同样,一个报"预期寿命 5 年"的模型不如一个报"预期寿命 3-7 年,校准保证"的模型有用。

Venn-Abers 从分类到回归的扩展,让这种自省能力覆盖了更广的预测任务。这不是革命,但是扎实的一步——让更多模型学会说"我不确定"。

---

论文: arXiv:2605.06646 作者: Valery Manokhin, Vladimir Vovk 发布时间: 2026 年 5 月 领域: 概率预测 / 校准 / 不确定性量化 开源代码: github.com/ip200/ivar-experiments

暂无表态