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

混淆矩阵

了解混淆矩阵如何评估分类性能。探索 TP、FP、TN 和 FN,以优化您的 Ultralytics YOLO26 模型,提高准确性。

混淆矩阵是机器学习 classify 问题的一种性能度量工具,其输出可以是两个或更多类别。 它是一个包含预测值和实际值四种不同组合的表格,作为模型评估中 数据可视化 的基本要素。 与简单准确率不同,如果数据集不平衡,简单准确率可能会产生误导,而混淆矩阵提供了 计算机视觉 (CV) 模型出错的详细分析。 通过将预测结果与 真实标签 进行比较,开发人员可以确定系统是否混淆了两个特定类别,或者完全未能 detect 某个物体。

矩阵的核心组成部分

该矩阵本身通常分为四个象限用于二分类,尽管对于Ultralytics YOLO26处理的多类别问题,它会进行扩展。这四个组成部分代表了模型预测与图像中实际存在情况的交集。

  • 真阳例 (TP): 模型正确预测了正类别。例如,在目标检测任务中,模型成功地在实际位于画面中的人物周围绘制了边界框。
  • 真反例 (TN): 模型正确预测了负类别。这在异常检测等场景中至关重要,例如系统正确识别出制造的零件没有缺陷。
  • 假阳性 (FP): 模型错误地预测为正类。这通常被称为“第一类错误”,当系统 detect 到一个不存在的对象时发生,例如安防摄像头将阴影标记为入侵者。
  • 假阴性 (FN): 模型错误地预测为负类。这被称为“第二类错误”,当模型未能 detect 实际存在的对象时发生,本质上是“漏报”目标。

派生指标及其重要性

混淆矩阵中的原始数据用于计算描述模型性能的更高级指标。理解这些派生指标对于优化神经网络至关重要。

  • 精确率: 计算公式为 TP / (TP + FP),此指标揭示了正向预测的准确程度。高精确率意味着更少的误报。
  • 召回率(灵敏度)计算公式为 TP / (TP + FN),这衡量了模型找到所有正向实例的能力。当遗漏一个对象会产生严重后果时,高召回率至关重要。
  • F1分数: 精确率和召回率的调和平均值。它提供了一个平衡两者权衡的单一分数,对于比较不同的YOLO26模型非常有用。

实际应用

混淆矩阵定义的具体错误成本决定了模型如何针对不同行业进行调整。

医疗AI领域,混淆矩阵关乎安全。当训练用于医学图像分析以detect肿瘤的模型时,假阴性(漏诊肿瘤)远比假阳性(将良性斑点标记为可疑,供医生复查)糟糕。因此,工程师在这些矩阵中优先考虑召回率(Recall)而非精确率(Precision),以确保不遗漏任何潜在健康风险。

相反,在制造业质量控制中,效率是关键。如果一个对装配线零件进行classify的系统产生过多的假阳性(将合格零件标记为有缺陷),就会导致不必要的浪费并减缓生产。在这种情况下,混淆矩阵帮助工程师调整模型以最大化精确率(Precision),确保被拒绝的确实是有缺陷的,从而简化自动化机器学习工作流程。

使用 YOLO26 生成混淆矩阵

在使用现代框架时,生成此矩阵通常是标准验证流程的一部分。以下示例演示了如何验证一个 YOLO26模型 并使用 访问混淆矩阵数据 ultralytics 包装

from ultralytics import YOLO

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

# Validate the model on the COCO8 dataset
# This automatically generates and plots the confusion matrix
metrics = model.val(data="coco8.yaml")

# Access the confusion matrix object directly
print(metrics.confusion_matrix.matrix)

区分相关概念

区分混淆矩阵与相似的评估术语非常重要。

  • 对比准确率准确率仅仅是正确预测数与总预测数之比。虽然有用,但在不平衡数据集中,准确率可能具有高度欺骗性。例如,如果95%的电子邮件不是垃圾邮件,那么一个对所有电子邮件都预测为“非垃圾邮件”的模型将拥有95%的准确率,但实际上毫无用处。混淆矩阵通过显示垃圾邮件类别的零真阳性来揭示这一缺陷。
  • 对比ROC曲线混淆矩阵提供了在单个特定置信度阈值下的性能快照。相比之下,接收者操作特征(ROC)曲线则可视化了真阳性率和假阳性率如何随阈值变化而变化。像Ultralytics Platform这样的工具允许用户探索这两种可视化,以选择其部署的最佳操作点。

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

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