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

机器学习模型度量指标(混淆矩阵、准确率、精确率、召回率、F1分数、ROC曲线、AUC、平均精度均值)

我们研究的是多分类问题,下面所有例子以多分类问题举例

混淆矩阵(Confusion Matrix)

混淆矩阵( Confusion Matrix )是一个表格,用于可视化机器学习模型在分类问题上
的性能。混淆矩阵的行表示实际类别,列表示预测类别。矩阵中的每个单元格显示了
实际类别与预测类别组合中的样本数量。

定义:用于展示多分类模型预测结果与真实标签的对应关系矩阵,直观反映各类别的预测正确 / 错误情况。
维度:若有 K 个类别,则混淆矩阵为 K×K 矩阵。

1. 矩阵结构解析

以 3 分类问题(类别 A、B、C)为例,混淆矩阵格式如下:

真实\预测ABC
ATP_AFP_A→BFP_A→C
BFP_B→ATP_BFP_B→C
CFP_C→AFP_C→BTP_C
混淆矩阵的组成部分:

TP_i(True Positive_i):类别 i 的正确预测数(对角线元素)。

FP_i→j(False Positive_i→j):真实为 i 类但被误判为 j 类的样本数(非对角线元素)。

2. 案例说明

假设预测 100 个样本(A 类 30 个、B 类 30 个、C 类 40 个),混淆矩阵如下:

真实\预测ABC
A2532
B2244
C3334
 

TP_A=25(A 类正确预测 25 个),FP_A→B=3(A 类误判为 B 类 3 个),其余同理。

准确率(Accuracy)

准确率 (accuracy) :是指模型预测正确的样本数比上总样本数的比重(是针对模型的)


特点:整体模型的预测正确率,但对样本不均衡问题不敏感(如某类样本极少时,正确预测该类对准确率贡献小)。

精确率(Precision)(分母为列求和)

针对每一个类别,预测正确的样本数比上预测出来的样本数(预测为某类的样本中实际正确的比例(在混淆矩阵里,行表示真实类别,列表示预测类别,预测正确的样本数在对角线上)

召回率(Recall)(分母为行求和)

针对每一个类别,预测正确的样本数比上实际存在的样本数(实际为某类的样本中被正确预测的比例)(在混淆矩阵里,行表示真实类别,列表示预测类别,预测正确的样本数在对角线上)

精确率和召回率之间的关系

🌟 ​核心比喻

想象你是一个渔夫在捞鱼:

  • 精确率​:你捞上来的鱼里,​有多少是真鱼​(而不是垃圾、水草)。
    → ​​“捞得准不准”​​(避免误捞)。
  • 召回率​:整个池塘里所有的鱼,​你捞上来多少
    → ​​“捞得全不全”​​(避免漏捞)。

两者矛盾​:

  • 如果你用特别密的网(严格),捞上来的基本都是鱼(高精确率),但可能漏掉很多鱼(低召回率)。
  • 如果你用特别松的网(宽松),能捞到大部分鱼(高召回率),但会混进很多垃圾(低精确率)。
 ​两者的关系
  1. 此消彼长​:

    • 模型越严格 → ​精确率高,召回率低​(少犯错,但会漏东西)。
    • 模型越宽松 → ​召回率高,精确率低​(多抓取,但混进错误)。
  2. 平衡方法​:

    • F1分数​:精确率和召回率的“调和平均”(既要准,又要全)。
    • 业务需求决定​:
      • 医疗诊断:​高召回率​(宁可误诊,不能漏诊)。
      • 推荐系统:​高精确率​(宁可少推荐,不能推错)。

F1 分数(F1-Score)

f1_Score 是精确率( Precision )和召回率( Recall )的调和平均数,用于评估分类模
型的性能。 f1_Score 0 1 之间, 1 表示完美的精确率和召回率, 0 表示两者都很
差。

多类分类任务评级指标

精度、召回率和 F1 分数等均针对两类分类任务。针对多类分类任务,一种方式
是将 C 分类的评价拆成 C 个两类分类的评价,然后综合多个两类分类指标以得到
评价多类分类任务的指标。综合的方式有微观( Micro )、宏观( Macro )、加
权( Weighted )、样本( samples )等。
微观( Micro ):对每个样本(不分类别)计算全局的指标,每个样本的权重
相同。多标签任务中首选,也可用于多类分类。
宏观( Macro ):计算每个类别(二分类)的指标,再求平均,每个类别的权
重相同,会放大少数类(样本数目较少的类)的影响。
加权( Weighted ):计算每个类别的指标,每类的权重与该类样本数目有
关,可处理不同类别样本数目不均衡问题。
样本( samples ):计算每个样本的指标,然后求平均,仅适用于多标签问

ROC曲线、AUC 

区别于二分类

  1. 一对多(One-vs-Rest, OVR)
  2. 一对一(One-vs-One, OVO)
  3. 微平均(Micro-average)与宏平均(Macro-average)

平均精度均值(mAP,mean Average Precision)

在多分类问题中,平均精度均值(mAP,mean Average Precision) 是一种综合评估模型性能的重要指标,尤其适用于需要考虑样本排序和类别相关性的任务(如目标检测、信息检索、图像分类等)。下面从基础概念、计算流程到多分类场景的扩展进行详细解析。

核心概念:AP(Average Precision)

AP 是衡量单个类别分类效果的指标,其核心思想是:在所有可能的召回率水平下,计算精确率的平均值,反映模型对该类样本的 “排序质量”。

2. AP 的计算流程(以二分类为例,多分类需扩展)

假设模型对某类样本的预测结果按置信度从高到低排序,依次将每个样本视为 “正类阈值”,计算对应的精确率和召回率,最终 AP 是这些精确率的加权平均。具体步骤:

  1. 排序预测结果:按置信度从高到低排序所有样本。
  2. 逐样本计算 TP/FP
    • 若样本真实类别为正类,则记为 TP,否则为 FP。
  3. 累积精确率和召回率
    • 前k个样本的精确率:前k个中的 TP 数 / k。
    • 前k个样本的召回率:前k个中的 TP 数 / 总正类样本数。
  4. 计算 AP
    • 方法 1:全点插值法(现代常用):对每个召回率点r,取所有召回率≥r时的最大精确率,再求这些精确率的平均值(本质是计算精确率 - 召回率曲线下的面积)。
    • 方法 2:11 点插值法(历史方法):在召回率为 0, 0.1, ..., 1.0 的 11 个点上,取对应最大精确率的平均值。
多分类场景下的 mAP 计算

多分类问题中(如C个类别),mAP 是每个类别 AP 的平均值,核心是将多分类转化为多个二分类问题处理。

对每个类别c,将其视为 “正类”,其他C−1个类别视为 “负类”,形成C个二分类任务。例如,在三分类问题(类别 A、B、C)中:

  • 计算类别 A 的 AP 时,将 A 视为正类,B 和 C 视为负类;
  • 同理处理类别 B 和 C。

以目标检测任务(典型多分类场景)为例,假设模型输出每个检测框的类别、置信度和坐标,计算 mAP 的步骤如下:

步骤 1:对每个类别单独处理

以类别c为例:

  1. 收集所有预测框:筛选出预测为类别c的所有检测框,按置信度从高到低排序。
  2. 确定真实正类样本:所有真实标签为类别c的目标。
  3. 计算每个预测框的 TP/FP
    • 对于每个预测框,若与某真实正类目标的 IoU(交并比)≥阈值(如 0.5),且该真实目标未被其他更高置信度的预测框匹配过,则记为 TP;否则为 FP(包括 IoU 不足或重复匹配)。
步骤 2:计算单个类别的 AP

基于步骤 1 的 TP/FP 序列,按 AP 的计算方法(全点插值法)计算类别c的 AP:

  • 例如,假设排序后的预测框依次为p1​,p2​,...,pn​,前k个框中有tk​个 TP,则前k个框的精确率为tk​/k,召回率为tk​/T(T为类别c的总真实目标数)。
  • AP 是所有召回率点对应的最大精确率的平均值(即精确率 - 召回率曲线下的面积)。
步骤 3:计算 mAP

对所有C个类别的 AP 取算术平均值:

三、示例:mAP 计算实例

假设一个三分类问题(类别 A、B、C),每个类别有 2 个真实目标,模型对每个类别输出 5 个预测框(按置信度排序),如下表所示:

类别 A 的 AP 计算
预测框置信度真实标签是否为 AIoU≥0.5?TP/FP前 k 个框的 TP 数精确率(前 k 个)召回率(前 k 个)
10.9TP11/1=1.01/2=0.5
20.8-FP11/2=0.51/2=0.5
30.7TP22/3≈0.6672/2=1.0
40.6-FP22/4=0.52/2=1.0
50.5-FP22/5=0.42/2=1.0

  • 计算各召回率点的最大精确率
    • 召回率 = 0.5 时,最大精确率为 1.0(来自 k=1);
    • 召回率 = 1.0 时,最大精确率为 0.667(来自 k=3);
    • 其他召回率点无新值。
  • AP_A = (1.0 + 0.667) / 2 ≈ 0.833。
类别 B 的 AP 计算
预测框置信度真实标签是否为 BIoU≥0.5?TP/FP前 k 个框的 TP 数精确率召回率
10.9TP11.00.5
20.8TP21.01.0
30.7-FP20.6671.0
40.6-FP20.51.0
50.5-FP20.41.0

  • 召回率 = 0.5 时,精确率 = 1.0;召回率 = 1.0 时,最大精确率 = 1.0(来自 k=1 和 k=2)。
  • AP_B = (1.0 + 1.0) / 2 = 1.0。
类别 C 的 AP 计算

假设模型对类别 C 的预测较差,所有预测框均为 FP,则 AP_C=0。

最终 mAP

mAP=30.833+1.0+0​≈0.611

关于ROC曲线、AUC、平均精度均值,后面复习更多再补充

相关文章:

  • (泛函分析)压缩映射
  • 线性回归原理推导与应用(七):逻辑回归原理与公式推导
  • [yolov11改进系列]使用轻量级骨干网络MobileNetV4替换backbone的python源码+训练源码+改进流程+改进原理
  • S32K3开发问题-ADC采样电压一直为5V原因分析及处理
  • 探索链表的奇妙世界:从基础到高级应用
  • RIP 协议实验全记录:从配置到问题解决
  • Linux常见指令合集+知识点
  • 哪些实验需要强磁场
  • esp32+IDF V5.1.1版本编译freertos报错
  • C++八股 —— 手撕定时器
  • 树形DP
  • 如何快速解决 java maven项目中jar冲突的问题
  • 「Python教案」输入输出函数的使用
  • 为什么在设置 model.eval() 之后,pytorch模型的性能会很差?为什么 dropout 影响性能?| 深度学习
  • 人工智能杂谈(十二)大模型与小模型的应用场景及未来发展趋势
  • Nacos适配GaussDB超详细部署流程
  • 记录一次功能优化需求下的业务处理思路整理
  • 《AVL树完全解析:平衡之道与C++实现》
  • 算法学习笔记·数学·快速幂
  • C# 高性能写入txt大量数据
  • 做攻略的网站好/百度竞价是什么工作
  • 企业管理控制系统/百度seo查询系统
  • 做加盟正规网站/seo网站优化方法
  • 门户网站开发的背景和意义/seo公司品牌哪家好
  • 广告制作平台/网站搜索排名优化价格
  • 赌博类网站开发犯罪吗/宁波seo快速优化公司