1. 简介

在机器学习模型评估中,我们常用多个指标来衡量分类器性能。其中,F1 Score 是 Precision 与 Recall 的调和平均值,常用于综合评估模型的准确性。

但在某些场景中,Precision 与 Recall 的重要性并不对等。例如在医学诊断中,漏诊(False Negative)可能比误诊(False Positive)更严重;而在垃圾邮件检测中,误判正常邮件为垃圾邮件的代价可能更高。

F-Beta Score 正是为了应对这种非对称需求而提出的,它允许我们通过参数 β 来调整 Recall 与 Precision 的权重。

2. F1 Score 简要回顾

F1 Score 是 Precision(P)与 Recall(R)的调和平均:

$$ F_1 = \frac{2PR}{P+R} $$

它适用于 Precision 与 Recall 同等重要的场景。F1 Score 的等高线图如下:

F1 Score

图像对称,表明 Precision 与 Recall 权重一致。

2.1. 当 Precision 与 Recall 不等价时怎么办?

  • Recall 更重要:当 False Negative 代价更高时(如医学诊断),我们更关注 Recall。
  • Precision 更重要:当 False Positive 代价更高时(如垃圾邮件识别),我们更关注 Precision。

此时,F-Beta Score 就派上用场了。

3. F-Beta Score 的定义

F-Beta Score 的标准形式如下:

$$ F_{\beta} = (1 + \beta^2) \cdot \frac{PR}{\beta^2 P + R} $$

它是一种加权调和平均。权重分别为:

$$ \frac{1}{\beta^2 + 1} \quad \text{和} \quad \frac{\beta^2}{\beta^2 + 1} $$

因此:

$$ F_{\beta} = \frac{1}{\frac{1}{\beta^2 + 1} \cdot \frac{1}{P} + \frac{\beta^2}{\beta^2 + 1} \cdot \frac{1}{R}} $$

  • 当 β > 1:Recall 被赋予更高权重(权重是 β 倍 Precision)。
  • 当 β < 1:Precision 被赋予更高权重。
  • 当 β = 1:即为 F1 Score。

示例:β = 10 时的 F-Beta Score 图形

F-Beta Score for Beta=10

可以看出,Recall 很高时,即使 Precision 不高,F-Beta Score 也可以很高。

为什么是 β² 而不是 β?

这个设计源于 F-Beta Score 的原始定义:当 Precision 与 Recall 的偏导数相等时,Recall 应为 Precision 的 β 倍。

通过数学推导得出,权重中必须使用 β² 才能满足这个条件。

4. F-Beta Score 的其他定义方式

除了上述定义,还有一种不同的加权方式:

$$ \tilde{F}_{\beta} = (1 + \beta) \cdot \frac{PR}{\beta P + R} $$

在这种定义下,当 Precision 与 Recall 相等时,Recall 的提升对 F-Beta Score 的影响是 Precision 的 β 倍。

两种定义在 β = 1 时都等于 F1 Score,但在其它 β 值下结果不同。

5. 总结

要点 内容
✅ 用途 在 Precision 与 Recall 权重不等时评估分类器性能
✅ β 的意义 β > 1 时强调 Recall,β < 1 时强调 Precision
✅ 数学基础 β² 的使用是基于偏导数相等时 Recall 为 Precision 的 β 倍这一条件
⚠️ 注意 不同的 F-Beta 定义方式在 β ≠ 1 时结果不同,使用时需确认定义来源

应用场景举例

  • ✅ 医疗诊断:优先提高 Recall,避免漏诊
  • ✅ 邮件分类:优先提高 Precision,避免误删重要邮件

F-Beta Score 提供了比 F1 更灵活的评估方式,适用于实际业务中 Precision 与 Recall 不对等的场景。


原始标题:F-Beta Score