Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Conformal Prediction

保形预测可将任意模型的分数转换为预测集合或区间,使其以指定的概率(例如 95%)包含真实答案。

保形预测是一种不确定性量化框架,可将任意训练模型的分数转换为预测集合或区间,并保证其以用户指定的比例(例如 95%)包含真实答案。保形图像分类器会返回所有仍有可能的标签:清晰图像对应一个标签,模糊图像则对应多个标签;保形回归器则会返回一个区间。只要校准数据与新数据具有可交换性,这种保证就适用于任何模型和任何数据分布;来自同一来源的独立样本就具有这种性质。Vladimir Vovk、Alexander Gammerman 和 Glenn Shafer 从 20 世纪 90 年代末开始发展这一方法,并在 2005 年出版的《随机世界中的算法学习》中加以阐述;Anastasios Angelopoulos 和 Stephen Bates 于 2021 年发表的教程《保形预测简明入门》介绍了机器学习中使用的现代方法。

拆分保形预测的工作原理#

原始的完整保形方法会针对每个候选答案重新拟合模型,这对于深度学习来说太慢了。由 Harris Papadopoulos 及其同事于 2002 年提出的拆分式(或归纳式)保形预测只需要一个训练好的模型和一个留出的校准集:

  1. 像往常一样,使用训练数据训练模型。
  2. 在模型未见过的 n 个带标签校准样例上运行模型,并为每个样例计算一个非一致性分数。这个数值越大,表示模型认为真实答案越不典型。对于分类器,一个常见的分数是 1 减去模型分配给真实类别的概率。
  3. 取这些分数的 ceil((n + 1) x (1 - alpha)) / n 分位数,称为 qhat。其中的 (n + 1) 项是一种有限样本修正,可使保证精确成立。
  4. 对于新的输入,将分数不超过 qhat 的所有候选标签都纳入集合。

由此得到的集合以至少 1 - alpha 的概率包含真实标签。由于新样例的分数与 n 个校准分数可交换,因此它在这些分数中的任意排名上出现的可能性相同,所以它至少有 1 - alpha 的概率落在 qhat 以内。

保证的适用范围#

这项保证是边际性的:它在所有输入上取平均后成立。模型可能对容易分类的类别覆盖过多,却对罕见类别覆盖不足,因此按类别条件(Mondrian)的保形预测会为每个类别单独校准一个 qhat。可交换性是唯一的假设;当发生数据漂移,即生产环境中的图像与校准图像不同时,这个假设就会失效。因此,校准集必须来自部署数据,并在数据变化时更新。校准集中的数据集偏差会直接反映在预测集合中。

集合大小是有用的信号。所有有效方法都能达到目标覆盖率,因此方法之间比拼的是集合有多小,而准确度更高的模型会得到更小的集合。自适应预测集(APS)和正则化自适应预测集(RAPS)——后者在ImageNet分类器上经过测试——使用累积概率,使集合大小能反映难度;保形化分位数回归则会在数据噪声较大的区域生成更宽的区间。

保形预测与三个相关概念有所不同。置信度分数是一个不附带任何保证的单一数值。温度缩放等校准方法能让分数更好地匹配观测到的准确率,从而缩小保形集合,但它们本身不保证覆盖率。统计置信区间描述的是总体参数(例如均值)的不确定性,而保形集合描述的是单个新结果可能落入的范围。

实践中的预测集合#

下面使用 scikit-learn 实现上述步骤,并刻意使用较小的训练集,让分类器产生一些错误:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

# Split handwritten digits into training, calibration, and test sets
X, y = load_digits(return_X_y=True)
X_train, X_rest, y_train, y_rest = train_test_split(X, y, train_size=100, random_state=0)
X_cal, X_test, y_cal, y_test = train_test_split(X_rest, y_rest, train_size=500, random_state=0)
model = LogisticRegression(max_iter=2000).fit(X_train, y_train)

# Nonconformity score: 1 minus the probability given to the true class
scores = 1 - model.predict_proba(X_cal)[np.arange(len(y_cal)), y_cal]

# Finite-sample corrected quantile for 95% coverage
alpha, n = 0.05, len(y_cal)
qhat = np.quantile(scores, np.ceil((n + 1) * (1 - alpha)) / n, method="higher")

# Prediction set: every class whose score is at most qhat
sets = 1 - model.predict_proba(X_test) <= qhat
coverage = sets[np.arange(len(y_test)), y_test].mean()
print(f"Top-1 accuracy: {model.score(X_test, y_test):.3f}")
print(f"Set coverage: {coverage:.3f}, average set size: {sets.sum(axis=1).mean():.2f}")

单独看排名最高的预测时,正确率为 91.6%;在 1,197 张测试图像中,保形集合有 96.5% 包含真实数字,高于 95% 的目标覆盖率,平均每个集合包含 1.27 个标签。MAPIE 等库将这些步骤封装起来,支持分类、回归和时间序列任务。

应用场景#

  • 医学图像分析:一组具有已知错误率的可能诊断结果,能在扫描结果含糊时提醒医疗保健临床医生;而只包含一个标签的集合则标示出模型能够可靠处理的病例。
  • 大型语言模型 (LLMs):保形方法会校准应返回多少个采样答案,或应保留哪些主张,使输出以指定概率包含正确答案;这可与语义熵互为补充,作为防范幻觉的手段。
  • 目标检测:围绕预测的边界框设置保形边界,可得到一个以指定概率包含真实框的区域,这有助于自动驾驶汽车在行人周围规划路线。

图像分类器提供的输入与 scikit-learn 示例相同。Ultralytics YOLO26分类模型会为 results[0].probs.data 中的每张图像返回完整的 softmax 向量,因此只要对留出的带标签图像集评分,就能得到 qhat;所有概率至少为 1 - qhat 的类别都会纳入预测集合。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来