为什么 f-度量是调和平均值而不是准确率召回率度量的算术平均值?

当我们计算两个准确率召回率的 F-测度时,我们采用两个测度的调和平均值而不是简单的算术平均值。

取调和平均数而不取简单平均数背后的直观原因是什么?

29597 次浏览

因为它对极端价值观的惩罚更多。

考虑一个 微不足道方法(例如,始终返回类 A)。B 类有无限的数据元素,A 类只有一个元素:

Precision: 0.0
Recall:    1.0

取算术平均值时,正确率为50% 。尽管是 最糟糕的可能的结果!在谐波平均下,F1测度为0。

Arithmetic mean: 0.5
Harmonic mean:   0.0

换句话说,要获得高的 F1,你需要 ABc0有一个高的准确率召回率。

举个例子来解释一下,30英里每小时和40英里每小时的平均速度是多少?如果你以每种速度驾驶1小时,那么2小时的平均速度实际上就是算术平均值,35英里每小时。

然而,如果你以每个速度行驶相同的距离——比如10英里——那么20英里以上的平均速度是30和40的谐波平均值,大约是34.3英里每小时。

原因是为了使平均值有效,你真的需要这些值在相同的比例单位内。每小时的英里需要用相同的小时数来比较; ,要比较相同的英里数,你需要用每英里的平均小时数来代替,这正是谐波的意思。

准确率召回率在分子中都有真正的正数,而且分母不同。对它们进行平均,只有对它们的倒数进行平均,才有意义,因此谐波的平均值。

调和平均数等价于应该用算术平均数求平均数的量的倒数的算术平均数。更准确地说,利用调和平均值,你把所有的数字都转换成“平均”形式(通过求倒数) ,取它们的算术平均值,然后再把结果转换回原来的表示形式(通过再次求倒数)。

精确度和召回是“自然”的相互作用,因为它们的分子是相同的,分母是不同的。当分数具有相同的分母时,用算术平均法计算分数的平均值更为合理。

对于更多的直觉,假设我们保持真正的积极项目的数量不变。然后通过取精度和召回的调和平均值,隐含地取假阳性和假阴性的算术平均值。这基本上意味着,当真正的积极因素保持不变时,伪阳性对你同样重要。如果一个算法有 N 个更多的假阳性项,但是有 N 个更少的假阴性(同时有相同的真阳性) ,那么 F- 测度保持不变。

换句话说,当:

  1. 错误同样糟糕,无论它们是错误的肯定还是错误的否定
  2. 错误的数量是相对于真正正面的数量来衡量的
  3. 真正的否定是无趣的

第一点可能是正确的,也可能不是正确的,如果这个假设不正确,可以使用 F 度量的加权变量。点2是很自然的,因为我们可以期望结果的规模,如果我们只是分类越来越多的点。相对数字应该保持不变。

第三点很有趣。在许多应用程序中,否定是自然默认的,它甚至可能很难或武断地指定什么才算是真正的否定。例如,一个火灾报警器每秒、每纳秒、每次普朗克时间过去等等都会发生一个真正的负面事件。即使是一块岩石,也总是有这些真正的负面火灾探测事件。

或者在人脸检测的情况下,大多数时候你“ 不要回来”图像中的数十亿个可能区域,但这并不有趣。有趣的情况是当你返回一个建议的检测或当你返回 应该

相比之下,分类精度同样关注真正的正数和真正的负数,如果样本总数(分类事件)定义明确且相当小,则分类精度更适合。

上面的答案已经解释得很清楚了。这只是为了快速了解算术平均值和调和平均值的性质与图。正如你从图中看到的,把 x 轴和 y 轴看作是准确率召回率,把 Z 轴看作是 F1的得分。因此,根据调和平均值的曲线,两个准确率召回率应该对 f1分值的上升贡献相等,这与算术平均值不同。

这是算术平均值。

enter image description here

这是调和平均数。

enter image description here

在这里我们已经有了一些详细的答案,但我认为更多的信息将有助于一些家伙谁想深入研究(特别是为什么 F 测量)。

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

  1. 连通性(两对可以排序)和传递性(如果 e1 > = e2和 e2 > = e3,则 e1 > = e3)
  2. 独立性: 两个组成部分各自独立地发挥作用。
  3. Thomsen 条件: 假设在常数召回(精度)下,我们发现两个精度值(召回)的有效性存在差异,那么这种差异不能通过改变常数值来消除或逆转。
  4. 有限的可解性。
  5. 每个组成部分都是必不可少的: 一个组成部分的变化使另一个组成部分保持不变,从而提高了效率。
  6. 阿基米德公理只是确保每个组件的间隔是可比较的。

这样我们就可以看到 推导和获得的有效性函数: enter image description here

通常情况下,我们不使用有效性,而是使用更简单的 F 值 enter image description here

因为 F 只是1-E :
enter image description here

现在我们采用 F 测度的一般公式:

enter image description here

通过设置测试版,我们可以更加强调召回或精确性,因为测试版的定义如下:

enter image description here

如果我们回想权重比精度更重要(所有相关的都被选中) ,我们可以设置 β 为2,我们得到 F2测度。如果我们做的反向和权重精度高于回忆(尽可能多的选择元素是相关的,例如在一些语法错误纠正场景,如 康奈尔) ,我们只需设置 β 为0.5,得到 F0.5度量。很明显,我们可以把 beta 设为1来得到最常用的 f 1测量值(准确率召回率的谐波平均值)。

我想在某种程度上我已经回答了为什么我们不用算术的意思。

参考文献:

  1. Https://en.wikipedia.org/wiki/f1_score
  2. F 测度的真理
  3. 信息检索
  4. 文件: 谐波平均3D 图从0到100.png
  1. 与几何平均数和算术平均数相比,调和平均数的值最小: min < 调和平均数 < 几何平均数 < 算术平均数 < 最大值
  2. 其次,精度和召回率是比值。谐波平均值是衡量平均比率的最佳指标。(算术平均值适用于加性/线性数据,几何平均值适用于加性/线性数据