try ai
科普
编辑
分享
反馈
  • 分类指标:超越准确率

分类指标:超越准确率

SciencePedia玻尔百科
核心要点
  • 准确率是评估分类模型时一个具有欺骗性的指标,尤其是在数据不平衡的情况下,因为它无法区分不同类型的预测错误。
  • 精确率衡量的是模型做出的正向预测的准确性,而召回率衡量的是模型找出所有实际正例的完整性,两者之间存在着关键的权衡关系。
  • F1 分数通过调和平均数将精确率和召回率合并为一个单一数值,用以嘉奖在两个指标上都表现良好的模型。
  • 指标的选择取决于具体情境,并反映了我们所看重的价值,其应用范围从医疗诊断、工程学到评估算法公平性等不一而足。

引言

在人工智能的世界里,分类模型是强大的工具,能帮助我们理解复杂的数据,从识别垃圾邮件到诊断疾病。但我们如何知道这些模型是否优秀呢?评估模型性能的过程与构建模型本身同等重要,然而这一过程常常被过度简化。许多从业者本能地依赖单一数字——准确率——来判断一个模型的价值,这种做法可能具有危险的误导性,并导致部署无用甚至有害的系统。

本文直面这一知识鸿沟,超越了肤浅的评估方式,旨在提供对何为真正有效的分类模型的更深层次理解。我们将开启一段旅程,揭开每位数据科学家、研究人员和工程师都应了解的基本指标的神秘面纱。

首先,在“原理与机制”一章中,我们将剖析预测的基本组成部分,揭示准确率在不平衡数据集中的“暴政”,并引入更精细、更强大的概念:精确率(Precision)、召回率(Recall)和 F1 分数(F1-score)。您不仅将学习这些指标是什么,还将学会如何解读它们所代表的权衡。随后,“应用与跨学科联系”一章将把这些概念付诸实践,探讨指标的选择如何在医学、基因组学、工程学和人工智能伦理等领域发挥关键作用,证明这些不仅仅是抽象的数字,更是我们目标和价值观的体现。

原理与机制

在我们初步介绍之后,您可能会觉得评判一个分类模型很简单。我们有一台能做出预测的机器——比如,判断一封邮件是否为垃圾邮件——我们也有事实标签。我们只需计算机器预测正确的次数,然后除以邮件总数。这样我们就得到了一个百分比,一个分数,一个等级。我们将这个指标称为​​准确率​​(Accuracy),表面上看,它似乎是衡量性能最直观、最诚实的方式。在一段时间内,这感觉不错。0.95 或 95% 的准确率听起来像是一个稳拿的“A”。但如果我告诉您,这个简单直观的数字可能是一个诱人深入歧途的塞壬海妖,将我们引向灾难性失败的礁石呢?

“准确率”的诱惑与暴政

想象一个医生团队正在使用人工智能来筛查一种非常罕见但侵袭性很强的癌症。这种疾病非常罕见,每 1000 名患者中仅出现 1 例。现在,假设我们构建了一个极其简单的“模型”:它对见到的每一个人都只预测“没有癌症”。

它的准确率是多少?在 1000 人中,它将正确识别出 999 名健康个体。它只对那名单个确实患有此病的人预测错误。因此,它的准确率是 9991000=0.999\frac{999}{1000} = 0.9991000999​=0.999,即 99.9%!无论以何种标准衡量,这都是一个 A++ 的优等生。然而,这个模型却完全、彻底地无用。它什么都没学到,也永远无法拯救任何一个生命。事实上,它比无用更糟;它提供了一种危险的能力假象。

这就是准确率的暴政。在某一类别远比另一类别常见的情况下——我们称之为​​不平衡数据集​​(imbalanced dataset)——准确率由多数类别主导。模型仅仅通过猜测最常见的结果就能获得高分。这是现实世界中一个普遍存在的问题,从检测罕见疾病 和欺诈交易,到寻找有价值的新材料或功能性生物传感器,这些目标往往如同大海捞针。为了做得更好,我们必须超越这个单一的、具有欺骗性的数字,深入剖析我们模型成功与失败的本质。

预测的四种宿命

每当我们的模型做出一个二元预测(一个“是”或“否”的决策),只有四种可能的结果。思考这四种宿命是真正理解性能的关键。让我们以垃圾邮件过滤器为例。“正”类别是“垃圾邮件”,“负”类别是“非垃圾邮件”(通常称为“火腿邮件”)。

  • ​​真正例 (True Positive, TP):​​ 模型预测为“垃圾邮件”,而它确实是垃圾邮件。一次正确且成功的拦截。威胁被消除。

  • ​​真负例 (True Negative, TN):​​ 模型预测为“非垃圾邮件”,而它确实不是垃圾邮件。一次正确且成功的放行。您的重要邮件安全地躺在收件箱里。

  • ​​假正例 (False Positive, FP):​​ 模型预测为“垃圾邮件”,但它并不是垃圾邮件。这是一次“虚假警报”。您老板发来的重要邮件被扔进了垃圾箱,导致您错过了关键的截止日期。这是一种第一类错误。

  • ​​假负例 (False Negative, FN):​​ 模型预测为“非垃圾邮件”,但它确实是垃圾邮件。这是一次“漏检”。烦人(或恶意)的垃圾邮件溜进了您的收件箱,使其变得杂乱或带来安全风险。这是一种第二类错误。

您看,准确率只是把好的结果(TP+TN总数\frac{TP + TN}{\text{总数}}总数TP+TN​)混为一谈,而没有告诉我们所犯错误的种类。但在现实世界中,一个假正例的代价很少与一个假负例的代价相同。错过一封重要邮件(一个 FP)很烦人,但让一封网络钓鱼诈骗邮件进入您的收件箱(一个 FN)可能会造成毁灭性的财务损失。一个真正有用的评估必须区分这些错误。

科学家的两难:拖网 vs. 神枪手 (召回率 vs. 精确率)

一旦我们有了这四个计数,我们就可以构建更具洞察力的指标。其中最重要的两个是召回率(Recall)和精确率(Precision)。我喜欢将它们视为在“广撒网”和“成为技艺高超的神枪手”之间的权衡。

​​召回率​​(Recall),也称为​​灵敏度​​(Sensitivity)或真正例率(True Positive Rate),回答了这样一个问题:在我应该找到的所有目标中,我实际找到了多少?

Recall=TPTP+FN\text{Recall} = \frac{TP}{TP + FN}Recall=TP+FNTP​

分母 (TP+FNTP + FNTP+FN) 是数据中实际正例的总数(所有存在的垃圾邮件)。召回率衡量您成功捕获了其中的多少。它是衡量完整性的指标。如果您是一位系统生物学家,在一个巨大的基因组中搜索已知的与某种疾病相关的 20 个基因,而您的算法找到了其中的 4 个,那么您的召回率是 420=0.2\frac{4}{20} = 0.2204​=0.2。您只找到了您所寻找目标的 20%。

在医学筛查中,高召回率至关重要。您希望撒下一张大网,捕捉到每一个可能的疾病病例,即使这意味着您会错误地标记一些健康人进行进一步检查。一次“漏检”(一个假负例)的代价是一个人得不到治疗,这通常是不可接受的。

另一方面,​​精确率​​(Precision)回答了这样一个问题:在我声称为正例的所有预测中,有多少是真正正确的?

Precision=TPTP+FP\text{Precision} = \frac{TP}{TP + FP}Precision=TP+FPTP​

分母 (TP+FPTP + FPTP+FP) 是模型*喊“狼来了”*并预测为“正例”的总次数。精确率衡量了这些预测的纯度。它是衡量准确性的指标。如果您的生物传感器模型预测 10 个 DNA 设计将具有功能性(“ON”),但实验室中只有 5 个真正起作用,那么您的精确率是 510=0.5\frac{5}{10} = 0.5105​=0.5。您一半的实验室工作、时间和金钱都浪费在了虚假警报上。

在诸如推荐 YouTube 视频或进行股市预测等应用中,高精确率至关重要。您希望自己做出的推荐是好的。用户可能会原谅您没有向他们展示每一个他们会喜欢的视频(低召回率),但如果您不断向他们展示垃圾内容(低精确率),他们会很快对您的系统失去信任。

妥协的艺术:F1 分数

症结在于:精确率和召回率常常相互矛盾。如果您想提高召回率,您可以简单地降低标准。一个将每一封邮件都标记为垃圾邮件的过滤器将拥有完美的 1.0 召回率(它不会漏掉任何东西!),但其精确率将惨不忍睹,使您的收件箱毫无用处。相反,一个极其谨慎、只标记包含“尼日利亚王子寻求您的银行账户详情”短语的邮件的过滤器,其精确率会非常高,但召回率会非常糟糕,让大多数现代垃圾邮件得以通过。

这是经典的权衡。在许多科学和工程任务中,您不能为了一个而牺牲另一个。一个合成生物学团队希望找到尽可能多的有效生物传感器(高召回率),但他们也希望最大限度地减少合成“哑弹”的成本(高精确率)。

这就是 ​​F1 分数​​(F1-Score)的用武之地。F1 分数是精确率和召回率的​​调和平均数​​(harmonic mean)。

F1=2⋅Precision⋅RecallPrecision+RecallF_1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}F1​=2⋅Precision+RecallPrecision⋅Recall​

使用调和平均数而非简单平均数,是数学中一个微妙而精妙的设计。它会严重惩罚那些精确率或召回率中有一个非常低的模型。要获得高的 F1 分数,一个模型必须同时具有高精确率和高召回率。它强制寻求一种平衡。对于我们的生物学家同事来说,他们既面临着科学发现的需求,又面临着经济效率的需求,F1 分数提供了一个比准确率更为全面和诚实的对其 AI 模型效用的评估。

两个世界的故事:为何指标随场景而变

这里有一个更深、更深刻的真理:一些指标描述了分类器本身的内在能力,而另一些则描述了它在特定环境中的表现。

分类器的​​真正例率(召回率)​​和其​​假正例率​​(FPR=FPFP+TNFPR = \frac{FP}{FP + TN}FPR=FP+TNFP​)通常被认为是其内在特征。它们告诉你,给定一个样本是正例,模型说“正例”的概率是多少?以及给定它是负例,模型犯错的概率是多少?让我们假设这些率是我们训练好的模型的稳定属性。

现在,让我们来看一个训练用于将蛋白质分类为膜结合蛋白(正例)或可溶性蛋白(负例)的模型。在一个平衡的验证集上(每类各占 50%),它可能取得了可观的精确率和 F1 分数。但是,当我们将它部署到一个真实世界的蛋白质组中,其中只有 30% 的蛋白质是膜结合蛋白时,会发生什么?

即使模型的内在 TPR 和 FPR 没有改变,负例的海洋相对于正例已经变得更大了。这意味着产生假正例的机会更多了。因此,模型的精确率——TPTP+FP\frac{TP}{TP + FP}TP+FPTP​——将会下降,因为 FPFPFP 项会增加。并且由于 F1 分数依赖于精确率,它也会随之改变。这表明,像精确率和 F1 分数这样的指标不仅是模型的属性,还是模型及其应用的数据集的属性。上下文,特别是正例的流行率 (psp_sps​),才是王道。

读懂言外之意:更深入地评判模型

一个单一的数字,即使是像 F1 分数这样复杂的数字,也永远无法讲述完整的故事。机器学习的世界充满了微妙的陷阱,模型在纸面上看起来很好,但在实践中却失败了。

其中一个陷阱是​​域漂移​​(domain shift)。想象一个在实验室数据上训练到完美的模型。当部署到现实世界中时,它遇到了新的、意想不到的数据类型——分布外(Out-Of-Distribution, OOD)样本。这些新样本可能会迷惑模型,导致它产生大量新的假正例。在这种情况下,真负例的总数可能仍然非常大,以至于整体准确率几乎没有变化,但精确率可能会完全崩溃,使得模型对其预期目的毫无用处。

另一个是​​特征泄漏​​(feature leakage),这是一种模型在训练期间“作弊”的鬼祟方式。它可能会学到一个只存在于训练数据中的虚假相关性——例如,某种稀有鸟类的所有照片都是用同一台相机拍摄的。模型学会了检测相机,而不是鸟。这可能导致一个模型通过完美识别负例(来自其他相机的照片)而 자랑 拥有高准确率,而其找到实际正例(鸟)的能力却停滞不前甚至恶化。详细查看每个类别的精确率和召回率分数会揭示这种病态,而整体准确率可能看起来具有欺骗性的健康。

最后,我们必须认识到并非所有问题都是简单的“是/否”问题。对于诊断病人的医生来说,人工智能提供一个按可能性排序的疾病列表可能非常有帮助。也许排名第一的预测是错误的,但正确的诊断在前三名之内。对于这种应用,​​top-k 准确率​​(正确答案是否在前 'k' 个预测中?)是一个远比标准准确率更有意义的指标。

归根结底,指标的选择不是一个技术性的脚注;它是对我们所珍视之物的声明。它迫使我们直面模型预测在现实世界中的后果。我们是更害怕错过一个发现,还是更害怕追逐一个幻影?我们的目标是在大多数时候正确,还是在做出关键断言时可靠?通过超越“准确率”的简单舒适区,我们开始提出正确的问题,并在此过程中,开始构建不仅在统计上令人印象深刻,而且真正有用的工具。

应用与跨学科联系

我们花了一些时间学习分类指标的语言,通过准确率、精确率、召回率及其更复杂的近亲这些透镜,剖析了模型预测的解剖结构。人们可能很容易将这些视为纯粹的技术性记账,是激动人心的发明行为之后枯燥的会计工作。但那将是一个错误。这样做就像学会了国际象棋的规则,却从未欣赏过一位特级大师棋局之美。

这些指标不仅仅是成绩单;它们是我们的指南针和放大镜。它们引导我们穿越现实世界问题中复杂的权衡,并揭示出不仅关于我们人造产物,也关于自然世界本身的微妙真理。因此,现在让我们踏上一段旅程,远离抽象的定义,进入那个混乱而迷人的世界,在那里这些思想得以鲜活呈现。我们将看到,提出关于模型性能的正确问题的艺术是一条普遍的线索,贯穿于医学、工程学甚至社会正义等截然不同的领域。

医生的两难与细胞邮差

让我们从一个生死攸关的问题开始。想象一下一种针对罕见但侵袭性强的癌症的诊断测试。测试的“阳性”结果表明患者患有该疾病;“阴性”结果则表明他们没有。我们可以问,“这个测试的总体准确率是多少?”但这个单一的数字掩盖了一场至关重要的戏剧。犯错有两种截然不同的方式。一个假阳性告诉一个健康的人他们可能生病了,导致焦虑和更多的检查。一个假阴性告诉一个生病的人他们是健康的,可能延误了拯救生命的治疗。显然,这些错误的权重并不相同。

这就是精确率和召回率的本质。召回率,或称真正例率,问道:“在所有真正生病的人中,我们的测试正确识别了多少比例?”它衡量我们找到我们所寻找目标的能力。高召回率意味着我们很少漏掉生病的患者。另一方面,精确率问道:“在我们测试标记为阳性的所有人中,有多少比例是真正生病的?”它衡量我们阳性预测的纯度。高精确率意味着我们不会过于频繁地“喊狼来了!”。

这同一个权衡不仅在医院里上演,也在我们自身细胞深处上演。思考一下蛋白质靶向的挑战,这是一种细胞内的邮政服务。蛋白质在细胞的一个部分制造,必须被递送到它们正确的目的地——线粒体、叶绿体、细胞核——才能发挥其作用。这种递送是由蛋白质起始处的一段短“邮政编码”序列引导的。

现在,假设我们建立一个计算模型,根据这个邮政编码序列来预测蛋白质的目的地。当我们的模型预测一个蛋白质属于线粒体时,我们可以问:它精确吗?在我们运送到“线粒体”箱子里的所有蛋白质中,有多少真正属于那里?我们也可以问:它全面吗?在所有真正属于线粒体的蛋白质中,我们成功识别了多少?为每个细胞目的地计算精确率和召回率,为生物学家提供了对其模型性能的详细、可操作的理解,远比一个单一的准确率分数有用得多。简单地计数真正例、假正例和假负例,并总结在一个“混淆矩阵”中,就将一个模糊的“优良度”分数转变成了一个锐利的诊断工具。

侦探的搜寻:大海捞针

当我们寻找极其罕见的东西时,精确率和召回率的戏剧性变得更加激烈。这就是“大海捞针”问题,它在科学中无处不在。想象你是一名基因组侦探,正在筛选成千上万个神秘的基因,即长链非编码RNA(lncRNAs),以寻找少数几个真正具有功能并可能与疾病有关的基因。也许你的候选基因中只有 5%5\%5% 是真正活跃的参与者。

在这里,准确率完全是个骗子。一个懒惰的模型,对每一个基因都预测“无功能”,其准确率将高达 95%95\%95%,但却完全无用!我们的目标是发现。我们想要找到那些针。这就是像精确率-召回率曲线下面积(AUPRC)这样的指标成为我们最信赖盟友的地方。虽然更常见的 ROC 曲线在这种不平衡场景中可能具有欺骗性的乐观,但 PR 曲线则直接聚焦于找到真正例(召回率)和不被虚假警报淹没(精确率)之间的权衡。一个高的 AUPRC 告诉我们,我们的模型能够将真正的、功能性的基因排在我们列表的顶端,让实验科学家能够将他们宝贵的时间和资源集中在最重要的地方。

同样的原则适用于各个科学领域。无论我们是试图预测哪种新化合物将形成稳定的药物,还是根据其基因指纹识别导致全国性沙门氏菌爆发的特定食物来源,我们常常面临着少数关键“正例”和大量“负例”之间的不平衡。在这些情况下,像 F1 分数、马修斯相关系数(MCC)和 AUPRC 这样的指标提供了必要的清晰度,以驾驭数据的迷雾并做出有意义的发现。

工程师的滤波器:噪声世界中的普适原理

分类的基本问题——决定“是这个,还是那个?”——并不仅限于机器学习数据集的整洁世界。这是工程学中的一个核心挑战,决策必须从嘈杂、不完美的信号中做出。

考虑一下在复杂机器中进行故障检测与隔离(FDI)的任务,比如喷气发动机或发电厂。一系列传感器产生数据流,一个“残差”信号,在系统健康时希望为零。当故障发生时——涡轮叶片出现裂纹,阀门卡住——它会在这个信号上留下一个特征性的印记。工程师的问题是检测到这个埋藏在测量噪声和其他良性系统波动中的印记,并从一个已知可能性的字典中正确识别出哪一个故障发生了。

这本质上是一个分类问题。推导出的解决方案,通常通过像广义似然比检验这样复杂的统计透镜,可能看起来与我们典型的机器学习分类器不同。它涉及像白化变换来处理相关噪声和正交投影来忽略无关信号这样的数学工具。然而,如果你仔细观察最终的决策规则,你会发现它在做一件非常熟悉的事情。它在为每种可能的故障类型计算一个分数,这个分数衡量观测到的信号与该故障模板的“匹配”程度,同时考虑了所有的噪声和干扰。这在精神上,是一个在精心构建的特征空间中运行的最近邻分类器。这是科学推理统一性的一个美丽证明:无论是分类猫的图像还是识别价值数十亿美元机械中的故障,同样的核心思想“寻找最佳匹配”都适用。

免疫学家的量规:测量大自然自身的分类器

到目前为止,我们一直使用指标来评判我们构建的模型的性能。但这里有一个更深刻的想法:我们能用同样的指标来衡量大自然自身分类器的性能吗?

你的免疫系统,可以说是已知宇宙中最复杂的分类引擎。每一秒,你的 T 细胞都在与其他细胞碰撞,检查它们呈现的肽段。对于每一个肽段,T 细胞必须做出一个关键决定:“朋友”还是“敌人”?这是一个你自身蛋白质的无害片段,还是病毒或细菌的一部分?一个方向的错误(未能识别敌人)可能导致感染。另一个方向的错误(攻击朋友)则导致自身免疫性疾病。

T 细胞是如何实现如此非凡的特异性的?像动力学校对这样的理论表明,这是一个多步骤的验证过程。T 细胞受体和肽段之间的结合必须经过一系列生化修饰才能触发全面的反应。一个敌人肽段,倾向于结合更长时间,更有可能通过所有的检查点。一个友好的肽段,只短暂结合,几乎总是在警报响起之前就解离了。

这个自然算法的性能是我们可以量化的。一个系统疫苗学团队,在设计一种新疫苗时,可以建立一个这个过程的计算机模拟模型。他们可以模拟 T 细胞对来自病毒的目标“敌人”肽段的反应,以及对来自人类蛋白质的相似“朋友”肽段的反应。通过生成两种情况下信号输出的分布,他们就可以问:我们能多好地区分这两个分布?这是一个分类问题!他们可以绘制一条受试者工作特征(ROC)曲线,并计算曲线下面积(AUC),从而得到一个单一、强大的数字,量化了 T 细胞的内在特异性。在这里,我们的分类指标已经超越了其作为模型评估者的角色,成为测量基本生物学特性的工具,指导着新药的理性设计。

伦理学家的透镜:指标的隐秘生命

我们的旅程必须在它应在的地方结束:即我们的模型对人的影响。我们构建分类器来做出关于贷款、招聘、医疗诊断和刑事司法的决策。我们使用指标来确保它们是“好的”。但对谁好呢?

这个问题催生了算法公平性领域。我们可以采用我们的基本指标——如真正例率(TPR)和假正例率(FPR)——并询问它们在不同人口群体之间是否相等。我们的模型是否以相同的比率为男性和女性正确识别合格的求职者(高 TPR)?它是否以相同的比率为不同种族群体错误地标记个体有再犯风险(高 FPR)?像*均等化赔率和均等化机会*这样的指标将这些问题形式化。

但故事还有另一个更深的转折。你可能认为公平性纯粹是我们使用的数据和我们定义的损失函数的问题。但事实证明,我们训练过程中的基本机制本身就可能产生深远而出乎意料的后果。考虑一个自适应优化器,如 RMSprop,这是训练深度神经网络的标准工具。它的工作原理是为模型中的每个参数提供自己的学习率,对于那些梯度历来较大或嘈杂的参数,减慢其更新速度。

现在,如果来自少数群体的数据更稀缺或更多样化,导致与其特征相关的梯度天然更嘈杂,会发生什么?优化器以其盲目、机械的智慧,将系统性地抑制这些特征的更新。它将从可能已经处于劣势的群体中学习得更慢。结果是,一个看似无害的优化器选择,可能会延长甚至制造出像均等化赔率这样的公平性指标上的差异。

这是一个惊人且令人谦卑的认识。它告诉我们,我们的指标不仅仅是数字。它们是一个透镜,迫使我们审视我们创造物的整个链条,从我们收集的数据到我们部署的算法,并为其影响负责。它们是一个呼吁,要求我们不仅成为优秀的科学家和工程师,还要成为有思想和人道的人。而这,也许是它们最重要的应用。