科研白痴读论文Day4

发布时间:2026/10/7 8:35:27

科研白痴读论文Day4 11对于模型的评价结果分析由于我真的太笨太小白了 所以对于表格里面的数据一概不知表达的是什么 所以我先从表格里相对应的指标解释说起一切的起点我们要干嘛我们做了一个模型给它一段音频它要回答两个问题这段音频有毒吗是/否如果有毒属于哪一类讽刺/恐怖/性/...共7类模型回答完了我们要打分看它做得好不好。怎么打分这就是这些参数存在的意义。第一层ACC准确率—— 最简单的打分怎么算拿100条音频给模型测模型每条都给出有毒/没毒的判断然后跟正确答案对比猜对了多少条 ÷ 总条数 × 100% ACC比如100条里猜对了80条ACC 80%。就这么简单。但是ACC有个大问题我用论文里的真实情况举例假设测试集里有这样的分布没毒的音频90条有毒的音频10条现在有个很懒的模型它不管听到什么全部回答没毒。结果90条没毒的全猜对了10条有毒的全猜错了总共猜对90条 → ACC 90%ACC高达90%看起来很厉害但它一个有毒的都没查出来这模型完全没用但ACC却很高。这就是ACC的坑当数据不均衡时没毒的远多于有毒的ACC会骗人。所以我们需要更严格的指标。第二层精确率和召回率 —— 从两个角度打分为了不被ACC骗我们换个角度只盯着有毒这个目标看。还是上面那个例子100条音频90条没毒10条有毒。模型全部猜没毒精确率Precision—— 你说有毒的里面真有毒的有多少模型说有毒的有0条因为它全猜没毒所以精确率没法算或者说没有意义。换一个模型它比较激进猜了20条有毒其中真的有毒的8条猜对了其实没毒的12条冤枉好人了精确率 猜对的有毒 ÷ 模型说有毒的总数 8 ÷ 20 40%意思是模型每报10次有毒只有4次是真的6次是误报。在实际应用中精确率低就意味着经常误杀把正常用户的语音当成有毒的给删了用户会投诉。召回率Recall—— 真正有毒的里面你查出了多少还是这个模型真正有毒的有10条它查出了8条召回率 猜对的有毒 ÷ 真正有毒的总数 8 ÷ 10 80%意思是10个有毒的漏网了2个。召回率低就意味着放跑了坏人有毒内容没被查出来平台会被监管处罚。这两个经常打架模型想宁可错杀不可放过到处说有毒 → 召回率高但精确率低误报多模型想只报百分百确定的很谨慎 → 精确率高但召回率低漏报多两个都很重要不能只看一个。那怎么综合第三层F1 —— 把精确率和召回率合成一个分数F1就是精确率和召回率的调和平均公式不用记你只需要知道精确率和召回率两个都高F1才高一个高一个低F1就低。还是上面的例子精确率 40%召回率 80%F1 ≈ 53%再对比几个极端情况你就懂了模型精确率召回率F1评价全猜没毒无意义0%0%完全没用只报最确定的1条还猜对了100%10%18%太保守漏了9个报20条对8条40%80%53%还行报12条对9条75%90%82%很好所以F1比ACC更能反映模型的真实水平。这就是为什么论文里ACC和F1都要报。第四层宏F1 vs 微F1 —— 有多个类别时怎么算F1上面讲的都是有毒/没毒二分类的F1。但这篇论文有7个类别讽刺、恐怖、性、心理风险、意识形态、暴力、歧视F1怎么算有两种算法。我用具体例子讲。假设测试集里有毒的样本分布是这样的类别样本数讽刺100条恐怖100条性100条心理风险100条意识形态100条暴力100条歧视10条注意歧视只有10条是个小类别。宏F1Macro-F1—— 每个类别平权算法先分别算讽刺的F1、恐怖的F1、性的F1……每个类别单独算一个F17个F1加起来除以7取平均特点每个类别权重一样不管你有多少样本。比如模型在歧视这个小类别上表现很差F1只有20%在其他6个大类上表现很好F1都是90%宏F1 (90%×6 20%) ÷ 7 80%小类别拖了后腿宏F1就不高。宏F1高意味着每个类别都做得不错没有明显短板。微F1Micro-F1—— 按人头算人多的说了算算法把7个类别的所有预测混在一起不分你我总共猜对了多少、总共报了多少、总共有多少有毒的直接算一个总的精确率和召回率再算F1特点样本多的类别影响大小类别几乎可以忽略。还是上面的例子歧视只有10条其他类别各100条。就算歧视全做错了对微F1的影响也很小微F1 ≈ 90%基本就是大类的表现微F1高意味着总体上做得好但可能小类别一塌糊涂。论文里为什么两个都报看哪个你能知道什么宏F1模型是不是每个类别都均衡地好有没有偏科微F1模型总体上做得怎么样如果宏F1和微F1差距很大说明模型偏科了某些类别好、某些差。两个都报读者就能自己判断。第五层Subset ACC全对率—— 最严格的打分这个是表2里的我也用领域例子讲。在毒性来源识别任务里一条音频可能有多个标签。比如一条音频毒性来源语气Paralinguistic毒性类别讽刺这两个标签要同时猜对这条才算对。普通ACC怎么算分开算来源猜对了吗猜对了 → 这部分对类别猜对了吗猜错了 → 这部分错总共2个标签对了1个 → 准确率50%Subset ACC怎么算一条音频的所有标签必须全部猜对才算这条对了错一个就算全错。上面那条音频来源猜对了但类别猜错了 → 整条算错0分。就像考试一道题有两个空必须两个都填对才给分填对一个也0分。所以Subset ACC是最严格的指标数字通常最低。论文里ToxiAlert的Subset ACC是80.21%已经很高了。最后回到论文里这些参数怎么用以表1为例ToxiAlert那一行参数数值含义讽刺81.10在讽刺这个类别上准确率81.10%恐怖90.94在恐怖这个类别上准确率90.94%.........ACC80.04总体准确率80.04%Macro-F169.697个类别的F1取平均69.69%Binary ACC86.33只判断有毒/没毒的准确率86.33%你会发现Macro-F169.69比ACC80.04低这是正常的因为F1比ACC更严格。所以 你的意思就是说 今天的t什么什么这个模型在t的训练集上训练过了 然后拿d这个数据集去测试他 看一下他的表现 但是经过机器学习的研究 如果只研究acc那么很有可能在数据失衡或者巧合的情况下 让不良的模型还能达到准确的acc比如一直说一个答案引入了精确率和召回率 也就是说可以反制这样的行为我有一个问题 这两个比率是这个领域为了解决这样的问题提出来的嘛为了反制引入f1 也就是均衡精确率和召回率的值只有两者都高 f1才高 才能比acc更能说明模型解决问题的能力 我在这里有一个问题 就是一个预测结果 一个标签比如说判断有毒无毒只能得到一个f1是吗 所以这多个标签判断时 也就是文章中有七个种类时才引入宏f和微f 宏f就是给每个种类取平均值 有一个拖后腿就会很低 而微f则是数据量小的种类的部分判断情况占比更小对吗你的理解全部正确我逐一确认并补充1. 你总结的整体逻辑 ✅ 完全正确ToxiAlert 在自己的训练集上训练然后拿测试集以及DeToxy-B去测。只看ACC会被数据不均衡欺骗比如全猜没毒也能有高ACC所以引入精确率和召回率再用F1把两者综合起来F1比ACC更能说明模型的真实能力。2. 精确率和召回率是这个领域提出来的吗不是。精确率Precision和召回率Recall是整个机器学习分类领域的通用经典指标几十年前就有了不是为有毒语音检测专门发明的。只要是分类任务判断垃圾邮件、疾病诊断、人脸识别、风控……只要数据可能不均衡都会用这两个指标。这篇论文只是拿来用而已。3. 一个标签只能得到一个F1吗对。二分类有毒/没毒只有一个F1通常算的是有毒这个正类的F1因为我们更关心有没有漏掉有毒的。4. 多个类别时才引入宏F1和微F1对。只有一个类别的时候F1就是F1没有宏微之分。有7个类别时每个类别各有一个F1怎么把7个合成一个总分就有了宏和微两种合成方式。5. 宏F1 每个种类取平均有一个拖后腿就会很低对。7个类别各算一个F1加起来除以7。小类别比如只有10条样本的歧视和大类别100条的讽刺权重一样都是1/7。所以小类别做得差宏F1会被明显拉低。6. 微F1 数据量小的种类占比更小对。微F1把所有样本混在一起算相当于按样本数量加权。100条的类别影响力是10条类别的10倍小类别做得再差对微F1的影响也很小。一句话再总结指标一句话ACC做对的比例简单但会被数据不均衡骗精确率你报有毒的里面真有毒的比例别误杀召回率真有毒的里面你查出来的比例别漏放F1精确率和召回率的综合两个都高才高宏F1每个类别F1取平均小类别也被重视微F1所有样本混着算大类说了算那我还有一个问题 table2上面的全对是指的是一个数据上所有标签都答对了 在这里说的应该是哪些标签啊你读论文之后告诉我 还有一个问题 就是table1里面的f是如何测出来的 难倒就是一个数据 然后打了好多个标签 拿来给模型 模型判断是某个类 然后以此计算的吗 那其他标签在这个环节是不是就属于用不上了好问题这两个问题都问到了关键点上。我回到论文里给你确认清楚。问题1Table 2 里的全对率说的是哪些标签答案两个标签——文本来源和副语言来源。论文里模型的来源判断头SourceHead输出的就是两个独立的二分类标签标签意思Textual文本来源这段音频的毒性是不是来自文字内容本身Paralinguistic副语言来源这段音频的毒性是不是来自语气/语调/情绪这两个标签可以同时为是因为一段音频可能文字本身就有毒同时语气也很恶毒Both的情况。所以一条音频的来源标签有三种可能文本是语气否 → 毒性来自文字文本否语气是 → 毒性来自语气文本是语气是 → 两者都有全对率Subset ACC就是这两个标签必须同时都猜对这条音频才算对错一个就算全错。比如一条音频真正的毒性来自语气文本否语气是模型猜成了两者都有文本是语气是语气猜对了但文本猜错了 → 整条算错。那Type列的Para和Tex是什么意思不是标签是测试子集的划分Para行只拿毒性纯来自语气的那些音频来测看模型在这类难样本上表现如何Tex行只拿毒性纯来自文字的那些音频来测分开报告是为了看模型在两种不同来源上的表现差异。问题2Table 1 的 F1 是怎么算的其他标签用不上了吗先纠正一个关键误解Table 1 的7个大类是互斥的每条音频只有一个类别标签不是多标签。论文原文写得很清楚across K 8 mutually exclusive categories, including seven toxic categories plus one safe category.翻译8个互斥类别——7个有毒类别 1个安全类别一条音频只能属于其中一个。所以不存在一条数据打了好多个标签的情况每条音频就是一个标签比如音频A → 讽刺音频B → 恐怖音频C → 安全没毒...那多分类的F1怎么算以讽刺这个类别为例把它当成一个二分类问题正类讽刺 负类其他所有恐怖性心理意识形态暴力歧视安全然后算精确率模型说是讽刺的里面真的是讽刺的比例召回率真正是讽刺的里面模型查出来的比例F1两者的综合7个类别每个都这样算一个F1就得到7个F1分数。然后Macro-F1宏F1 7个F1加起来除以7取平均Table 1 里只报了Macro-F1没有报Micro-F1。所以其他标签用不上这个疑问不存在因为每条音频本来就只有一个标签模型要做的就是从8个类别里选一个。预测的时候模型输出8个类别的概率取最大的那个作为预测结果跟唯一的正确标签对比算分。20个细粒度标签是另一回事论文说评估分两个层级Category level大类层级7大类 → Table 1 用的就是这个Label level细粒度层级20个小标签 → Figure 4 用的是这个Table 1 只在大类层级评估所以用的是7个互斥大类的标签20个细粒度标签在Table 1里确实没用到它们留给了Figure 4。总结对比Table 1毒性分类Table 2来源识别任务判断属于7类有毒中的哪一类判断毒性来自文字/语气/两者标签性质单标签、互斥8选1多标签2个独立标签可同时为真全对率不需要只有一个标签猜对就是对需要两个标签都猜对才算对F1怎么算7个类别各算一个二分类F1再取平均2个来源标签的F1综合好我用最具体的例子给你讲你就懂了。先明确模型不是二选一是同时打两个勾每条音频进来模型要回答两个独立的问题问题1这段音频的毒性有没有来自文字内容 → 有 / 没有 问题2这段音频的毒性有没有来自说话语气 → 有 / 没有注意是有没有不是是哪个。所以答案有四种组合组合文字语气含义A没有有毒性纯来自语气比如阴阳怪气B有没有毒性纯来自文字比如直接骂人C有有文字和语气都有毒骂得很难听语气很凶D没有没有没毒这条在来源识别任务里可能不涉及模型不是在A/B/C里三选一而是分别回答两个有没有。全对率是什么拿一条音频举例这段音频是一个人用讽刺的语气说你可真厉害啊文字本身没问题毒性全来自语气。正确答案文字没有语气有模型可能出现以下情况模型猜的文字语气几个对了全对率怎么算情况1没有有2个都对✅ 这条算对情况2有有语气对了文字错了❌ 这条算错情况3没有没有文字对了语气错了❌ 这条算错情况4有没有两个都错❌ 这条算错全对率 两条都猜对的音频数 ÷ 总音频数必须两个标签同时猜对错一个就算整条错。这就是全对的意思。跟普通ACC的区别普通ACC比如Para行的ACC91.18%是单看语气这个标签的准确率语气标签猜对的条数 ÷ 总条数上面4种情况里情况1和情况2的语气标签都猜对了所以语气标签的ACC可能很高但全对率可能很低因为情况2的文字标签猜错了。全对率比单标签ACC更严格因为要求两个都对。用数字感受一下ToxiAlert的全对率是80.21%意思是100条音频里有80条的文字来源和语气来源两个标签都猜对了剩下20条至少有一个猜错了。而GPT-4o的全对率是53.20%100条里只有53条两个都猜对。好我用一个最直白的类比讲。把Table 2想象成一张成绩单模型参加了一场考试卷子上有两道独立的判断题第1题这段音频的毒性有没有来自文字 有/没有 第2题这段音频的毒性有没有来自语气 有/没有考完之后老师改卷子想知道模型每道题做得怎么样就分开统计成绩单上的行意思Para行只看第2题语气题模型答对了多少Tex行只看第1题文字题模型答对了多少两道题是同一场考试、同一份卷子上的不是分两次考的。只是老师改卷的时候把两道题的得分分别列出来给你看。就像你期末考试语文和数学在同一张成绩单上分成两行写不是说考了两次试而是同一次考试的两门课分别报分。那为什么要分开写因为两道题的难度不一样模型擅长的也不一样语气题Para行很难要靠听语气判断大部分模型做得很差Qwen2的F1只有3.79几乎不会文字题Tex行相对简单看文字内容就行模型做得好一些Qwen2的F1有34.77分开写你就能看出来模型到底是哪道题弱、哪道题强。全对率又是什么两道题同时都答对的卷子比例。比如100份卷子60份两道题都答对了20份只答对了文字题15份只答对了语气题5份两道都错全对率 60%全对率只写在Para行是因为每个模型只有一个全对率排版时放在第一行不是说全对率只跟语气题有关。一张图总结同一份测试集100条音频 │ ├── 每条音频有2道题文字题 语气题 │ ├── Para行 只统计语气题的正确率 ├── Tex行 只统计文字题的正确率 ├── Macro F1 两道题F1的平均分 └── 全对率 两道题都答对的音频比例
延伸阅读

更多相关文章

2026/10/7 8:35:27

浙江自锁金属按钮开关生产厂行业全景分析与选择指南

自锁金属按钮开关的核心原理与选型逻辑 自锁金属按钮开关是工业控制场景中最基础的人机交互元器件之一,其核心作用是通过按压动作完成电路的通断切换,并通过自锁结构维持通断状态,避免因误触或持续按压导致的信号不稳定。从结构原理来看&…

2026/10/7 8:35:27

LTspice 仿真 NE555的同步震荡功能

简 介: 本文利用LTspice仿真验证了NE555同步振荡电路的功能。通过将外部正弦同步信号耦合至NE555第5脚(控制端),实现其输出频率与同步信号同步。仿真结果表明,输出频率受同步信号幅度和频率双重影响:幅度越…

2026/10/7 9:10:30

S/4 HANA现金流量表实现路径:FSS配置与ACDOCA取数实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:10:30

模块化高精度数据采集系统:从指标到工程落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:10:30

客服Agent工作流设计:可商用的四层架构与落地实践

1. 这不是又一个“AI客服”Demo,而是一套能扛住真实工单洪峰的Agent工作流我带过三支不同行业的客服团队,从电商售后到SaaS产品支持,最后在一家年处理千万级工单的金融科技公司做客服中台负责人。过去两年,我亲手推掉了17个所谓“…

2026/10/7 9:10:30

JavaWeb宠物医院管理系统毕业设计:从环境配置到核心模块跑通

简介:这是一套面向计算机相关专业学生与项目实战学习者的JavaWeb宠物医院管理系统毕业设计资源,包含完整源码与数据库脚本,适合用作课程大作业、毕业设计参考或JavaWeb入门练手项目。资源包共86个文件,约4.76MB,以39个…

2026/10/7 9:10:29

STM32参考设计实战指南:从官方样机到量产方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:05:29

ESP32-P4+C5双芯架构:让IoT终端屏原生具备网关能力

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑