Conformal Prediction
了解保序预测如何为 AI 提供与分布无关的不确定性估计。使用 Ultralytics YOLO26 实现预测集,确保模型结果可靠。
保形预测是机器学习(ML)中的一种统计框架,可为模型预测提供与分布无关的不确定性度量。它不会只输出单个点预测(例如某个特定的类别标签),而是输出一个预测集或区间,以用户指定的概率(例如 90% 或 95%)包含真实值。该框架可以封装在任何人工智能(AI)模型外部,无需更改模型架构即可提供正式的统计保证。如需查看最新工具和研究的完整列表,你可以浏览 Awesome Conformal Prediction 仓库。
保形预测的工作原理#
其基本机制是使用非一致性分数,通过将新预测与过去的示例进行比较来评估该预测的异常程度。
- 模型训练:首先使用标准训练数据集训练基线模型。
- 校准阶段:将独立的留出校准数据集输入训练好的模型。为每个预测计算非一致性分数,例如图像分类中的逆概率。
- 分位数计算:确定目标置信水平(例如 95%),并找到这些校准分数对应的分位数,以构建预测集。
- 推理应用:在实时推理期间评估新输入,并纳入所有分数低于校准分位数的可能标签。
你可以在 A Gentle Introduction to Conformal Prediction 教程中探索该方法的数学证明,或了解用于处理时间不确定性的时间序列预测方法。
保形预测与相关术语的区别#
必须将该框架与模型测试期间使用的标准指标区分开来:
- 保形预测与置信度分数:标准置信度分数反映模型的内部确信程度,但通常校准不佳,也缺乏数学保证。保形预测会将这些原始分数转换为具有保证的集合。如需了解传统调整方法,请参阅 scikit-learn 的概率校准。
- 保形预测与准确率:准确率是描述模型在整个数据集上预测正确频率的全局历史指标,而保形推理则为每个新的预测提供局部、实例级别的区间。
实际应用#
在了解模型盲点至关重要的高风险领域,保形预测不可或缺。
- 医学诊断:在医疗保健中利用 AI 分析扫描结果时,模型可能会输出一组合理的诊断,而不是单个可能错误的类别。这可以确保临床医生调查所有可行的可能性,并支持近期关于可靠的基因组医学和医学影像的研究。
- 自动驾驶:在汽车系统中的 AI 应用中,将预测区间应用于目标检测可以围绕行人生成空间置信区域,使车辆制动系统能够安全地将最坏情况下的运动纳入考量。
实现预测集#
MAPIE(模型无关预测区间估计器)等库为 Python 提供了内置工具,而回归任务通常会使用保形分位数回归。你也可以使用 Ultralytics YOLO26 等高级模型的概率来实现基本的保形预测逻辑。以下示例使用 YOLO26 分类概率构建预测集,模拟持续纳入排名靠前的类别直到达到累计阈值的逻辑。
from ultralytics import YOLO
# Load an Ultralytics YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Simple conformal-style prediction set logic based on cumulative probability
target_coverage = 0.95
prediction_set = []
cumulative_prob = 0.0
# Sort probabilities in descending order using the results object
probs = results[0].probs
sorted_indices = probs.top5
for idx in sorted_indices:
class_name = results[0].names[idx]
class_prob = probs.data[idx].item()
prediction_set.append((class_name, round(class_prob, 3)))
cumulative_prob += class_prob
# Stop adding to the set once we reach the 95% coverage threshold
if cumulative_prob >= target_coverage:
break
print(f"95% Prediction Set: {prediction_set}")开发可靠的系统需要稳健的数据实践,以防止数据漂移破坏校准。Ultralytics Platform等工具可以简化收集新分类数据集、重新训练模型以及安全管理模型部署的流程。你可以在我们关于理解数据集偏差的指南中进一步了解如何整理均衡数据,或跟踪年度 COPA conference 上介绍的最新进展。









