Recall
探索机器学习中召回率的重要性。了解如何测量和提高 Ultralytics YOLO26 模型的灵敏度,以确保高检测率。
召回率(Recall),也称为灵敏度或真阳性率,是机器学习中一个基础的性能指标,用于衡量模型在数据集中识别所有相关实例的能力。在目标检测或分类的语境下,它专门回答了这个问题:“在所有实际为正的案例中,模型正确找出了多少个?”在错过正例(通常称为假阴性)会带来严重后果的场景中,实现高召回率至关重要。与准确率不同(处理不平衡数据时准确率可能会产生误导),召回率提供了关于模型“捕捉”目标类别效果的专注视角。
Link to this section高召回率的重要性#
在许多人工智能应用中,未能检测出目标的代价远高于误报的代价。经过召回率优化的模型可以最大限度地减少假阴性,确保系统能够撒下足够大的网,以捕获潜在的威胁、异常或关键情况。这通常涉及一种权衡,因为提高召回率有时会导致精确率得分降低,这意味着模型可能会将更多不相关的项目标记为正例。理解这种平衡对于开发强大的机器学习解决方案至关重要。
Link to this section实际应用#
召回率是许多安全关键型AI解决方案背后的驱动指标。以下是两个灵敏度优先的典型示例:
- 医学诊断: 在医学图像分析中,例如通过X光筛查疾病早期迹象,高召回率是不可妥协的。如果一个医疗AI系统被用于检测肿瘤,那么系统将一个最终被证明是良性的阴影标记为疑似(假阳性),要比完全漏掉恶性肿瘤好得多。医生依赖这些工具作为安全网,确保没有任何潜在的健康风险被忽略。
- 安防与监控: 对于安全报警系统,首要目标是检测每一次入侵尝试。一个针对高召回率优化的系统可以确保一旦有人进入限制区域,警报就会触发。虽然这可能会导致野生动物偶尔引起的误报,但这比系统未能检测到实际入侵者要好。在这些场景中,目标检测模型被调整为确保对潜在威胁的最大灵敏度。
Link to this section召回率与精确率#
区分召回率与其对应指标精确率至关重要。召回率衡量的是找到的相关案例的数量(完整性),而精确率衡量的是正向预测的质量(准确性)。
- 召回率: 专注于避免漏检。“我们找到所有的苹果了吗?”
- 精确率: 专注于减少误报。“我们称为苹果的所有东西真的是苹果吗?”
这两个指标通常呈现反比关系,可以通过精确率-召回率曲线进行可视化。为了评估两者之间的整体平衡,开发者通常会参考F1-score,它是两者的调和平均数。在不平衡数据集中,结合混淆矩阵观察召回率,比仅看准确率能更清晰地反映性能。
Link to this section使用 Ultralytics YOLO 测量召回率#
在训练像尖端的 YOLO26 这样的模型时,召回率会在验证阶段自动计算。该框架会计算每个类别的召回率以及平均精度均值 (mAP),帮助开发者评估模型寻找目标的效果。
你可以轻松地验证训练好的模型,并使用 Python 查看其召回率指标。此代码片段演示了如何加载模型并在标准数据集上检查其性能:
from ultralytics import YOLO
# Load a pretrained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on the COCO8 dataset
# The results object contains metrics like Precision, Recall, and mAP
metrics = model.val(data="coco8.yaml")
# Access and print the mean recall score for box detection
print(f"Mean Recall: {metrics.results_dict['metrics/recall(B)']:.4f}")此代码利用 Ultralytics API 来运行验证。如果召回率低于你项目所需的要求,你可以考虑使用数据增强等技术来创建更多样的训练示例,或者通过超参数调优来调整模型的灵敏度。使用 Ultralytics Platform 还可以简化管理数据集和在多次训练运行中跟踪这些指标的过程。
Link to this section提高模型召回率#
To boost a model's recall, data scientists often adjust the confidence threshold used during inference. Lowering the threshold makes the model more "optimistic," accepting more predictions as positive, which increases recall but may decrease precision. Additionally, collecting more diverse training data helps the model learn to recognize hard negatives and obscure instances. For complex tasks, employing advanced architectures like Transformer blocks or exploring ensemble methods can also improve the system's ability to detect subtle features that simpler models might miss.






