[AI] 智能系统的评估方法

1 概述:智能系统的评估方法

智能系统的性能度量 := 智能系统的评估指标

  • 对于ML学习器/智能系统的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型(智能系统)泛化能力的评价标准,这就是性能度量/评估指标

  • 评估指标反映了任务需求,在对比不同模型(智能系统)的能力时,使用不同的指标往往会导致不同的评判结果;

这意味着模型(智能系统)的“好坏”是相对的,什么样的模型(智能系统)是好的,不仅取决于算法/程序设计、数据,还取决于任务需求。

  • 在【预测任务】中,给定样例集 \(D = \{ (x_1, y_1), (x_2, y_2), ..., (x_m, y_m) \}\),其中 \(y_i\) 是示例 \(x_i\)的真实标记。要评估学习器(智能系统) \(f\) 的性能,就要把学习器(智能系统)的预测结果 \(f(x)\) 与真实标记 \(y\) 进行比较。

  • 【回归任务】最常用的性能度量是“均方误差”(mean squared error):

$E(f;D) = \dfrac{1}{m} \sum\limits_{i=1}^{m} (f(x_i)-y_i)^2 $

  • 更一般地,对于数据分布 \(D\) 和概率密度函数 \(p(.)\) ,均方误差可描述为:

$E(f;D) = \int_{x \sim \mathcal{D}} (f(x) -y)^2 p(x)dx $

  • 下面开始主要介绍分类任务中常用的性能度量。

2 常用的评估指标

错误率与精度

查全率=召回率、查准率=准确率、F1

  • 错误率和精度虽然常用,但并不能满足所有任务需求。

  • 在人工智能(尤其是分类任务)的效果评估中,召回率(Recall)、检出率(Detection Rate / 通常指【召回率】或【精确率】,需结合语境) 以及 【F1分数】(F1-Score) 是最核心的基础指标。

它们都源于混淆矩阵(Confusion Matrix),用于从不同角度衡量模型对正样本(Positive)的识别能力。

基础:混淆矩阵(Confusion Matrix)

  • 在二分类问题中,模型预测结果与真实标签的组合可以分为四种情况:
真实情况 \ 预测结果 预测为正例 (Positive) 预测为负例 (Negative)
实际为正例 真正例 (TP, True Positive) 假负例 (FN, False Negative) —— 漏检
实际为负例 假正例 (FP, False Positive) —— 误检 真负例 (TN, True Negative)

查全率 := 召回率/Recall、灵敏度(通俗意义的“检出率”)

1. 定义与公式

  • 召回率,又称查全率灵敏度(Sensitivity)真阳性率(True Positive Rate, TPR)

它衡量的是:在所有真实的正样本中,模型成功找出了多少的比例。

\[\text{Recall} = \frac{TP}{TP + FN} \]

2. 直观理解

  • 分母为所有真实的正样本\(TP + FN\))。
  • 分子为模型正确预测的正样本\(TP\))。
  • 召回率关注的是“【不漏掉】”

召回率越高,说明模型漏掉的正样本越少。

3. 业务场景: 不能漏检 >> 不能误检

  • 召回率适用于“漏检代价极高”的场景。例如:
  • 疾病筛查:癌症检测中,将一个癌症患者误判为健康(FN)的代价远大于将健康人误判为患者(FP),因此需要极高的召回率。
  • 安防监控:人脸识别门禁中,把主人拦在门外(FN)是不可接受的,需要高召回率。
  • 工业缺陷检测:漏掉一个次品(FN)流向市场会造成严重品牌损失。

关于“检出率”的澄清:在中文的很多工程领域(如目标检测、安防、医学影像),“检出率”通常就是【召回率】(Recall)的俗称,即“检出了多少真实存在的目标”。
但在某些特定语境下,它也可能指“【准确率】(Precision)”,即“检出来的东西里有多少是对的”。为了避免歧义,可阅读本文档的【精确率】也一并详述。

查准率 := 准确率/Precision(常被混淆为“检出率”)

很多时候,业务人员口中的“检出率”其实指的是精确率。

1. 定义与公式

  • 准确率,又称查准率,衡量的是:在模型所有预测为正的样本中,有多少确实是真正的正样本。

\[\text{Precision} = \frac{TP}{TP + FP} \]

2. 直观理解

  • 分母为模型预测为正的样本总数(\(TP + FP\))。
  • 分子为其中预测正确的(\(TP\))。
  • 精确率关注的是“不出错”。精确率越高,说明模型误报(把负样本错判为正样本)越少。

3. 业务场景:不能误检 >> 不能漏检

  • 准确率适用于“误检代价极高”的场景。例如:
  • 垃圾邮件过滤:将正常邮件误判为垃圾邮件(FP)会严重影响用户体验,因此需要高精确率。
  • 金融风控:将正常交易误判为欺诈(FP)会直接导致客户流失,需要高精确率。

4. 召回率与精确率的“此消彼长”

调整模型的分类阈值(Threshold)会同时影响这两个指标:

  • 降低阈值:更多样本被预测为正 → 抓住更多真实正样本(TP↑, FN↓)→ 召回率升高,但也会引入更多误报(FP↑)→ 精确率下降
  • 提高阈值:只有置信度极高的才判为正 → 误报减少(FP↓)→ 精确率升高,但会放过一些置信度稍低的正样本(FN↑)→ 召回率下降

这种权衡关系就是著名的 Precision-Recall Tradeoff

F1分数(F1-Score):综合平衡指标

1. 为什么需要F1?

  • 单独看【召回率】或【准确率】都可能产生误导。例如:
  • 一个模型把所有样本都预测为正例,那么召回率 = 100%(所有真实正例都被检出了),但精确率可能会极低(因为大量负例被误报)。
  • 反之,一个模型只把最确定的一个样本预测为正例且猜对了,那么精确率 = 100%,但召回率可能趋近于0(因为大量的正例由于过于谨慎的策略而被排除了)。

为了综合衡量模型在这两个维度的表现,引入了 F1分数

2. 定义与公式

F1分数是准确率和召回率的调和平均数(Harmonic Mean)

\[F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} \]

3. 为什么用【调和平均】而不是【算术平均】?

调和平均会严重惩罚【极端值】。只有当精确率和召回率同时都高时,F1分数才会高。

  • 算术平均:\((0.9 + 0.1) / 2 = 0.5\)
  • 调和平均(F1):\(2 \times (0.9 \times 0.1) / (0.9 + 0.1) = 0.18\)

显然,F1能更真实地反映模型在“查全”和“查准”上的综合实力。

4. 扩展:Fβ分数

如果对精确率或召回率有不同偏好,可以使用更通用的 \(F_\beta\) 分数:

\[F_\beta = (1 + \beta^2) \times \frac{\text{Precision} \times \text{Recall}}{(\beta^2 \times \text{Precision}) + \text{Recall}} \]

  • \(\beta > 1\):更看重召回率——不能漏检(如疾病筛查,用 \(F_2\))。
  • \(\beta < 1\):更看重准确率——不能误报(如垃圾邮件过滤,用 \(F_{0.5}\))。

5. 多分类场景下的F1

当问题扩展到多分类时,F1有三种常见计算方式:

  • Macro-F1(宏平均):分别计算每个类别的F1,然后取算术平均。平等看待每个类别,不受类别不平衡影响。
  • Micro-F1(微平均):将所有类别的TP、FP、FN汇总,计算一个全局的Precision和Recall,再求F1。更看重样本数量多的类别。
  • Weighted-F1(加权平均):按每个类别的样本比例加权平均F1,兼顾了类别分布。

总结对比

指标 别名 关注点 公式核心 适用场景
召回率 (Recall) 查全率、灵敏度、检出率(常用) 不漏掉正样本 \(TP / (TP+FN)\) 疾病诊断、缺陷检测、安防(漏检代价高)
准确率 (Precision) 查准率、检出准确率 不误报正样本 \(TP / (TP+FP)\) 垃圾邮件过滤、推荐系统(误检代价高)
F1分数 F1-Score 两者平衡 调和平均 类别不平衡、需要综合评估时

实践建议

  1. 先明确业务目标:是怕漏(Recall)还是怕错(Precision)?
  2. 不要只看准确率(Accuracy):在类别不平衡时(如99%是负样本),模型全猜负就能有99%准确率,但毫无价值。此时必须看Recall、Precision和F1。
  3. 结合PR曲线或ROC曲线:通过调整阈值,观察Recall和Precision的动态变化,选择最适合业务需求的平衡点。

Y 推荐文献

X 参考文献

posted @ 2026-08-21 16:01  数据知音  阅读(10)  评论(0)    收藏  举报