您的位置:首页 > 健康 > 养生 > 支付宝股东日本软银集团_成都建网站哪家好_站长工具查询网站_网络公司关键词排名

支付宝股东日本软银集团_成都建网站哪家好_站长工具查询网站_网络公司关键词排名

2025/4/16 16:33:12 来源:https://blog.csdn.net/qq_42591591/article/details/143140363  浏览:    关键词:支付宝股东日本软银集团_成都建网站哪家好_站长工具查询网站_网络公司关键词排名
支付宝股东日本软银集团_成都建网站哪家好_站长工具查询网站_网络公司关键词排名

前言

本文主要讲解的是计算机视觉网络模型的性能评价指标,这是每一篇论文中都需要展示的内容。熟悉每一个评价指标也能够帮助我们在训练和改进模型过程中,更好的观察模型的变化效果。

文章目录

  • 1、混淆矩阵(Confusion Matrix)
  • 2、真正例(True Positive,TP)、真负例(True Negative,TN)、假正例(False Positive,FP)、假负例(False Negative,FN)
  • 3、查准率(Precision)
  • 4、查全率(Recall)
  • 5、F1 - Score
  • 6、P曲线、R曲线和PR曲线
  • 7、交并比(Intersection over Union,IoU)
  • 8、平均精度(Average Precision,AP)
  • 9、平均精度均值(Mean Average Precision,mAP)
  • 10、参数量(Number of Parameters)
  • 11、计算量(Computational Complexity)
  • 12、推理速度FPS(Frames Per Second)


1、混淆矩阵(Confusion Matrix)

混淆矩阵(Confusion Matrix)是一种用于评估分类模型性能的工具。它是一个表格,通过将模型的预测结果与实际的真实标签进行对比,展示模型在各个类别上的分类情况。对于一个具有 n n n个类别的分类问题,混淆矩阵是一个 n × n n\times n n×n的矩阵。

二分类问题中,混淆矩阵的结构最为简单且易于理解。它有4个基本元素:

  • 真正例(True Positive,TP)
  • 假正例(False Positive,FP)
  • 真负例(True Negative,TN)
  • 假负例(False Negative,FN)

这四个元素分布在一个 2 × 2 2\times2 2×2的矩阵中,如下表所示:

分类情况预测为正类(P)预测为负类(N)
真实为正类(TP + FN)真正例(TP)假负例(FN)
真实为负类(FP + TN)假正例(FP)真负例(TN)

这是一个关于目标检测的混淆矩阵实验结果。从图中可以看出,当预测为iw时,实际也为iw的概率为0.92;当预测为背景background时,实际也为背景background的概率为0.08

🔗示例:假设有一个图像分类任务,判断图像中是否有猫(正类)。如果有100张图像,其中50张有猫,50张没有猫。模型预测有猫的图像中有40张是正确的(TP = 40),有10张其实没有猫(FP = 10);模型预测没有猫的图像中有45张是正确的(TN = 45),有5张其实有猫(FN = 5),就可以构建出相应的混淆矩阵。

多分类问题中的混淆矩阵

  • 当分类任务涉及多个类别(例如图像分类中有猫、狗、鸟等多个类别)时,混淆矩阵会变得更大。以一个三分类问题为例,混淆矩阵是一个 3 × 3 3\times3 3×3的表格,如下所示:
分类情况预测为类别1预测为类别2预测为类别3
真实为类别1TP1FP21(类别2误判为类别1)FP31(类别3误判为类别1)
真实为类别2FP12(类别1误判为类别2)TP2FP32(类别3误判为类别2)
真实为类别3FP13(类别1误判为类别3)FP23(类别2误判为类别3)TP3

这里的TP1表示真实类别为1且模型正确预测为类别1的样本数量,FP21表示真实类别为2但模型错误地预测为类别1的样本数量,以此类推

混淆矩阵的作用

  • 评估模型准确性:通过查看混淆矩阵中的各个元素,可以直接了解模型在每个类别上的分类准确程度。例如,对角线上的元素(真正例)之和占总样本数的比例可以作为一种准确性的衡量指标。

  • 发现类别不平衡问题:如果某个类别对应的真正例数量很少,而假负例或假正例数量较多,可能意味着数据存在类别不平衡的情况。这会影响模型的训练和评估,需要采取相应的策略(如数据增强、调整权重等)来解决。

  • 比较不同模型的性能:对于多个分类模型,可以通过比较它们的混淆矩阵来选择性能更好的模型。例如,一个模型的混淆矩阵对角线上的元素普遍比另一个模型的大,说明前者在分类准确性上可能更优。


2、真正例(True Positive,TP)、真负例(True Negative,TN)、假正例(False Positive,FP)、假负例(False Negative,FN)

  1. 真正例(TP)

模型预测为正类,且实际也是正类的样本数量。即模型正确地将一个应该是正类的样本判断为正类。
TP 的数量反映了模型在正确识别正类样本方面的能力。

  1. 真负例(TN)

模型预测为负类,且实际也是负类的样本数量。即模型正确地将一个应该是负类的样本判断为负类。
TN 的数量体现了模型在正确识别负类样本方面的能力。

  1. 假正例(FP)

模型预测为正类,但实际是负类的样本数量。即模型错误地将一个负类样本判断为正类。
FP 的数量反映了模型的误检情况。

  1. 假负例(FN)

模型预测为负类,但实际是正类的样本数量。即模型错误地将一个正类样本判断为负类。
FN 的数量体现了模型的漏检情况。

🔗示例:在一个判断邮件是否为垃圾邮件(正类表示是垃圾邮件)的分类任务中,真正例(TP)就是模型正确预测为垃圾邮件的邮件数量;假正例(FP)是模型错误地将正常邮件预测为垃圾邮件的数量;真负例(TN)是模型正确预测为正常邮件的数量;假负例(FN)是模型错误地将垃圾邮件预测为正常邮件的数量。


3、查准率(Precision)

查准率(Precision)是评估分类模型性能的一个重要指标,也称为精度。它衡量的是在所有被模型预测为正类的样本中,真正为正类的样本所占的比例。

简单来说,查准率回答了这样一个问题:“当模型预测为正类时,它有多准确?”

公式为:

P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP + FP} Precision=TP+FPTP

🔗在上述猫的分类例子中, P r e c i s i o n = 40 40 + 10 = 0.8 Precision=\frac{40}{40 + 10}=0.8 Precision=40+1040=0.8,表示模型预测有猫的图像中,真正有猫的图像占80%。


4、查全率(Recall)

查全率(Recall),也称为召回率或敏感度(Sensitivity),是评估分类模型性能的关键指标之一。它衡量的是在所有实际为正类的样本中,被模型正确预测为正类的样本所占的比例。

可以理解为,模型能够找回多少正类样本的能力。

公式为:

R e c a l l = T P T P + F N Recall=\frac{TP}{TP + FN} Recall=TP+FNTP

🔗在上述猫的分类例子中, R e c a l l = 40 40 + 5 ≈ 0.889 Recall=\frac{40}{40+5}\approx0.889 Recall=40+5400.889,表示实际有猫的图像中,被模型正确预测为有猫的图像约占88.9%。


5、F1 - Score

F1 - Score是查准率和查全率的调和平均数,它综合考虑了查准率和查全率,用于平衡两者之间的关系。

F1 - Score的值越高,表示模型在查准和查全这两个方面的综合性能越好。

公式为:
F 1 = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1=\frac{2\times Precision\times Recall}{Precision + Recall} F1=Precision+Recall2×Precision×Recall

🔗在上述猫的分类例子中,先计算出查准率 P = 0.8 P = 0.8 P=0.8,查全率 R = 0.889 R=0.889 R=0.889,则 F 1 = 2 × 0.8 × 0.889 0.8 + 0.889 ≈ 0.843 F1=\frac{2\times0.8\times0.889}{0.8 + 0.889}\approx0.843 F1=0.8+0.8892×0.8×0.8890.843

在这里插入图片描述
F1曲线就是F1-Score随着Confience逐渐增高而变化的曲线。

置信度Confience:模型判定一个物体并不是百分百判定它是属于某个分类,而是会给予它一个概率,Confidence就是设置的阈值,如果超过这个概率那么就确定为某个分类。

图例表示,当confidence为0.517时,all classes的F1-Score为0.89;

下图为YOLO模型训练后的验证结果,红框中分别表示P查准率R查全率的精度。

在这里插入图片描述


6、P曲线、R曲线和PR曲线

Precision - Confidence Curve(查准率 - 置信度曲线)

  • 定义与绘制原理
    • 在目标检测或分类任务中,模型通常会为每个预测结果输出一个置信度分数(Confidence Score),表示模型对该预测的确定程度。对于不同的置信度阈值,计算对应的查准率。以置信度为横坐标,查准率为纵坐标,绘制出的曲线就是Precision - Confidence Curve
    • 例如,在目标检测任务中,当置信度阈值设为很高的值时,模型只保留那些它非常确定的预测结果。此时,查准率可能较高,因为留下的大多是模型很有把握的正类预测;随着置信度阈值降低,更多的预测结果被考虑进来,其中可能会包含较多的假正例,导致查准率下降。

在这里插入图片描述

  • 图像含义
    • 曲线直观地展示了查准率随置信度变化的情况。从曲线的起点(最高置信度)开始,查准率通常较高,随着置信度降低,查准率逐渐下降。如果曲线下降较为平缓,说明模型在降低置信度要求时,查准率的下降速度较慢,即模型对不太确定的预测也有一定的准确性。
    • 这条曲线可以帮助确定一个合适的置信度阈值,以平衡准确性和召回率。例如,在一些对准确性要求极高的应用场景(如医疗影像诊断),可以选择曲线中查准率较高部分对应的置信度阈值。

Recall - Confidence Curve(查全率 - 置信度曲线)

  • 定义与绘制原理
    • 同样以目标检测或分类任务中的置信度分数为基础,对于不同的置信度阈值,计算对应的查全率。以置信度为横坐标,查全率为纵坐标绘制而成。随着置信度阈值的变化,被认为是正类的样本数量会发生改变,从而影响查全率
    • 置信度阈值很高时,只有很少的样本被判定为正类,可能会遗漏很多正类样本,导致查全率较低。随着置信度阈值降低,更多的样本被判定为正类,查全率会逐渐提高。

在这里插入图片描述

  • 图像含义
    • 曲线展示了查全率与置信度之间的关系。从曲线可以看出,一般情况下,查全率随着置信度阈值的降低而升高。如果曲线上升很快,说明模型在降低置信度要求时,能够快速召回更多的正类样本。
    • 这条曲线有助于理解模型在不同置信度水平下找回正类样本的能力。在一些需要尽可能全面地检测或分类正类样本的场景(如安全监控系统中检测危险物品),可以参考此曲线来选择合适的置信度阈值,以达到较高的查全率。

Precision - Recall Curve(查准率 - 查全率曲线)

  • 定义与绘制原理
    • 如前面所述,通过改变分类阈值(在分类任务中)或其他相关参数(在目标检测等任务中),计算出不同阈值下的查准率和查全率,以查全率为横坐标,查准率为纵坐标绘制曲线。
    • 在绘制过程中,随着分类阈值的变化,正类样本的判定范围发生改变。例如,在二分类问题中,降低分类阈值会使更多的样本被判定为正类,这会影响查准率和查全率。查全率可能会因为更多正类样本被找回而提高,但查准率可能会因为引入更多假正例而下降。

在这里插入图片描述

  • 图像含义
    • 曲线形状反映了查准率和查全率之间的权衡关系。理想的曲线是靠近右上角的,这表示在高查全率的情况下也能保持高查准率。曲线下的面积(AUC)可以作为衡量模型性能的一个参考指标,AUC越大,说明模型在不同查全率 - 查准率组合下的综合性能越好。
    • 比较不同模型的PR曲线可以直观地看出它们在性能上的差异。如果一个模型的PR曲线完全包含另一个模型的PR曲线,那么前者在查准率和查全率的综合性能上更优。同时,PR曲线还可以用于选择合适的分类阈值,以满足特定的查准率和查全率要求。

7、交并比(Intersection over Union,IoU)

交并比(Intersection over Union,IoU),也称为杰卡德相似系数(Jaccard Similarity Coefficient),主要用于目标检测任务中衡量预测框与真实框之间的重叠程度。它是预测框与真实框的交集面积和并集面积的比值。

公式为:
I o U = 交集面积 并集面积 IoU=\frac{交集面积}{并集面积} IoU=并集面积交集面积

🔗示例:如果预测框的面积为100,真实框的面积为80,两者交集面积为60,则 I o U = 60 100 + 80 − 60 = 0.5 IoU=\frac{60}{100 + 80-60}=0.5 IoU=100+806060=0.5。一般在目标检测中,当IoU大于某个阈值(如0.5)时,认为检测是正确的。


8、平均精度(Average Precision,AP)

定义:在目标检测任务中,AP是对不同召回率下精度的平均值。它是通过对PR曲线下面积的积分计算得到的。

在目标检测里,我们不仅关心模型是否能正确地识别目标类别(分类准确性),还关心模型是否能准确地定位目标(位置准确性)。AP综合考虑了这两个方面,通过对不同召回率(Recall)精度(Precision)的平均值来衡量模型在整个检测过程中的性能。


9、平均精度均值(Mean Average Precision,mAP)

定义:对于多类别目标检测任务,mAP所有类别AP的平均值。它可以评估模型在多个类别上的综合检测性能。

🔗示例:如果有3个类别,其AP分别为0.7、0.8、0.9,则 m A P = 0.7 + 0.8 + 0.9 3 = 0.8 mAP=\frac{0.7 + 0.8+0.9}{3}=0.8 mAP=30.7+0.8+0.9=0.8

mAP50

mAP50是指在交并比阈值设定为 0.5 时计算得到的mAP

在目标检测任务中,对于每个类别,首先根据 IoU = 0.5 的标准来判断预测框是真正例(TP)、假正例(FP)还是假负例(FN)。

然后,针对每个类别计算P-R曲线下的面积,即该类别的AP。最后,将所有类别的AP进行平均,就得到了mAP50

mAP50-95

mAP50-95是一个更严格、更全面的评估指标。

它是在 IoU 阈值从 0.5 到 0.95(通常以 0.05 为间隔,即 0.5、0.55、0.6、...、0.9、0.95)的多个值下,分别计算每个 IoU 阈值对应的平均精度(AP),然后将这些 AP 进行平均得到的值。

这个指标能够综合评估模型在不同定位精度要求下的性能。

红框中就是模型训练后的mAP50mAP50-95的值。

在这里插入图片描述


10、参数量(Number of Parameters)

定义:模型中所有可训练参数的数量。它反映了模型的复杂度。

在神经网络中,这些参数包括权重(Weights)偏置(Biases)

权重用于表示神经元之间连接的强度,偏置则是用于调整神经元的激活阈值。参数量是衡量模型复杂度的一个重要指标,它在很大程度上影响着模型的存储需求、训练时间和计算资源消耗等。

🔗示例:一个简单的全连接神经网络层 y = W x + b y = Wx + b y=Wx+b,如果 x x x是一个长度为 n n n的向量, y y y是一个长度为 m m m的向量,那么这个层的参数量为 n × m + m n\times m+m n×m+m W W W的参数数量为 n × m n\times m n×m b b b的参数数量为 m m m)。

红框中的2694806 parameters就是模型可训练参数的数量。2.69M parameters

在这里插入图片描述


11、计算量(Computational Complexity)

定义:FLOPs(Floating - Point Operations)即浮点运算次数,是衡量模型计算量的一个重要指标。

它表示模型在执行一次前向传播过程中所需的浮点数计算次数,包括加法、乘法、除法等运算。计算量反映了模型在进行推理或训练时的计算复杂程度,对于评估模型的运行效率、硬件资源需求(如 CPU、GPU 的计算能力)以及推理速度等方面具有重要意义。

🔗示例:对于一个卷积层,其计算量的计算涉及到卷积核的大小、输入和输出通道数等因素。假设一个卷积层的输入特征图大小为 H × W × C i n H\times W\times C_{in} H×W×Cin,卷积核大小为 k × k k\times k k×k,输出通道数为 C o u t C_{out} Cout,则其FLOPs大约为 H × W × C i n × C o u t × k × k H\times W\times C_{in}\times C_{out}\times k\times k H×W×Cin×Cout×k×k(这是一个简化的计算,忽略了一些偏置项等因素)。

换算公式

  • MFLOPS(megaFLOPS):等于每秒一百万( = 1 0 6 =10^{6} =106)次的浮点运算。

  • GFLOPS(gigaFLOPS):等于每秒十亿( = 1 0 9 =10^{9} =109)次的浮点运算。

  • TFLOPS(teraFLOPS):等于每秒一万亿( = 1 0 12 =10^{12} =1012)次的浮点运算,(1太拉)。

  • PFLOPS(petaFLOPS):等于每秒一千万亿( = 1 0 15 =10^{15} =1015)次的浮点运算。

  • EFLOPS(exaFLOPS):等于每秒一百京( = 1 0 18 =10^{18} =1018)次的浮点运算。

  • ZFLOPS(zettaFLOPS):等于每秒十万京( = 1 0 21 =10^{21} =1021)次的浮点运算。

红框中的8.2 GFLOPs就是模型的浮点运算次数。

在这里插入图片描述

📌TiPs

  • FLOPs(Floating - Point Operations):如前面所讲,它是指浮点运算次数,用于衡量模型在执行一次前向传播过程中所需的浮点数计算的数量。这是一个表示计算量大小的指标,重点关注的是计算任务的规模,与模型结构的复杂程度有关,不涉及时间相关的概念。
  • FLOPS(Floating - Point Operations Per Second):是每秒浮点运算次数,用于衡量计算设备(如CPU、GPU)的计算性能。它描述的是硬件在单位时间(每秒)内能够执行的浮点运算的数量,是一个速度相关的指标。

12、推理速度FPS(Frames Per Second)

  • 定义:每秒能够处理的图像帧数,用于衡量模型在实际应用中的实时性。

🔗示例:如果一个模型在处理100张图像时,总共花费了10秒,则其FPS为 100 / 10 = 10 100/10 = 10 100/10=10帧/秒。这意味着该模型每秒可以处理10张图像。

YOLO模型的验证阶段,红框中的Speed代表检测一张图片所需的时间,其中包括预处理时间推理时间后处理时间,这和BatchSize设置的大小有关。一般BatchSize越大,速度越快。

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com