try ai
科普
编辑
分享
反馈
  • Dice 相似系数

Dice 相似系数

SciencePedia玻尔百科
核心要点
  • Dice 相似系数 (DSC) 是一个量化两个集合之间重叠程度的指标,其计算方法是交集大小的两倍除以两个集合大小之和。
  • Dice 分数在数学上与统计学中使用的 F1 分数完全相同,从而将图像中的几何重叠概念与分类性能联系起来。
  • 对于存在严重类别不平衡的分割任务(例如医学影像),它是一个至关重要的指标,因为它能有效忽略大量的真阴性(被正确识别的背景)。
  • 该指标的一个可微分的“软”版本,即 Dice 损失,被广泛用于直接训练深度学习分割模型,通过教模型最大化与真实标签(ground truth)的重叠。

引言

我们如何衡量一致性?从医学诊断到人工智能等领域,能够定量比较两种观察结果——例如,专家的分析和模型的预测——是科学进步的基础。仅仅通过肉眼观察两个形状并判断它们的相似性是远远不够的;我们需要一种严谨的数学语言来表达它们的匹配程度。本文通过聚焦于一种最强大且广泛使用的“方言”:Dice 相似系数,来满足对这种语言的需求。

在接下来的章节中,我们将从基本原理到多样化应用,全面解析 Dice 系数。第一章“原理与机制”将解构其公式,探讨它与 Jaccard 指数等其他重叠度量指标的关系,并揭示其与统计学中 F1 分数之间惊人的一致性。我们还将看到它如何被改编为“Dice 损失”函数,以直接训练现代人工智能系统。随后的“应用与跨学科联系”一章将带领读者穿梭于不同的科学领域——从量化放射科医生之间的共识、评估肿瘤分割,到追踪细菌爆发——展示这一单一指标如何为衡量看似毫无关联的领域之间的一致性提供一条共同的线索。

原理与机制

想象一下,你正在尝试描摹一个复杂形状的轮廓,比如一滩洒掉的牛奶或医学扫描中的一个肿瘤。你有一个由专家绘制的完美描摹,我们称之为​​真实标签 (ground truth)​​。现在,你画出了自己的描摹,即你的​​预测 (prediction)​​。你如何衡量你的描摹有多“好”?你只是把它们并排放在一起,然后说“看起来差不多”吗?科学要求一个更严谨、定量的答案。这正是我们需要一种讨论相似性的语言的地方,而 Dice 相似系数正是流利地使用这种语言的工具。

什么是相似性?两个形状的故事

让我们思考一下我们的两个形状——真实标签(我们称之为集合 AAA)和我们的预测(集合 BBB)。每个集合都只是构成该形状的所有微小图像元素(即像素)的集合。衡量它们匹配程度最直观的方法就是观察它们的重叠部分。

共享区域是什么?它是两个形状重合的区域,数学家称之为​​交集 (intersection)​​,记作 A∩BA \cap BA∩B。而两个形状合并后覆盖的总面积又是什么?那就是它们的​​并集 (union)​​,记作 A∪BA \cup BA∪B。

一个非常自然地衡量相似性的初步尝试是将共享区域的大小与总区域的大小进行比较。这就得到了一个名为 ​​Jaccard 指数​​或​​交并比 (Intersection over Union, IoU)​​ 的指标。

J=∣A∩B∣∣A∪B∣J = \frac{|A \cap B|}{|A \cup B|}J=∣A∪B∣∣A∩B∣​

在这里,竖线 ∣⋅∣| \cdot |∣⋅∣ 表示“大小”。这个分数是一个介于 0(完全没有重叠)和 1(完美匹配)之间的数字。这是一个极其简单的想法:共享空间占总足迹的比例是多少?

Dice 系数:对重叠的另一种诠释

​​Dice 相似系数 (DSC)​​,我们今天的主角,从一个略微不同的角度来解决这个问题。它的定义如下:

D=2∣A∩B∣∣A∣+∣B∣D = \frac{2 |A \cap B|}{|A| + |B|}D=∣A∣+∣B∣2∣A∩B∣​

乍一看,这可能不那么直观。为什么是交集的两倍?为什么分母是两个形状各自大小之和 ∣A∣+∣B∣|A| + |B|∣A∣+∣B∣?

让我们思考一下分母 ∣A∣+∣B∣|A| + |B|∣A∣+∣B∣ 代表什么。如果你将形状 AAA 的面积和形状 BBB 的面积相加,你实际上把重叠区域 ∣A∩B∣|A \cap B|∣A∩B∣ 计算了两次!因此,分母本质上是并集的面积,但其中交集被“重复计算”了。这个公式可以看作是“加倍”的共享区域与这个“重复计算”的总区域之比。这种结构给予正确匹配的部分更大的权重。事实上,对于任何不完美的匹配,Dice 分数总是比 Jaccard 指数更“慷慨”一些,即数值更高。

不要被误导,以为这两个指标是完全不同的东西。它们之间有着深刻的联系。稍作代数运算,就能揭示它们之间一个简单而优雅的关系:

J=D2−DandD=2J1+JJ = \frac{D}{2 - D} \quad \text{and} \quad D = \frac{2J}{1 + J}J=2−DD​andD=1+J2J​

这告诉我们,如果你知道其中一个,总能计算出另一个。它们互为单调函数——如果一个上升,另一个也必然上升。它们是同一种重叠语言的两种不同“方言”。

惊人的一致性:Dice、F1 分数与分类语言

故事在这里发生了有趣的转折,揭示了科学测量中深层的一致性。让我们暂时离开几何学,进入分类的世界。想象一下,你不是在描摹形状,而是一位诊断病人的医生。对于每位病人,你预测“有病”或“无病”。你可能在两种情况下是正确的(​​真正例 (True Positives)​​,即 TPTPTP,和​​真负例 (True Negatives)​​,即 TNTNTN),也可能在两种情况下是错误的(​​假正例 (False Positives)​​,即 FPFPFP,和​​假负例 (False Negatives)​​,即 FNFNFN)。

从这四个计数中,我们可以定义两个著名的指标:

  • ​​精确率 (Precision)​​:在你诊断为有病的所有病人中,实际患病的比例是多少?P=TPTP+FPP = \frac{TP}{TP + FP}P=TP+FPTP​。这是衡量你预测可靠性的指标。
  • ​​召回率 (Recall)​​(或灵敏度):在所有真正患病的病人中,你正确识别出的比例是多少?R=TPTP+FNR = \frac{TP}{TP + FN}R=TP+FNTP​。这是衡量你方法完备性的指标。

通常,两者之间存在一种权衡。你可以非常谨慎(高精确率),但会漏掉许多病例(低召回率);或者非常激进(高召回率),但会产生许多误报(低精确率)。​​F1 分数​​旨在在这两者之间找到一个和谐的平衡。它是它们的调和平均数:

F1=2⋅P×RP+RF_1 = 2 \cdot \frac{P \times R}{P + R}F1​=2⋅P+RP×R​

现在是见证奇迹的时刻。让我们回到图像分割问题。我们可以将其重新想象为对每一个像素的分类任务。对于每个像素,我们将其分类为“形状的一部分”(正例)或“背景”(负例)。

  • ​​真正例 (TPTPTP)​​ 是一个同时存在于真实标签和预测中的像素。所以,TP=∣A∩B∣TP = |A \cap B|TP=∣A∩B∣。
  • ​​假正例 (FPFPFP)​​ 是一个存在于我们的预测中但不在真实标签中的像素。所以,FP=∣B∣−∣A∩B∣FP = |B| - |A \cap B|FP=∣B∣−∣A∩B∣。
  • ​​假负例 (FNFNFN)​​ 是一个我们遗漏的、存在于真实标签中的像素。所以,FN=∣A∣−∣A∩B∣FN = |A| - |A \cap B|FN=∣A∣−∣A∩B∣。

让我们将这些代入 F1 分数的公式。经过一些代数运算,一个美妙的简化出现了:

F1=2⋅TP2⋅TP+FP+FNF_1 = \frac{2 \cdot TP}{2 \cdot TP + FP + FN}F1​=2⋅TP+FP+FN2⋅TP​

那么 Dice 分数呢?让我们用这种新语言来表达它的组成部分:∣A∣=TP+FN|A| = TP + FN∣A∣=TP+FN 且 ∣B∣=TP+FP|B| = TP + FP∣B∣=TP+FP。

D=2∣A∩B∣∣A∣+∣B∣=2⋅TP(TP+FN)+(TP+FP)=2⋅TP2⋅TP+FP+FND = \frac{2 |A \cap B|}{|A| + |B|} = \frac{2 \cdot TP}{(TP + FN) + (TP + FP)} = \frac{2 \cdot TP}{2 \cdot TP + FP + FN}D=∣A∣+∣B∣2∣A∩B∣​=(TP+FN)+(TP+FP)2⋅TP​=2⋅TP+FP+FN2⋅TP​

它们是完全相同的!Dice 相似系数和 F1 分数正是同一个东西,只是在两个不同的概念框架中表达而已。一个使用几何和集合的语言,另一个使用分类和统计的语言。这种深刻的联系证明了数学思想背后潜在的统一性。

现实世界中的 Dice:成功与权衡

这种等同性不仅仅是一个数学上的奇趣发现;它是 Dice 分数强大功能之关键。

“大海捞针”问题

考虑一下在一张巨大的视网膜图像中分割微小血管的任务。血管可能只占像素的 5%,而背景占 95%。一个懒惰的算法,如果简单地将每个像素都预测为“背景”,将达到 95% 的像素级准确率!这听起来很棒,但完全没用——它没有找到任何一根血管。

Dice 分数通过忽略真负例(被正确识别的背景像素),对这种欺骗具有“免疫力”。其公式 D=2⋅TP2⋅TP+FP+FND = \frac{2 \cdot TP}{2 \cdot TP + FP + FN}D=2⋅TP+FP+FN2⋅TP​ 只关心正例类别(血管)被分割得有多好。对于我们那个懒惰的算法,TP=0TP=0TP=0,所以 Dice 分数也是 0,正确地告诉我们分割完全失败了。这使得 Dice 分数成为处理严重​​类别不平衡​​任务时不可或缺的工具。

重叠与离群值:了解你的指标的职责

Dice 分数总是最佳工具吗?不一定。这取决于你想惩罚哪种类型的错误。Dice 衡量的是​​体积重叠​​。它关心的是被错误分类的像素的总数,而不太关心它们在哪里。

想象两个分割结果。一个在形状周围有一圈轻微模糊的边界。另一个除了图像角落里一个遥远的、微小的孤立像素外,堪称完美。两者的 Dice 分数可能都非常高且非常相似,也许都是 0.98。因为两种情况下的总误差体积都很小。

然而,另一种类型的指标,一种​​边界距离​​指标,如​​豪斯多夫距离 (Hausdorff distance)​​,则讲述了一个完全不同的故事。豪斯多夫距离衡量的是“最坏情况下的误差”——它找到一个形状中离另一个形状最远的点。对于模糊的边界,豪斯多夫距离会很小(模糊带的宽度)。但对于那个孤立的像素,豪斯多夫距离会非常大,等于那个离群点到主形状的巨大距离。

这教给我们一个关键的教训:没有单一的“最佳”指标。如果你关心整体体积,而不担心微小、遥远的错误,那么 Dice 是你的好帮手。如果你设计的系统中,即使是一个遥远的离群点也构成严重失败(例如,一个 stray 的手术标记),那么豪斯多夫距离是更好的“看门狗”。

学习的机制:从评分员到教师

到目前为止,我们一直将 Dice 用作裁判,来评判分割的最终性能。但在现代人工智能中,它最强大的角色是作为一名教师。在深度学习中,我们通过给神经网络一个​​损失函数​​——一种衡量“痛苦”或误差的指标——来训练它,网络会通过反复试验来尝试最小化这个损失。

我们可以简单地用 1 减去相似性分数,将其转化为一个损失函数:​​Dice 损失​​ = 1−D1 - D1−D。网络的目标是调整其内部参数,使这个损失尽可能接近于零,这等同于使 Dice 分数尽可能接近于 1。

这里有一个问题。网络的输出不是清晰的 0 和 1;它们是“软”概率,是像 0.920.920.92 或 0.150.150.15 这样的数字。我们最初依赖于像素计数的 Dice 公式并不是平滑可微的。你无法对一个计数过程求出清晰的梯度。

解决方案是创建一个“软”版本的 Dice 分数。我们用连续的代数运算代替离散的集合操作。对于一个由 0 和 1 组成的真实标签掩码 ggg 和一个由概率组成的网络软预测图 ppp,软 Dice 分数变为:

DSCsoft=2∑ipigi+ϵ∑ipi+∑igi+ϵDSC_{\text{soft}} = \frac{2 \sum_i p_i g_i + \epsilon}{\sum_i p_i + \sum_i g_i + \epsilon}DSCsoft​=∑i​pi​+∑i​gi​+ϵ2∑i​pi​gi​+ϵ​

在这里,交集 ∣A∩B∣|A \cap B|∣A∩B∣ 通过预测值与真实标签的乘积之和 ∑ipigi\sum_i p_i g_i∑i​pi​gi​ 来近似。集合大小 ∣A∣|A|∣A∣ 和 ∣B∣|B|∣B∣ 分别通过所有预测值之和 ∑ipi\sum_i p_i∑i​pi​ 和所有真实标签之和 ∑igi\sum_i g_i∑i​gi​ 来近似。(小的 ϵ\epsilonϵ 只是一个常数,以防止除以零)。这个函数是完全平滑且可微的。现在,网络可以计算这个损失的梯度——一个精确告诉它如何微调其数百万个参数以提高分数(哪怕只是一点点)的表达式。这就是学习的引擎,而 Dice 损失是其最重要的燃料之一。

细节:实践智慧

最后,如同任何强大的工具一样,有效使用 Dice 分数需要一些实践智慧。在评估一个 3D 体数据时,你是为每个 2D 切片计算 Dice 分数然后取平均值(​​宏平均 (macro-averaging)​​)?还是将所有切片的所有像素汇集到一个巨大的 3D 集合中,计算一个单一的 Dice 分数(​​微平均 (micro-averaging)​​)?这两种方法会得出不同的结果,并突显性能的不同方面。如果一个切片中没有肿瘤,而你的算法也正确地预测了“无”,该怎么办?按照惯例,这种完美匹配的 Dice 分数被定为 1。这些细节对于确保我们的测量是稳健、公平并真实地反映我们模型性能至关重要。

从一个简单的重叠概念出发,Dice 系数演变为一个稳健、通用且联系深刻的概念,它连接了几何学和统计学的世界,并为当今科学领域一些最先进的人工智能提供了动力。

应用与跨学科联系

在探索了 Dice 相似系数的数学优雅之后,我们可能会想把它当作集合论中一个精巧的片段归档。但这样做将完全错失其要义。就像一把精心制作的钥匙能出人意料地打开许多不同的锁一样,Dice 系数的真正力量在于其非凡的通用性。它为那些表面上看起来毫无关联的领域提供了一种通用语言。它允许病理学家、分子生物学家、计算机科学家和外科工程师都能提出同一个根本问题——“这两样东西的一致性有多高?”——并得到一个有意义、可比较的答案。让我们踏上穿越这些不同领域的旅程,见证这个简单的比率在实践中的应用。

医者之眼:在影像世界中量化确定性

Dice 系数最直观的用武之地或许是在医学影像领域,这是一个通过解读灰度阴影来做出事关生死的决定的世界。当中风后,两位放射科专家查看同一份大脑 CT 扫描时,他们各自描绘出受损组织的边界。他们的轮廓会完全相同吗?几乎从不。但它们有多大差异呢?Dice 系数给了我们一个数字。通过将每位观察者的描绘视为一个像素集,我们可以测量它们的重叠度。高分表明共识度高,而低分则可能表示视觉证据模糊,需要更仔细的考量。

这一原则自然地延伸到医学人工智能的前沿领域。一个算法被训练用于自动识别肝脏扫描中的寄生虫病变。我们如何知道它是否优秀?我们将它的分割结果与一位经验丰富的专家绘制的结果进行比较。Dice 系数便成为衡量该算法性能的标尺。在一项大型临床研究中,研究人员甚至可能计算一个“汇总”的 Dice 分数,即在应用公式前,将多名患者的病变体积相加,从而获得一个单一、稳健的指标,用以衡量算法在人群水平上的整体准确性。

但当我们不仅用 Dice 系数来衡量不一致性,还用它来理解其物理原因时,故事变得真正引人入胜。想象一位病人突发心脏病。两天后,进行了一次 MRI 检查,显示了受损的心肌。三天后,取了一份组织样本在显微镜下进行分析。我们得到了“同个”梗死区域的两幅图像,一幅来自 MRI,一幅来自病理学。我们将它们对齐并计算 Dice 分数,发现结果是,比如说,0.720.720.72——不错,但不完美。 为什么它们不完全相同?在这里,这个数字成了一个侦探故事中的线索。MRI 是在心脏组织因损伤后的炎症反应而水肿时拍摄的,这使得该区域看起来更大。而病理样本则经过化学处理,导致其脱水和收缩。Dice 分数上的差异不仅仅是“误差”;它是对两种相反的物理和生物过程的直接定量反映!一部分不匹配源于肿胀与收缩的对比,其余部分则揭示了细微的未对准以及磁铁所见与显微镜所见之间的根本差异。一个简单的数字连接了临床影像、细胞生物学和组织物理学的世界。

这种比较的力量也是未来外科技术的基础。在进行复杂的肝脏手术前,外科医生可能会结合 CT 扫描和 MRI 扫描的信息。为了确保来自这两种不同设备的 3D 模型能够正确融合,并用于增强现实显示,他们必须首先确认来自每个模型的肝脏分割是一致的。Dice 系数在此充当了关键的质量检查,确保外科医生在其高科技头显中看到的内容与患者的真实解剖结构忠实对应。

超越整体:从微观世界到隐藏的生境

Dice 系数的效用并不仅限于整个器官。随着我们观察工具变得越来越强大,我们需要方法来衡量在更精细尺度上的一致性。通过低温电子断层扫描技术,神经科学家现在可以观察到单个神经元末梢内大量的突触囊泡——包含神经递质的微小囊泡。分割这数百个微小而拥挤的物体是一项艰巨的任务。Dice 系数帮助我们逐个囊泡地评估自动化深度学习算法执行此任务的优劣。通过将真实标签中的每个囊泡与算法预测中相应的囊泡进行匹配,我们可以计算一个平均 Dice 分数,它在实例层面上告诉我们形状被捕捉得有多好,这是一种比对整个图像体计算单一分数更有意义的方法。

同样,在癌症研究中,“生境成像”概念提出肿瘤并非一个均质的肿块,而是一个由不同细胞类型组成的生态系统。放射科医生可能会尝试将一个肿瘤分割为“缺氧核心”(低氧)和“增殖边缘”(快速生长)。虽然两位观察者对整个肿瘤分割的 Dice 分数可能很高,但对各个生境的分割分数通常要低得多。这告诉我们一个深刻的道理:就肿瘤内部不可见的生物学边界达成一致,要比就肿瘤的外部边缘达成一致困难得多。在多个尺度上应用的 Dice 系数,揭示了我们知识的局限,并指出了我们科学模型中不确定性最大的地方。

一种通用语言:从基因指纹到数据科学家的工具包

到目前为止,我们的例子都涉及图片——像素或体素的集合。但 Dice 系数的真正美妙之处在于其抽象性。一个“集合”可以是任何东西。在分子流行病学中,科学家们通过使用脉冲场凝胶电泳(PFGE)等技术为每个分离株创建“基因指纹”来追踪细菌爆发。该技术将细菌的 DNA 切割成片段,在凝胶上产生独特的条带模式。每个模式都可以被视为一个条带集合。为了判断两个分离株是否来自同一次爆发,流行病学家只需计算它们条带集合的 Dice 系数即可。高分表明这些细菌亲缘关系很近。在这里,完全没有图像的情况下,Dice 系数提供了一个稳健的相似性度量,将医学影像的世界与基因组学和公共卫生的世界联系起来。

这种深刻的普适性将我们带到了数据科学和机器学习的世界。你可能听说过用于评估分类模型的“精确率”、“召回率”和“F1 分数”等指标。事实证明,Dice 系数和 F1 分数在数学上是完全相同的!它们是同一个公式的两个不同名称,诞生于不同的科学社群——生态学和信息检索——以解决比较集合这一相同的基本问题。这种深刻的联系意味着 Dice 系数不仅仅是一个评估指标;它还可以直接用作“损失函数”来训练深度学习模型。通过让神经网络直接最大化其预测与真实标签之间的 Dice 分数,我们正在以最直接的方式教它创建与真实情况具有最大可能重叠的分割结果。

然而,这种联系也揭示了一个关键的教训。在一个复杂的医疗流程中,我们可能会使用一个分割算法(用 Dice 评估)来驱动一个患者层面的诊断(用 F1 分数评估)。人们可能会认为,一个 Dice 分数更高的模型会导致更好的患者诊断。但这并非总是如此!一个模型可能在完美勾勒病变轮廓方面表现较差(较低的 Dice 分数),但在简单地检测其存在方面表现更好(较高的 F1 分数),这可能是因为它更不容易对健康患者产生误报。这教给我们一个至关重要的、费曼式的教训:我们的工具的好坏取决于我们对所提问题的理解程度。为正确的任务选择正确的指标与指标本身同样重要。

从医生的诊室到工程师的工作室,从大脑的图景到细菌的遗传密码,Dice 相似系数提供了一条简单、优雅而强大的线索。它提醒我们,许多复杂科学问题的核心是一个简单的问题:这些事物如何比较?通过提供一种通用的语言来回答这个问题,这个谦逊的比率帮助将科学的各个不同领域编织成一个更统一、更易于理解的整体。