当前位置: 首页 > article >正文

【卷积神经网络】常用评价指标总结

评估指标

概述

该评价指标适合分类任务与目标检测,主要用于评估模型的性能。该文章对相关指标进行总结,同时对输出的图片进行学习分析

混淆矩阵的组成

  • TP(True Positives,真正例):实际为正例,且被模型正确预测为正例的样本数
  • FP(False Positives,假正例):实际为负例,但被模型错误预测为正例的样本数
  • FN(False Negatives,假负例):实际为正例,但被模型错误预测为负例的样本数
  • TN(True Negatives,真负例):实际为负例,且被模型正确预测为负例的样本数

例如对苹果和橙子的预测

实际情况模型预测分析
苹果 (Positive)预测为苹果 (TP)检测器正确预测为苹果
苹果 (Positive)预测为橙子 (FN)检测器错误预测为橙子(漏检苹果)
橙子 (Negative)预测为苹果 (FP)检测器错误预测为苹果(误检橙子)
橙子 (Negative)预测为橙子 (TN)检测器正确预测为橙子。

详细分析

准确率

计算方法分析

\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}

判断随机检测的100个水果中,哪些水果被正确的分类,真实情况是40个苹果60个橙子,假如检测器的水果的预测结果为

  • 30 个苹果正确检测为苹果(TP = 30)
  • 10 个苹果被误检测为橙子(FN = 10)
  • 5 个橙子被误检测为苹果(FP = 5)
  • 55 个橙子正确检测为橙子(TN = 55)

\text{Accuracy} = \frac{30 + 55}{30 + 55 + 5 + 10} = \frac{85}{100} = 85\%

优缺点分析

  • 优点
    • 直观简单,可以看出其整体性能如何,适合在类别分布均衡的情况下使用
    • 该模型在苹果和橙子数量差不多的情况下,可以很好的反应模型的性能
  • 缺点
    • 假如95个橙子和5个苹果,那么就会总是预测出橙子,那么假如此时的情况如下
      • TP = 0(所有苹果都预测为橙子)
      • TN = 95(所有橙子都预测正确)
      • FP = 0(没有误检橙子为苹果
      • FN = 5(所有苹果都被漏检)
    • 此时的准确率高达95%,但是检测器完全没有正确识别苹果,所以不可以判定该模型是好的

精确率

计算方法分析

\text{Precision} = \frac{TP}{TP + FP}

假如对于包裹的分析,总共有100个包裹,20个有违禁品(正例),80个不含违禁品(反例),此时模型预测结果如下

  • 预测了 15 个包裹含有违禁品,其中:
    • 10 个是实际违禁品(TP = 10)
    • 5 个是误判的(FP = 5)
  • 剩余的 85 个包裹被预测为正常包裹,其中:
    • 10 个是实际违禁品,但被误判为正常包裹(FN = 10)
    • 75 个是实际正常包裹(TN = 75)

\text{Precision} = \frac{10}{10 + 5} = 0.6667 \ (66.67\%)

优缺点分析 

  • 优点
    • 精确度可以避免普通包裹的误报也就是减少FP,高精确率意味着系统标记为违禁品的包裹,大部分确实是违禁品
  • 缺点
    • 精确率 忽略了实际违禁品中未被识别出来的包裹(FN = 10)。如果只看精确率,这种漏检的情况不会被体现

召回率

计算分析

\text{Recall} = \frac{TP}{TP + FN}

继续接着上述检测包裹的例子计算,那么此时的召回率是

\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} = \frac{10}{10 + 10} = 0.5 \, (50\%)

优缺点分析

  • 优点
    • 减少漏检(FN):召回率关注模型是否漏掉正例(FN)。高召回率意味着模型捕获了大多数正例
    • 适用于需要高召回率的任务:如癌症筛查或安全检测,FN 会带来严重后果
  • 缺点
    • 忽略误报(FP):召回率不关注误报(FP),可能导致模型过于激进地预测正例,从而产生较多假正例

F1-Score

分析

F1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}

技术上述对于包裹的检测,那么可以计算出f1为

 \text{F1-Score} = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} = 2 \cdot \frac{0.6667 \cdot 0.5}{0.6667 + 0.5} = 0.5714 \, (57.14\%)

分类评估

二分类评估

事例说明

例如分析信用卡欺诈行为,真实情况是30笔交易欺诈(正例),70笔交易实正常(反例),那么模型的预测结果如下

  • 预测为欺诈交易的有 40 笔
    • 25 笔为真正的欺诈交易(TP = 25)
    • 15 笔为误报(FP = 15)
  • 预测为正常交易的有 60 笔
    • 5 笔是被漏检的欺诈交易(FN = 5)
    • 55 笔为正确的正常交易(TN = 55)

\text{Accuracy} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{TN} + \text{FP} + \text{FN}} = \frac{25 + 55}{25 + 55 + 15 + 5} = 80\%

\text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}} = \frac{25}{25 + 15} = 62.5\%

\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} = \frac{25}{25 + 5} = 83.33\%

\text{F1-Score} = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} = 2 \cdot \frac{0.625 \cdot 0.8333}{0.625 + 0.8333} \approx 71.43\%

多分类评估

例如篮球、鸡、人中的事例,总图片4776张

  • 人的图片数:1748
  • 鸡的图片数:1558
  • 球的图片数:1473

注:截图来源于“炮哥带你学”

\text{Accuracy} = \frac{1494 + 1244 + 1126}{1748 + 1558 + 1473}

\text{Precision} = \frac{1494}{1494 + 195 + 223} = \frac{1494}{1912}

针对人进行计算

\text{Recall} = \frac{1494}{1494 + 119 + 135} = \frac{1494}{1748}

F1 = 2 \cdot \frac{78.13 \cdot 85.46}{78.13 + 85.46}

针对鸡计算

\text{Precision} = \frac{1244}{1244 + 119 + 124} = \frac{1244}{1487}

目标检测评估

计算回顾

交并比IOU

置信度

  • 存在性得分:预测框中是否存在目标的概率。
  • 类别得分:预测框中目标属于某一类别的概率。

目标检测分析图

归一化的混淆矩阵

主要用于显示 真实类别(True Label)预测类别(Predicted Label) 之间的对应关系

  • 颜色深浅:越接近深蓝色(值越接近 1.00),说明对应的预测和真实类别高度匹配(高准确性);浅色(值接近 0.00)表示预测和真实类别的重合度较低
  • 对角线:表示预测类别与真实类别完全一致的情况;理论上越接近1那么识别的效果越好
  • 非对角线
    • 表示预测错误的情况,即预测类别与真实类别不一致
    • 值越大,说明模型在该类别上存在明显误分类
  • 特殊类别(注意)
    • Background FN:真实是背景区域,但被误分类为某个目标类别(漏检)
    • Background FP:模型误将背景区域预测为目标类别(误报)

F1-Score 与 Confidence 阈值关系图

分析

  • 横轴置信度
    • 低阈值(靠近 0): 模型几乎会将所有预测框保留下来,包括低质量预测框
    • 高阈值(靠近 1): 模型只保留置信度非常高的预测框,从而减少假阳性(FP)
  • 纵轴:F1-Score
    • 值越高,表示模型在当前置信度下的精确率和召回率平衡得越好
    • 值越低,表示模型的预测质量较差,要么漏检过多(低召回率),要么误检过多(低精确率)

精确率与置信度关系图

分析

  • 横轴置信度
    • 低阈值(靠近 0): 模型几乎会将所有预测框保留下来,包括低质量预测框
    • 高阈值(靠近 1): 模型只保留置信度非常高的预测框,从而减少假阳性(FP)
  • 纵轴:Precision(精确率)
    • 衡量模型预测为正例的样本中,有多少是正确的
    • 值越高,表示模型预测为正例的置信度越高、准确性越好

Precision-Recall 曲线

分析

理想的目标检测模型希望在 高 Recall 的同时保持 高 Precision,即曲线尽可能靠近右上角

  • 横轴:Recall(召回率)
    • 值越高,说明模型能够捕获更多的正例(漏检较少)
    • 横轴从 0 到 1,表示召回率从低到高
  • 纵轴:Precision(精确率)
    • 值越高,说明模型预测为正例的准确性越高(误报较少)
    • 纵轴从 0 到 1,表示精确率从低到高

召回于置信度关系图

分析

 类似超时摄像头捕捉顾客行为,目标是捕捉所有顾客(即召回率高),并且准确地识别出每个人(即精确率高)

  • 置信度:摄像头对捕捉到的画面有一个“清晰度分数”(类似置信度),分数越高,表示画面越清晰
    • 低置信度(靠近 0.0): 模型会保留几乎所有预测框,包括高置信度和低置信度的预测框
    • 高置信度(靠近 1.0): 模型仅保留置信度很高的预测框,预测结果更加“谨慎”
  • 召回率:摄像头对所有经过的顾客都能记录下来
    • 值越高,说明模型能够捕获更多的正例(漏检少)
    • 值为 1.0 时,表示模型捕获了所有的真实正例,没有漏检


http://www.kler.cn/a/451932.html

相关文章:

  • git push origin HEAD:refs/for/分支名
  • 每天五分钟机器学习:核函数
  • Mybatis 小结
  • 大恒相机开发(2)—Python软触发调用采集图像
  • GTID下复制问题和解决
  • 谷歌集群数据集:负载均衡云服务测试数据
  • 使用 C# 代码计算数学表达式
  • 代码随想录算法日记day16 | 513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树
  • xilinx 芯片使用vivado导出pindelay文件——FPGA学习笔记24
  • 【C语言程序设计——选择结构程序设计】预测你的身高(头歌实践教学平台习题)【合集】
  • 《系统动力学模型构建与Vensim仿真》01系统动力学概述与行为模式
  • 基于Spring Boot的高校请假管理系统
  • VS2022 无法使用GitHub账户登录/无法使用copilot 解决方案
  • 设计模式之外观模式:从电脑组装到系统架构的简化之道
  • 软考:系统架构设计师教材笔记(持续更新中)
  • 记录一个SVR学习
  • 【全开源】Java多语言tiktok跨境商城TikTok内嵌商城送搭建教程
  • uniApp打包H5发布到服务器(docker)
  • 3.3.2.5 队列之 ringBuffer设计
  • 关于高级acl的配置和讲解
  • Maven 项目文档
  • 微信小程序页面之间的传值方式
  • Linux 日志监控与报警系统实操
  • python+PyPDF2实现PDF的文本内容读取、多文件合并、旋转、裁剪、缩放、加解密、添加水印
  • YOLOv11融合U-Net v2中的SDI模块
  • MySQL索引为什么是B+树