目录

前言:基础评估指标(从 “对与错” 到 “准与全”)

一、基础评估4大指标

二、类比理解

2.1 准确率(Accuracy):整体对的比例

2.2 精确率(Precision):你说是垃圾的,有多少真的是?

2.3 召回率(Recall):所有垃圾邮件中,你抓住了多少?

2.4 F1 分数(F1 Score):“精确率”和“召回率”的平衡点

小结

三、一个简单的例子练练手

四、大典型业务场景指标侧重


前言:基础评估指标(从 “对与错” 到 “准与全”)

在自然语言处理(NLP)或计算机视觉(CV)等任务中,模型微调(Fine-tuning)已成为迁移学习不可或缺的步骤。我们常说“调模型”,可问题是,调到什么程度才算调得好?核心就在于:如何评估微调后的模型是否达标

本文将系统梳理模型微调过程中的核心评估指标,帮助你科学判断模型性能,避免“调不准、评不清”的尴尬局面。


一、基础评估4大指标

微调模型后,第一步就是搞清楚“预测得准不准”。以下四类基础指标,是所有监督学习任务的评估基石:

指标公式适用场景
准确率 Accuracy(TP + TN) / (TP + TN + FP + FN)类别均衡时反映整体正确性
精确率 PrecisionTP / (TP + FP)假正例代价高(如垃圾邮件)
召回率 RecallTP / (TP + FN)假负例代价高(如疾病漏诊)
F1 分数 F1 Score2 × (P × R) / (P + R)平衡考虑“准”与“全”,适合类别不平衡场景

理解提示

  • TP:预测为正且实际为正

  • FP:预测为正但实际为负

  • FN:预测为负但实际为正

  • TN:预测为负且实际为负


二、类比理解

📦 假设你在做一个“垃圾邮件识别器”

你的模型要判断每封邮件是否是垃圾邮件(正类),正常邮件是非垃圾邮件(负类)。

模型预测后你得到这样的结果:

实际 \ 预测垃圾邮件(正类)正常邮件(负类)
垃圾邮件(正类)✅ 预测对了:TP❌ 漏掉了:FN
正常邮件(负类)❌ 误判了:FP✅ 没判断是垃圾:TN
缩写中文名称含义(预测结果 vs 实际情况)举例说明
TP真正例模型预测是垃圾邮件,实际也是垃圾邮件你说它是垃圾,它也确实是垃圾(预测对了)
FP假正例模型预测是垃圾邮件,但实际是正常邮件你误把正常邮件当成垃圾邮件(误判)
FN假负例模型预测是正常邮件,但实际是垃圾邮件你没发现它是垃圾邮件(漏掉了)
TN真负例模型预测是正常邮件,实际也是正常邮件你说它是正常邮件,它也确实正常(预测对了)

 🧠 四个指标通俗解释

2.1 准确率(Accuracy):整体对的比例

你总共判断了多少封邮件?你猜对了多少?

📌 公式:

Accuracy = (TP + TN) / 总邮件数

 ✅ 适合用在“垃圾邮件”和“正常邮件”数量差不多时。如果90%都是正常邮件,那模型哪怕啥都不做,只说“都是正常邮件”,准确率都能高达90% —— 所以不能总用它判断。


2.2 精确率(Precision):你说是垃圾的,有多少真的是?

你标了10封垃圾邮件,结果只有6封真的是,其它4封是误判的(误伤),那么你的精确率是 60%。

📌 公式:

Precision = TP / (TP + FP)

 ✅ 适合在“误伤很严重”的场景,比如:

  • 正常邮件被误判为垃圾(你可能错过重要邮件)

  • 把好人当坏人(治安系统)


2.3 召回率(Recall):所有垃圾邮件中,你抓住了多少?

10封真实垃圾邮件你只识别出6封,那召回率是60%。还有4封你没发现,被放进了收件箱(漏判)

📌 公式:

Recall = TP / (TP + FN)

 ✅ 适合在“漏掉很严重”的场景,比如:

  • 癌症诊断(不能漏掉任何患者)

  • 安检(不能漏掉任何违禁物品)


2.4 F1 分数(F1 Score):“精确率”和“召回率”的平衡点

当你想又“抓得准”又“抓得全”,F1就是这个中间值。

 📌 公式:

F1 = 2 × (Precision × Recall) / (Precision + Recall)

✅ 适合 类别不平衡任务(比如只有1%的邮件是垃圾),因为准确率可能失真,而F1分数更真实反映模型在“正类”上的能力。


小结

🎯 一个表格总结四者:

指标问的问题更关注哪一类错误?举例适用场景
Accuracy总体猜对了吗?不区分分类均衡的数据
Precision说是“正”的,有多少是对的?少犯假正例(FP)垃圾邮件、司法错判
Recall真正的“正”,你找到了多少?少漏真正例(FN)癌症筛查、异常检测
F1 Score精确率 vs 召回率的折中平衡两者类别不平衡、重点关注正类

三、一个简单的例子练练手

假设我们有 100 封邮件:

  • 实际有 20 封是垃圾(正类),80 封是正常(负类)

  • 模型预测了 25 封为垃圾,其中:

    • 真正是垃圾的有 15 封(TP)

    • 误判的有 10 封(FP)

    • 漏掉的垃圾邮件有 5 封(FN)

    • 判断为正常的 75 封中有 70 封真的是正常(TN)

我们来算一下四个指标:

  • Accuracy = (TP + TN) / 所有邮件 = (15 + 70) / 100 = 85%

  • Precision = TP / (TP + FP) = 15 / (15 + 10) = 60%

  • Recall = TP / (TP + FN) = 15 / (15 + 5) = 75%

  • F1 = 2 × (0.6 × 0.75) / (0.6 + 0.75) ≈ 66.7%


四、大典型业务场景指标侧重

下面按 5 大典型业务场景 展开,说明为什么要偏重某一指标、具体怎么做权衡,并给出常见做法参考。读完你就知道:面对不同任务,该把“注意力”放在 Accuracy、Precision、Recall 还是 F1 上。

场景类型错误成本特点首选指标为什么常见做法 & Tips
1. 类别基本均衡(情感三分类、猫狗二分类等)正反例数量相近,FP 与 FN 代价也差不多准确率 (Accuracy)既能直观反映整体正确率,又不会被类别失衡“稀释”- 仍需同时监控 P/R,防止模型“懒惰”- 若类别稍不平衡,可补充 Macro‑F1
2. 假正例代价高(垃圾邮件、司法误判、广告点击扣费)把正常样本错判为正样本会直接伤害用户或带来损失精确率 (Precision)希望“凡是你说是正类的,基本都靠谱”- 通过升高阈值提高 Precision- 将 FP 加入损失函数权重- 提供手动复核流程来弥补召回下降
3. 假负例代价高(癌症筛查、金融欺诈预警、危险品检测)漏掉真实正样本可能造成巨大风险召回率 (Recall)情愿多报几个可复查,也不能漏掉关键正例- 降低阈值提升 Recall- 采用级联模型:先高 Recall 粗筛→再高 Precision 精筛- 人工二审去除 FP
4. 类别极度不平衡(罕见缺陷检测、少数客户流失预测)正类稀少,Accuracy 失真,FP/FN 代价往往都高F1(宏或加权)同时关注“抓得全”与“抓得准”,避免单边倾斜- 报告 Macro‑F1 + per‑class P/R- 采样或代价敏感学习处理失衡- PR‑Curve 找最佳阈值
5. 多标签 / 大规模分类(文本多标签、商品千分类)单条样本可属于多类,或类数特别多微平均 F1 或 Micro P/R把所有 TP/FP/FN 汇总,更能体现全局覆盖- 业务看“能覆盖多少标签” → 看 Recall- 看“推荐列表质量” → 看 Precision@k- 别忘对长尾类别做 Macro‑分析

 具体权衡与实践建议

1、先问业务:错哪一种更痛?

  • 如果“错抓”比“漏掉”更痛 → 抓 Precision

  • 如果“漏掉”后果更严重 → 抓 Recall

  • 两者都痛且样本少 → 看 F1

2、多维监控不只单指标

  • 报告里同时列出 P、R、F1、支持数 (support)

  • 绘制 PR‑Curve / ROC‑Curve,方便运营或医学专家选阈值

3、阈值调优是最简单的杠杆

  • 二分类 softmax / sigmoid 输出 → 调阈值直接移动 P、R

  • 训练后根据验证集或业务线下实验(A/B)选点

4、代价敏感学习

  • 在损失函数里加权,把 FP 或 FN 的损失系数调高

  • 适用于极端不平衡或需定量衡量金钱/风险成本

5、把评估写进持续集成

  • 每次微调都产出同一套指标 + 混淆矩阵 + 曲线

  • 用 TensorBoard/wandb 做曲线对比,避免“局部最优”假象

快速记忆口诀

“均衡看准率,误伤看精确;漏检看召回,两难看 F1。”

只要先搞清“正类是谁、错误代价怎么量化”,再对号入座,你就能选对评估指标,给微调找准方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/87749.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/87749.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/87749.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于 栈帧变化完整流程图(函数嵌套)

一、什么是栈帧(Stack Frame) 当一个函数被调用时,会在栈上开辟一段空间,叫做 栈帧。 每个栈帧保存了: 函数的参数 返回地址(从哪里跳回来) 上一个栈帧的栈底指针(保存调用者的 E…

new与malloc[c++面试系列]

new与malloc的区别new顺从c的思想,在堆区申请一个对象,因此它会调用对象的构造函数进行初始化,它也应该调用构造函数;malloc在堆区申请一块空间,用于存放资源new无需指定对象大小,可以自动计算对象大小进行…

Go语言的sync.Once和sync.Cond

一.sync.OnceOnce(单次执行)用途:确保某个操作只执行一次(如初始化配置)核心方法:Do(f func()):保证 f只执行一次package mainimport ("fmt""sync" )var (config map[strin…

java整合itext pdf实现自定义PDF文件格式导出

springBoot结合itext pdf实现自定义PDF文件格式导出背景需求&#xff1a;使用PDF导出指定人员对应周次的打卡记录&#xff0c;每周对应星期几打卡过就打“√”。如下图&#xff1a;1、导入依赖导入itextpdf依赖<!-- itex PDF --> <dependency><groupId>…

从0开始学习计算机视觉--Day07--神经网络

当我们输入的变量是一个比较大的向量&#xff08;比如有4096项&#xff09;&#xff0c;函数是求返回输入的最大值&#xff0c;要求的权重矩阵的梯度就是4096 * 4096的大小&#xff0c;而实际上我们的输入往往都不只有一个向量&#xff0c;那如果向量有一百个的话&#xff0c;是…

MySQL存储过程全解析

1、存储过程的概念 存储过程是事先经过编译并存储在数据库中的一段sql语句的集合&#xff0c;调用存储过程可以简化应用开发人员的很多工作&#xff0c;减少数据在数据库和应用服务器之间的传输&#xff0c;对于提高数据处理效率是很有好处。 2、存储过程的优点 存储过程是通…

后端密码加密:守护用户数据的钢铁长城

&#x1f512;“系统被拖库了&#xff01;” 这可能是开发者最恐惧的噩梦。而当用户密码以明文暴露时&#xff0c;灾难将席卷每个用户——密码重用的惯性会让黑客轻松攻破他们在其他平台的账户。作为后端开发者&#xff0c;我们握有守护用户安全的第一道钥匙&#xff1a;科学的…

Flutter 3.29+使用isar构建失败

执行命令&#xff1a;flutter build apk --release 报错 Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!FAILURE: Build failed with an exception. …

SQL 转 Java 实体类工具

拿到数据库建表语句后怎么高效写 Java 实体类&#xff1f;这款工具直接帮你全自动生成&#xff01; 作为一名后端 Java 工程师&#xff0c;你是不是也经历过以下情况&#xff1a; ✅ 拿到一份完整的建表 SQL&#xff0c;却要手动写 Java Bean ✅ 字段几十个&#xff0c;嵌套复…

创客匠人视角下:创始人 IP 打造与知识变现的深度耦合路径

在知识经济蓬勃发展的当下&#xff0c;创始人 IP 打造与知识变现的融合已成为行业破局关键。创客匠人作为深耕知识付费赛道多年的服务平台&#xff0c;其创始人老蒋提出的 “土壤构建能力” 理论&#xff0c;为理解这一融合逻辑提供了独特视角。从本质来看&#xff0c;创始人 I…

【网络协议安全】任务13:ACL访问控制列表

目录 一、概念 1、前言 2、应用场景 3、ACL分类 基于ACL标识方法的划分 基于对IPv4和IPv6支持情况的划分 基于ACL规则定义方式的划分 4、ACL的基本原理 ACL的组成 ACL的匹配机制 5、ACL常用匹配原则 6、ACL常用的匹配项 生效时间段 IP承载的协议类型 源/目的IP…

TensorFlow 安装使用教程

一、TensorFlow 简介 TensorFlow 是由 Google 开发的开源深度学习框架&#xff0c;支持数据流图计算&#xff0c;可运行于 CPU/GPU/TPU。它被广泛应用于语音识别、图像处理、自然语言处理等多个 AI 领域。 二、安装 TensorFlow 2.1 pip 安装&#xff08;默认 CPU 版本&#x…

腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE MySQL版)

数据库交付运维专家- 腾讯云TDSQL(MySQL版) 适合人群&#xff1a; 适合TDSQL(MySQL版)各组件扩缩容、运维、性能优化、故障解决、压力测试等数据库开发、运维、管理人员。 认证考试&#xff1a; 单选*40道多选*20道上机*20道 考试时长&#xff1a; 理论考试120分钟,上机考试…

webUI平替应用,安装简单,功能齐全

前言 在安装本地大模型后&#xff0c;我们都会为大模型安装一个用户界面&#xff0c;这样就可以实现语音输入&#xff0c;对话保存&#xff0c;微调&#xff0c;构建本地知识库等高阶功能。 目前最火的本地大模型UI&#xff0c;就是gihub上的webUI&#xff0c;但他不仅依赖较…

【Maven】Maven核心机制的 万字 深度解析

Maven核心机制的万字深度解析一、依赖管理机制全解&#xff08;工业级依赖治理方案&#xff09;1. 坐标体系的本质与设计哲学2. 依赖传递与仲裁算法的工程实现**冲突仲裁核心算法**企业级仲裁策略3. Scope作用域的类加载隔离原理4. 多级仓库体系架构设计二、构建生命周期底层原…

暑期前端训练day4

今天主要是有关周赛的&#xff0c;比赛的时候是用c写的并且是 ak了&#xff0c;但是就是想用js再复盘一下&#xff0c;也不能只是图一时之爽&#xff0c;如果是换在实际的场景里面我是不是只会用 c快速写出来。 最近也要从js逐渐转向ts&#xff0c;感觉Ts才是主旋律&#xff0c…

转Go学习笔记(2)进阶

前置&#xff1a;转Go学习笔记1语法入门 目录Golang进阶groutine协程并发概念梳理创建goroutine语法channel实现goroutine之间通信channel与range、selectGoModulesGo Modules与GOPATHGo Modules模式用Go Modules初始化项目修改模块的版本依赖关系Go Modules 版本号规范vendor …

无人机3控接力模式技术分析

一、运行方式 1. 接力控制流程 位置触发切换&#xff1a;飞控中心实时监测无人机位置&#xff0c;当进入预设的切换路线&#xff08;如靠近下一个机库或控制器覆盖范围&#xff09;时&#xff0c;触发切换流程。 控制权请求与验证&#xff1a; 当前控制器&#xff08…

Actor Critic对比PGValue-Based

目录 回顾一下policy gradient&#xff1a; QAC算法&#xff1a; A2C- advantage actor critic 问题&#xff1a; 1. 为什么要结合起来&#xff0c;能解决什么问题&#xff1f; 1. 策略梯度 (PG) 的优势与核心问题 2. 基于价值方法 (Value-Based) 的优势与局限性 3. 潜…

buuctf-re

1.findKey 打开是C而且有点乱,所以找关键步骤有一个加密进去是不能反编译的,有花指令, 这里有重复的部分把下面的NOP掉,重新定义函数’p’ 之后分析逻辑, // positive sp value has been detected, the output may be wrong! int __userpurge sub_40191F<eax>(int a1&l…