【问题标题】:为什么 F-Measure 是调和平均值,而不是 Precision 和 Recall 测量的算术平均值?
【发布时间】:2014-12-08 23:01:52
【问题描述】:

当我们同时考虑 Precision 和 Recall 来计算 F-Measure 时,我们采用这两个度量的调和平均值,而不是简单的算术平均值。

采用调和平均而不是简单平均的直观原因是什么?

【问题讨论】:

标签: machine-learning classification data-mining


【解决方案1】:

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

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

原因是要使平均值有效,您确实需要将值采用相同的比例单位。需要在相同小时数内比较每小时英里数;要比较相同的英里数,您需要平均每英里的小时数,这正是调和平均值的作用。

精确度和召回率在分子中都有正数,而分母不同。要对它们进行平均,实际上只对它们的倒数进行平均才有意义,即调和平均。

【讨论】:

  • 谢谢,这是一个很好的论据,说明为什么从理论上支持这一点;我的回答更务实。
【解决方案2】:

因为它更多地惩罚极端值。

考虑一个琐碎的方法(例如,总是返回 A 类)。 B类有无限个数据元素,A类有一个元素:

Precision: 0.0
Recall:    1.0

当取算术平均值时,它的正确率是 50%。尽管是最坏可能的结果!调和平均后,F1-measure 为 0。

Arithmetic mean: 0.5
Harmonic mean:   0.0

换句话说,要获得高 F1,您需要两者都具有较高的准确率和召回率。

【讨论】:

  • 当召回率为 0.0 时,精度必须大于 0.0 对吧?但我在你的例子中明白了这一点。很好的解释 - 谢谢。
  • 在您的示例中,A 类的精度为 0.5 而不是 0,A 类的召回率为 1; B 类的精度为 0,B 类的召回率为 0。我假设你的平衡类意味着真正的标签是 A 和 B;每个都适用于 50% 的数据。
  • 让我们制作 B 类的无限元素和 A 类的单个元素。它不会改变 F1 背后的数学原理。
  • 选择更多余额不仅仅是一种启发式方法。考虑到这些比率的单位,谐波平均值是唯一有意义的方法。相比之下,平均值没有意义
  • 它在哪里说“启发式”,您的评论与我的回答有何不同?但是:F-measure 是一种启发式方法,因为它假设精度和召回率同样重要。这就是为什么需要选择 beta 项的原因 - 试探性地,通常使用 beta=1。
【解决方案3】:

上面的答案解释得很好。这只是为了快速参考以了解算术平均值和带有图的调和平均值的性质。从图中可以看出,将 X 轴和 Y 轴视为准确率和召回率,将 Z 轴视为 F1 分数。因此,从调和平均数图中,与算术平均数不同,准确率和召回率对 F1 分数上升的贡献应该是均匀的。

这是算术平均值。

这是谐波平均值。

【讨论】:

  • 请使用格式化工具正确编辑和格式化您的答案。图片应该显示在这里,不是超链接。
【解决方案4】:

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

精确度和召回率“自然”是倒数,因为它们的分子相同而分母不同。当分母相同时,分数更适合算术平均值。

为了更直观,假设我们保持真阳性项目的数量不变。然后通过取精度和召回率的调和平均值,你隐含地取了假阳性和假阴性的算术平均值。这基本上意味着当真阳性保持不变时,假阳性和假阴性对您同样重要。如果一个算法有 N 个更多的假阳性项但 N 个更少的假阴性(同时具有相同的真阳性),则 F-measure 保持不变。

换句话说,F-measure 适用于:

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

第 1 点可能正确,也可能不正确,如果此假设不正确,可以使用 F 度量的加权变体。第 2 点是很自然的,因为如果我们只对越来越多的点进行分类,我们可以期望结果可以扩展。相对数字应保持不变。

第 3 点非常有趣。在许多应用程序中,底片是自然默认值,甚至可能很难或随意指定真正算作真正底片的内容。例如,火灾警报每秒、每纳秒、每经过普朗克时间等都会发生一次真正的负面事件。即使是一块岩石,也会一直有这些真正的负面火灾检测事件。

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

相比之下,分类准确性同样关心真阳性和真阴性,如果样本总数(分类事件)定义明确且相当小,则更合适。

【讨论】:

    【解决方案5】:

    在这里,我们已经有了一些详尽的答案,但我认为有关它的更多信息会对一些想要深入研究的人有所帮助(尤其是为什么 F 测量)。

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

    1. 连通性(可以订购两对)和传递性(如果 e1 >= e2 and e2 >= e3 then e1 >= e3)
    2. 独立性:两个组件的效果独立于有效性。
    3. Thomsen 条件:假设在恒定召回率(精度)下,我们发现两个精度值(召回率)的有效性差异,则无法通过更改恒定值来消除或逆转这种差异。
    4. 可解决性受限。
    5. 每个组件都是必不可少的:一个组件的变化而另一个保持不变会导致效果的变化。
    6. 每个组件的阿基米德属性。它只是确保组件上的间隔具有可比性。

    我们可以接着derive and get这个函数的有效性:

    通常我们不使用有效性,而是使用更简单的 F 分数

    because F is just 1 - E:

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

    我们可以通过设置 beta 来更加强调召回率或精度,因为 beta 定义如下:

    如果我们召回权重比精度更重要(选择所有相关的),我们可以将 beta 设置为 2,我们得到 F2 度量。如果我们做反向和权重精度高于召回(尽可能多的选定元素是相关的,例如在一些语法错误纠正场景中,如CoNLL),我们只需将 beta 设置为 0.5 并获得 F0.5 度量。显然,我们可以将 beta 设置为 1 以获得最常用的 F1 度量(准确率和召回率的调和平均值)。

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

    让我们看看调和平均值的 3D 图。可以看出调和平均对最小值很敏感,尤其是调和平均在至少有一个为0时为0,这对于简单的算术平均不成立。

    更多关于这个话题的可视化,请参考这篇文章:F1 score explained

    参考资料:

    1. https://en.wikipedia.org/wiki/F1_score
    2. The truth of the F-measure
    3. Information retrival
    4. File:Harmonic mean 3D plot from 0 to 100.png

    【讨论】:

      猜你喜欢
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 2018-11-05
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      相关资源
      最近更新 更多