为什么F量度是Precision和Recall量度的谐波平均值而不是算术平均值?


85

当我们同时考虑“精度”和“查全率”来计算F测度时,我们将两个测度的谐波均值而不是简单的算术平均值。

采用谐波均值而不是简单平均值的直观原因是什么?


1
直觉是在精度和查全率之间取得平衡(通常是最好的度量,但是在某些情况下,您想最大化精度或查全率,这是另一回事)。如果任何一个f值都非常低,则无法获得较高的f值。
greeness


Answers:


16

在这里,我们已经有了一些详尽的答案,但是我认为有关此信息的更多信息对于一些想更深入研究的人(特别是为什么使用F度量)会有所帮助。

根据度量理论,复合度量应满足以下6个定义:

  1. 连通性(可以订购两对)和传递性(如果e1> = e2并且e2> = e3则e1> = e3)
  2. 独立性:两个组成部分独立地影响其有效性。
  3. 汤姆森条件:假设在恒定的召回率(精确度)下我们发现两个精度值(召回率)在有效性上存在差异,则无法通过更改常数值来消除或逆转此差异。
  4. 受限制的溶解度。
  5. 每个要素都是必不可少的:一个要素的变化而另一个要素不变,则有效性有所不同。
  6. 每个组件的Archimedean属性。它仅确保组件上的间隔可比较。

然后我们可以得出并获得功效的函数: 在此处输入图片说明

通常,我们不使用有效性,而是使用简单的F分数,因为
在此处输入图片说明

现在我们有了F测度的一般公式:

在此处输入图片说明

通过设置beta,我们可以将更多的重点放在回忆或准确性上,因为beta的定义如下:

在此处输入图片说明

如果权重召回比精度更重要(所有相关项均已选中),则可以将beta设置为2并获得F2度量。而且,如果我们进行反向运算并且权重精度高于召回率(尽可能多的选定元素相关,例如在某些语法错误纠正方案中,例如CoNLL),我们只需将beta设置为0.5即可获得F0.5度量。很明显,我们可以将beta设置为1以获得最常用的F1度量(精度和查全率的谐和均值)。

我认为在某种程度上我已经回答了为什么我们不使用算术平均值。

参考文献:

  1. https://zh.wikipedia.org/wiki/F1_score
  2. F测度的真相
  3. 信息检索

98

为了进行解释,例如考虑一下30mph和40mph的平均水平是多少?如果您以每种速度行驶1小时,则2小时内的平均速度确实是算术平均值,即35mph。

但是,如果您以每种速度(例如10英里)行驶相同的距离,那么20英里以上的平均速度就是30和40的谐波平均值,大约34.3 mph。

原因是为了使平均值有效,您确实需要将值设置为相同的缩放单位。每小时英里数需要在相同小时数内进行比较;要比较相同英里数,则需要平均每英里小时数,这恰好是谐波的意思。

精确度和召回率在分子和分母上都有正值。要对它们求平均,实际上只有对它们的倒数求平均才有意义,因此对谐波表示均值。


7
谢谢,这是一个很好的论证,为什么理论上对此表示支持;我的回答更多是在务实方面。
已退出–Anony-Mousse 2014年

76

因为它更惩罚极端价值。

考虑一个简单的方法(例如,始终返回类A)。B类有无限个数据元素,而A类有一个元素:

Precision: 0.0
Recall:    1.0

当采用算术平均值时,它将具有50%的正确率。尽管这是最糟糕的结果!使用谐波均值,F1度量为0。

Arithmetic mean: 0.5
Harmonic mean:   0.0

换句话说,要获得较高的F1,您需要 同时具有较高的精度和召回率。


当召回率为0.0时,精度必须大于0.0,对吗?但是我明白你的例子。很好的解释-谢谢。
伦敦佬

1
在您的示例中,A类的精度为0.5而不是0,A类的召回率为1;B类的精度为0,而B类的召回率为0。我认为您的平衡类意味着真正的标签是A和B;每个都适用于50%的数据。
greeness

让我们制作B类的无限元素,以及A类的单个元素。这不会改变F1背后的数学运算。
已退出–Anony-Mousse 2014年

2
选择更多的平衡不仅仅是一种试探。给定这些比率的单位,只有谐波才有意义。相比较而言,平均值没有任何意义
肖恩·欧文

它在哪里说“启发式”,您的评论与我的回答有何不同?但是:F量度一种启发式方法,因为它假设精度和召回率同等重要。这就是为什么需要选择beta术语的原因-启发式地,通常使用beta = 1。
已退出–Anony-Mousse

29

上面的答案很好解释。这只是一个快速参考,以了解算术平均值和谐波平均值的性质。从图中可以看到,将X轴和Y轴视为精度和召回率,将Z轴视为F1分数。因此,从谐波均值图中可以看出,精度和查全率均应与算术均值不同,对F1分数的上升起平均作用。

这是算术平均值。

在此处输入图片说明

这是谐波的意思。

在此处输入图片说明


请使用格式化工具来正确编辑和格式化答案。图片应显示在此处,而不是超链接。
莫尔斯

26

调和平均值等于应由该算术平均值平均的数量倒数的算术平均值。更确切地说,使用调和平均值,您可以将所有数字转换为“平均”形式(通过取倒数),可以将其数字取算术平均值,然后将结果转换回原始表示形式(通过再次取倒数)。

精度和召回率是“自然”的倒数,因为它们的分子相同且分母不同。当分数具有相同的分母时,分数更易于通过算术平均值进行平均。

为了获得更多的直觉,假设我们将真实阳性项目的数量保持恒定。然后,通过采用精度和召回率的调和平均值,可以隐式采用误报和误报的算术平均值。从根本上讲,当真实的阳性保持不变时,阳性和阴性对您同样重要。如果一个算法有N个更多的假阳性项目,但N个更少的假阴性项目(同时具有相同的真阳性项目),则F度量保持不变。

换句话说,在以下情况下适合使用F量度:

  1. 错误同样严重,无论是假阳性还是假阴性
  2. 错误数是相对于真实肯定数的度量
  3. 真正的消极没意思

点1可能正确,也可能不正确,如果此假设不正确,则可以使用F度量的加权变量。点2很自然,因为如果我们对越来越多的点进行分类,我们可以预期结果会按比例缩放。相对数字应保持不变。

第三点很有趣。在许多应用程序中,底片是自然的默认值,甚至可能很难或任意指定什么才算是真正的底片。例如,火灾警报每秒钟,每十亿分之一秒,每经过普朗克时间就会发生一次真正的负面事件。甚至一块岩石始终都具有这些真正的负面火灾检测事件。

或者在人脸检测的情况下,大多数情况下,您“不会正确地返回图像中数十亿个可能的区域,但这并不有趣。有趣的情况是当您确实返回建议的检测结果或应该返回它时。

相比之下,分类准确性同样关注真阳性和真阴性,如果样本总数(分类事件)的定义明确且数量很少,则分类准确性更为合适。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.