混淆矩阵(Confusion Matrix);归一化混淆矩阵(Confusion Matrix Normalized)


图片中文名称

  1. 第一张图片:混淆矩阵(Confusion Matrix)

  2. 第二张图片:归一化混淆矩阵(Confusion Matrix Normalized)

相同点和不同点

相同点:
  1. 结构 :两张图片都是混淆矩阵,展示了模型预测结果与真实标签之间的关系。

  2. 标签 :两张图片的行和列标签相同,都是不同的类别名称,如"bottle"、"calculator"等。

  3. 对角线元素 :对角线上的值表示正确分类的数量或比例,两张图中这些值是一致的。

不同点:
  1. 数值表示

    • 第一张图显示的是绝对数量,即每个类别被正确或错误分类的次数。

    • 第二张图显示的是归一化后的比例,即每个类别被正确或错误分类的比例

  2. 颜色深浅

    • 第一张图中颜色深浅 表示数量的多少,颜色越深表示数量越多。

    • 第二张图中颜色深浅 表示比例的大小,颜色越深表示比例越高。

图片解释

第一张图片(混淆矩阵)
  • 用途:用于展示分类模型的性能,特别是模型在不同类别上的分类准确性。

  • 解读

    • 对角线上的值(如**"bottle"类别的29,表示29个"bottle"被正确分类**)表示模型正确分类的数量。

    • 非对角线上的值表示分类错误的数量,例如"bottle"被错误分类为"calculator"的数量为37。

    • 颜色越深表示数量越多,帮助快速识别分类错误的模式

第二张图片(归一化混淆矩阵)
  • 用途 :用于更直观地展示每个类别的分类准确性,特别是当类别样本数量不均衡时。

  • 解读

    • 对角线上的值(如"bottle"类别的0.97)表示该类别的****分类准确率。

    • 非对角线上的值表示分类错误的比例,例如"bottle"被错误分类为"calculator"的比例为0.04。

    • 颜色越深表示比例越高,帮助快速识别分类错误的模式。

通过这两张图,可以更全面地了解模型在不同类别上的分类性能,特别是识别出哪些类别容易被误分类,从而指导模型的进一步优化。


精确率表示模型的准确性:预测为正的结果中有多少是真的。例如模型检出了10个物体,其中8个真的是目标、另外2个是误报,则Precision=80%。这是什么意思呢?

您对 精确率(Precision) 的理解完全正确!以下是更详细的解释和补充说明,帮助您彻底掌握这一概念:


精确率的定义

精确率(Precision) 衡量的是模型预测为"正类"(Positive)的结果中,有多少是真实的正类。其计算公式为:

Precision=真正例(True Positives, TP)真正例(TP) + 假正例(False Positives, FP)Precision=真正例(TP) + 假正例(False Positives, FP)真正例(True Positives, TP)​

  • 真正例(TP):模型正确预测为正的样本(确实是目标)。

  • 假正例(FP):模型错误预测为正的样本(实际不是目标,误报)。


您的例子解析

假设模型检测出 10 个物体

  • 8 个是真实目标(TP = 8)

  • 2 个是误报(FP = 2)

则精确率为:

Precision=88+2=80%Precision=8+28​=80%

含义 :模型给出的所有"正类"预测中,80% 是准确的,剩余 20% 是噪声或错误。


直观场景对比

场景 1(高精确率)
  • 模型检测 5 个物体,全部是真实目标(TP=5, FP=0)。

  • Precision = 100%

    ✅ 适用于零容忍误报的场景(如医疗诊断)。

场景 2(低精确率)
  • 模型检测 20 个物体,其中 10 个是真实目标(TP=10, FP=10)。

  • Precision = 50%

    ❌ 大量误报,需进一步筛选(如垃圾邮件过滤)。


与召回率(Recall)的区别

  • 精确率 :关注 预测结果的质量("宁缺毋滥")。

  • 召回率(Recall) :关注 找出所有真实目标的能力("宁可错杀"),计算为:

    Recall=TPTP+假负例(False Negatives, FN)Recall=TP+假负例(False Negatives, FN)TP

    (FN 是漏检的真实目标)。


实际应用中的权衡

  • 高精确率 + 低召回率:模型保守,只预测高置信度目标(减少误报,但可能漏检)。

  • 低精确率 + 高召回率:模型激进,检测更多目标(减少漏检,但误报增多)。

平衡方法

  • 调整分类阈值(如 YOLO 中的 conf 参数)。

  • 使用 F1 Score(精确率和召回率的调和平均)。


在 YOLO 中的体现

python

复制代码
from ultralytics import YOLO

model = YOLO("yolov8n.pt")
results = model.predict(source="image.jpg", conf=0.5)  # 调整置信度阈值
  • 提高 conf → 精确率上升(预测更严格),召回率可能下降。

  • 降低 conf → 召回率上升(检测更多目标),精确率可能下降。


总结

您的例子完美展示了精确率的本质:模型预测为正类的可靠性。在实际项目中,需结合召回率共同优化,才能达到最佳效果!

confusion_matrix.png

PNG 173.31KB

confusion_matrix_normalized.png

PNG 223.28KB

横坐标和纵坐标,哪一个是真实的,哪一个被预测的呢?

在混淆矩阵(Confusion Matrix)中,横坐标(列)通常表示模型的预测结果(Predicted) ,而纵坐标(行)表示真实的标签(Actual/Ground Truth)。这是机器学习中的标准表示方式(但需注意个别文献或工具可能相反,需结合上下文确认)。


针对您提供的混淆矩阵的分析

1. 非归一化矩阵(confusion_matrix.png)
  • 结构问题:您的表格未明确标注行列含义,但通过内容可推测:

    • 左侧列(如 bottle - | 29)可能是真实标签(Actual)。

    • 右侧数值可能是模型预测为该类的次数(Predicted)。

    • 例如:真实标签为 bottle 的样本中,模型正确预测了 29 次,但也可能被误预测为其他类别(如 background)。

2. 归一化矩阵(confusion_matrix_normalized.png)
  • 数值范围(0~1):表示预测的准确率或比例。

    • 例如 bottle - 0.97 表示真实为 bottle 的样本中,97% 被模型正确预测。

    • 低值(如 clock - 0.02)表示模型对该类别的识别能力较差。


如何验证行列含义?

  1. 对角线元素

    • 混淆矩阵的对角线(从左上到右下)通常表示 正确预测(TP)。

    • bottle 的真实标签对应预测值 0.97(高值),则进一步支持纵轴是 Actual。

  2. 非对角线元素

    • 其他位置的数值表示 误分类 (如真实为 bottle 但预测为 background)。

标准混淆矩阵示例

Predicted: A Predicted: B
Actual: A TP (A→A) FP (A→B)
Actual: B FN (B→A) TN (B→B)
  • 在您的数据中,bottle - 0.97 类似 A→A(TP),而 bottle - 0.03 类似 A→其他类(FP)。

总结

  • 纵轴(行) = 真实标签(Actual)

  • 横轴(列) = 预测结果(Predicted)

建议 :若数据来自 Ultralytics YOLO,可通过其文档或可视化工具(如 val.py 生成的矩阵)确认行列标注。

相关推荐
豆芽8198 小时前
感受野(Receptive Field)
人工智能·python·深度学习·yolo·计算机视觉
狂奔solar13 小时前
yolov8+kalman 实现目标跟踪统计人流量
yolo·kalman·匈牙利匹配
FL162386312915 小时前
水污染检测数据集VOC+YOLO格式2487张4类别
深度学习·yolo·机器学习
hao_wujing1 天前
一种改进的YOLOv11网络,用于无人机视角下的小目标检测
yolo·目标检测·无人机
njsgcs2 天前
yolov5 源码 +jupyter notebook 笔记 kaggle
笔记·yolo·jupyter
Light602 天前
计算机视觉进化论:YOLOv12、YOLOv11与Darknet系YOLOv7的微调实战对比
人工智能·yolo·计算机视觉·模型压缩·注意力机制·微调策略·实时检测
PassLink_3 天前
[Kaggle]:使用Kaggle服务器训练YOLOv5模型 (白嫖服务器)
运维·服务器·yolo
知来者逆4 天前
计算机视觉——对比YOLOv12、YOLOv11、和基于Darknet的YOLOv7的微调对比
深度学习·yolo·目标检测·计算机视觉·yolov7·yolov11·yolov12
AI军哥4 天前
MySQL8的安装方法
人工智能·mysql·yolo·机器学习·deepseek