3. F1分数详解:调和平均的原理

3.1 调和平均:为什么算术平均不适合不平衡数据

评估分类模型时,我们经常需要同时考虑精确率(Precision)和召回率(Recall)。直接取它们的算术平均(即简单相加除以2)会掩盖一方的缺陷——若某个类别分类极差而另一个表现良好,两者数值相加可能仍偏高。调和平均(Harmonic Mean)能对极端差异更敏感,从而更准确地反映模型真实能力。

📐 核心公式对比
算术平均:\( \frac{P + R}{2} \) —— 均衡取值,但不能惩罚极端差异。
调和平均:\( \frac{2PR}{P + R} \) —— 当P或R一方很低时,F1会急剧下降。

生活类比:通勤速度

  1. 上班去程:60 km/h(快),回程:20 km/h(慢)
  2. 算术平均:(60 + 20) / 2 = 40 km/h
  3. 调和平均:2 × 60 × 20 / (60 + 20) = 30 km/h
  4. 实际有效速度:整体时间/总距离,更接近30 km/h——调和平均更好地反映了“慢速回程”带来的瓶颈效应。

在分类场景中,精确率低意味着模型预测的“正类”中有大量误判;召回率低意味着很多真正正类未被识别。F1分数用调和平均同时惩罚这两个方向,确保模型在两个指标上都合格。

调和平均与F1分数的关系 精确率 (P) 召回率 (R) F1 = 2 × P × R / (P + R) F1 分数 ▲ 调和平均对较低值给予更高权重,确保F1不偏袒任意一方

3.2 Fβ分数:让精确率或召回率承担更大权重

F1默认认为P和R同等重要。但实际场景中,两者重要性往往不同:

  • 癌症筛查:宁可误检(低精确率)也不漏诊(高召回率更重要)
  • 垃圾邮件过滤:宁可漏掉(低召回率)也不能误删正常邮件(高精确率更重要)

Fβ分数引入一个参数β,控制召回率相对于精确率的权重:

Fβ = (1 + β²) × P × R / (β² × P + R)
β值 含义 适用场景举例
β < 1 更偏重精确率(P更重要) 推荐系统、内容审核、垃圾邮件过滤
β = 1 精确率和召回率同等重要 大多数平衡场景的默认选择
β > 1 更偏重召回率(R更重要) 医疗诊断、金融欺诈检测、安全漏洞扫描
💡 记忆技巧:
β就是“强调Recall”的系数。β² ≈ 1 时权重持平;β² < 1 时强调Precision;β² > 1 时强调Recall。

3.3 多分类中的宏F1与微F1

当类别超过两类时,我们需要将F1扩展到多分类场景。两种主流聚合方式:

宏F1(Macro F1)

  1. 先为每个类别单独计算F1分数。
  2. 再对所有类别的F1取算术平均。
  3. 每个类别权重相同,不受样本数量影响。
Macro F1 = (F1_class1 + F1_class2 + ... + F1_classN) / N

优点:对少数类敏感,能暴露类别不平衡问题。

缺点:若某类样本极少,其F1波动可能极大。

微F1(Micro F1)

  1. 全局统计所有类别的总TP、总FP、总FN。
  2. 再计算全局精确率和全局召回率。
  3. 最后代入F1公式。
全局P = ΣTP / (ΣTP + ΣFP)
全局R = ΣTP / (ΣTP + ΣFN)
Micro F1 = 2 × 全局P × 全局R / (全局P + 全局R)

优点:受大样本类影响大,结果更稳定。

缺点:容易掩盖少数类的低劣表现。

特性 宏F1 微F1
聚合方式 先分别求各类F1,再平均 先全局聚合TP/FP/FN,再求F1
每类权重 相等(不考虑样本数) 与样本数成比例
对少数类 敏感(可能波动大) 不敏感(大样本占主导)
推荐用法 评估类别均衡模型,或少数类重要时 类别分布极度不均,关注整体表现时
⚠️ 常见误区:
1. 宏F1≠所有类别F1的简单平均——确实是算术平均,但需要确保每个类别都有有效计算。
2. 微F1≈全局准确率?不对。微F1基于精确率和召回率,而准确率基于TP+TN占全体比例。当分类完全均衡且无TN概念(某些多分类设定)时,两者可能接近,但本质不同。
3. 不应该同时报告宏F1和微F1两份截然不同的结果?应该同时报告,以便从“类别平等”和“样本平等”两个视角评估模型。

3.4 练习题:巩固理解

  1. 场景计算:某疾病检测模型,精确率=0.90,召回率=0.40,计算F1分数和F2分数。哪个更适合该场景?
  2. 多分类F1:三类别任务,各类F1为0.8/0.3/0.9,样本数分别为1000/10/900。计算宏F1和微F1,并解释为何差异显著。
  3. 权重选择:电商平台商品审核系统,漏掉违规商品(低召回率)会导致巨额罚款,而误删正常商品(低精确率)只会影响少数商家体验。应选择β<1还是β>1的Fβ分数?

3.5 应用边界与注意事项

  • 极长尾分类:当存在大量罕见类别时,宏F1的稳定性急剧下降,可考虑分层或加权变体。
  • 非对称成本:Fβ分数在β固定后无法动态反映成本变化,如需更灵活的成本敏感评估,应使用自定义损失函数或效益曲线。
  • 不连续业务决策:F1分数是一个连续指标,不代表最佳决策阈值。建议结合成本-收益分析,寻找实际最优阈值。
  • 与RICE流程的结合:在评估环节,根据任务重要性选择F1/Fβ,再与Impact、Confidence、Effort组合,得到优先级排序。