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

混淆矩阵

了解混淆矩阵如何评估分类性能。探索真阳性(TP)、假阳性(FP)、真阴性(TN)和假阴性(FN),以优化Ultralytics ,提升预测准确度。

混淆矩阵是用于机器学习分类问题的性能评估工具,适用于输出结果包含两个或更多类别的场景。该矩阵通过预测值与实际值的四种不同组合构成表格,在模型评估中作为数据可视化的基础要素。与简单准确率不同——后者在数据集失衡时可能产生误导——混淆矩阵能细致呈现计算机视觉(CV)模型出错的具体位置。 通过将预测结果与真实标签进行比对,开发者可判断系统是否混淆了两个特定类别,或是完全未能detect 对象。

矩阵的核心组成部分

该矩阵本身通常被划分为四个象限用于二分类问题,但在处理多分类问题时(Ultralytics 所处理的)会进行扩展。这四个组成部分代表了模型预测结果与图像实际存在内容的交叉点。

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

衍生指标及其重要性

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

  • 精确率计算方式为真阳性率除以真阳性率与假阳性率之和,该指标反映了阳性预测的准确程度。高精确率意味着更少的误报。
  • 召回率(灵敏度)计算为 TP / (TP + FN),用于衡量模型发现所有正样本的能力。当遗漏目标会导致严重后果时,高召回率至关重要。
  • F1分数精度与召回率的调和平均值。它提供了一个平衡两者取舍的单一分数,适用于比较不同的YOLO26模型

实际应用

混淆矩阵定义的具体错误成本决定了模型在不同行业中的调优方式。

在医疗健康领域 医疗健康领域,混淆矩阵关乎安全问题。当训练用于 医学图像分析的模型detect , 假阴性(漏检肿瘤)远比假阳性(将良性病灶标记为需医生复查)更严重。 因此工程师在这些矩阵中优先考虑召回率而非精确率,以确保不会遗漏任何潜在健康风险。

相反地,在 制造质量控制,效率才是关键。若某套装配线零件分类系统产生过多误报(将合格零件标记为缺陷品),将导致不必要的浪费并拖慢生产进度。此时混淆矩阵能帮助工程师优化模型以最大化精确度,确保被剔除的确实是缺陷品,从而优化自动化机器学习工作流程。

使用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 工具支持用户同时探索这两种可视化形式,从而为部署选择最优操作点。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入