深圳Yolo 视觉
深圳
立即加入
词汇表

F1-Score

了解 F1-Score 如何平衡精确率和召回率以评估机器学习模型。探索如何优化 Ultralytics YOLO26 性能以提高准确性。

F1-Score 是机器学习中一个关键的性能指标,它将精确率(precision)和召回率(recall)结合成一个单一的调和平均值。它在评估数据集不平衡或假阳性(false positives)和假阴性(false negatives)成本不同的分类模型时尤其有用。与在某一类别主导数据集时可能产生误导的简单准确率不同,F1-Score 提供了一个更平衡的视角,来衡量模型正确识别相关实例并最小化错误的能力。通过惩罚极端值,它确保只有当精确率和召回率都相对较高时才能获得高分,使其成为从医学诊断到信息检索等领域的重要指标。

F1-Score在机器学习中的重要性

在许多实际场景中,仅仅知道正确预测的百分比(准确率)是不够的。例如,在 异常检测 中,正常情况的数量远远超过异常情况。一个对每个输入都预测为“正常”的模型可能达到 99% 的准确率,但对于检测实际问题却毫无用处。F1-Score 通过平衡两个相互竞争的指标来解决这个问题:

  • 精确率:这衡量了正向预测的质量。它回答了这样一个问题:“在模型标记为正向的所有实例中,有多少是实际正向的?”
  • 召回率:这衡量了正向预测的数量。它回答了:“在所有实际正向实例中,模型正确识别了多少?”

由于通常存在权衡——提高精确率往往会降低召回率,反之亦然——F1-Score 作为一个统一的指标,用于找到最佳平衡点。这在使用 超参数优化 调整模型以确保在不同条件下具有稳健性能时至关重要。

实际应用

F1-Score 的实用性延伸到各个行业,在这些行业中,错误的成本是巨大的。

  • 医疗诊断:在医疗AI中,特别是对于肿瘤检测等任务,假阴性(漏诊肿瘤)是危及生命的,而假阳性(标记良性组织)则会引起不必要的焦虑。F1-Score帮助研究人员优化像YOLO26这样的模型,以确保系统足够灵敏,能够发现疾病,同时又不会用误报信息使医生不堪重负。
  • 信息检索与搜索:搜索引擎和文档分类系统使用F1-Score来评估相关性。用户希望看到所有相关文档(高召回率),但不希望筛选无关结果(高精确率)。高F1-Score表明引擎正在有效地检索正确信息而没有冗余。
  • 垃圾邮件过滤:电子邮件服务使用文本分类来区分垃圾邮件。系统必须捕获垃圾邮件(召回率),但至关重要的是,不能将重要的工作邮件标记为垃圾邮件(精确率)。F1-Score是这些过滤器的主要基准。

使用 Ultralytics 计算 F1-Score

现代计算机视觉框架简化了这些指标的计算。在训练目标 detect 模型时,F1-Score 会在验证阶段自动计算。Ultralytics Platform 在实时图表中可视化这些指标,允许用户查看 F1-Score 针对不同置信度阈值的曲线。

以下是您如何使用 python API 访问验证指标,包括 F1-Score 的组成部分:

from ultralytics import YOLO

# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")

# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")

# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")

# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")

F1-Score 与相关指标的比较

了解F1-Score与其他评估标准的不同之处,对于为您的项目选择合适的工具至关重要。

  • 与准确率的区别:准确率平等对待所有错误。F1-Score 对于不平衡数据集更优,因为它侧重于正类(感兴趣的少数类)的性能。
  • 与mAP的关系平均精确率 (mAP)是在所有置信度阈值下比较目标检测模型的标准。然而,F1-Score常用于确定部署的最佳置信度阈值。您可以选择F1曲线达到峰值的阈值来部署您的应用程序。
  • 混淆矩阵混淆矩阵提供了原始计数(真阳性、假阳性等),F1-Score由此得出。尽管混淆矩阵提供了详细的细节,但F1-Score提供了一个单一的汇总统计量,便于快速比较。
  • ROC-AUC曲线下面积 (AUC)衡量所有阈值下的可分离性。当类别分布高度倾斜时(例如,欺诈检测中欺诈行为很少见),F1-Score通常优于ROC-AUC。

提高您的 F1-Score

如果您的模型 F1-Score 较低,有几种策略可以帮助改进。数据增强 可以增加正样本的多样性,帮助模型更好地泛化。采用来自稳健基础模型的 迁移学习 可以让网络利用预先学习到的特征。此外,在推理过程中调整 置信度阈值 可以手动调整精确率和召回率之间的平衡,从而为您的特定用例最大化 F1-Score。

让我们一起共建AI的未来!

开启您的机器学习未来之旅