Ch05 评估与特征工程修订于 二〇二六年七月二日

5.4 评估指标的完整体系

这一节给出完整的指标体系——每类问题的每种指标,都包含公式、直觉和适用场景。选择正确的指标,等于告诉模型”你该朝哪个方向优化”。

在深入之前,先建立回归评估的直觉。回归问题关心的是”预测值离真实值有多远”,三句话概括核心指标:

MAE(平均绝对误差):预测值和真实值的绝对差距的平均值。像你用尺子量 100 次桌子的长度,每次误差取绝对值再求平均。它不挑误差大小,所有误差一视同仁。

MSE(均方误差):和 MAE 的区别是把误差平方后再求平均。平方操作会放大较大的误差——如果你某次预测偏差极大,MSE 会比 MAE 高很多。这就像老师批卷子:大部分学生差 1-2 分(MAE 和 MSE 接近),但有一个学生差了 20 分,MSE 会狠狠惩罚这个特例。

R^2(决定系数):模型解释了数据中多少变化。R^2 = 0 表示模型和瞎猜一样好(直接用均值预测);R^2 = 1 表示完美拟合;R^2 < 0 表示模型比瞎猜还差。直觉:假设你不知道房价,猜平均值是最差但也最安全的策略——如果你的模型连这个策略都比不过,那这个模型没有任何价值。

下面逐一展开每个指标的详细解释。

5.4.1 分类指标:从准确率到 AUC-ROC

准确率(Accuracy):(TP + TN) / (TP + TN + FP + FN)

  • 直觉:预测正确的样本占总样本的比例
  • 陷阱:在不平衡数据上,准确率有欺骗性。1000 个人里 1 个病人,全说”没病”准确率 99.9%
  • 适用场景:类别平衡的数据集;快速基线评估;向非技术人员汇报时最直观
  • 不适用场景:医疗诊断、欺诈检测、罕见事件检测等不平衡场景

精确率(Precision):TP / (TP + FP)

  • 直觉:模型说”是”的样本里,真正是”是”的比例。查出来的人里,有几个是真的
  • 别名:查准率
  • 适用场景:不能容忍误报的场景——垃圾邮件检测(不能把正常邮件误判为垃圾)、推荐系统(不能推荐用户讨厌的内容)、搜索结果排序(不能返回不相关结果)
  • 关注点:当你关心”预测为阳性的结果有多可靠”时,看精确率

召回率(Recall):TP / (TP + FN)

  • 直觉:真正是”是”的样本里,模型找到了多少。实际的病人有没有被漏掉
  • 别名:查全率、灵敏度(Sensitivity)、真阳性率(TPR)
  • 适用场景:不能容忍漏报的场景——癌症筛查(不能漏掉病人)、安全检测(不能漏掉威胁)、合规审查(不能漏掉违规行为)
  • 关注点:当你关心”有没有漏掉”时,看召回率

F1 分数:2 × (Precision × Recall) / (Precision + Recall)

  • 直觉:精确率和召回率的调和平均数。调和平均数的特性是:如果两个数差距很大,调和平均数会偏向较小的那个。这很好——你无法用”一个极高另一个极低”来骗过 F1
  • F1 高的条件:精确率和召回率都高。只高一个,F1 不会高
  • 为什么用调和平均而不是算术平均:算术平均可以被”一个极高 + 一个极低”骗过去。比如 P=0.99, R=0.01,算术平均 = 0.5,但你的模型实际上很烂(漏掉了 99% 的正例)。调和平均 = 2×0.99×0.01/(0.99+0.01) ≈ 0.02——真实反映了模型的糟糕表现
  • F-beta 分数:Fβ = (1+β^2) × (P×R) / (β^2×P + R),β 控制精确率和召回率的权重。β>1 更重视召回率,β<1 更重视精确率。F2 分数(β=2)在医疗诊断中常用——召回率比精确率重要两倍

AUC-ROC(Area Under the ROC Curve):

  • ROC 曲线:以假阳性率(FPR = FP/(FP+TN))为 x 轴,真阳性率(TPR = Recall)为 y 轴,在不同分类阈值下画出的曲线
  • AUC:曲线下的面积。AUC = 1 完美分类,AUC = 0.5 随机猜测,AUC < 0.5 比随机还差(反向预测)
  • 直觉:AUC = 0.9 意味着:随机选一个正例和一个负例,模型给正例的打分高于负例的概率是 90%
  • 优点:AUC 只看排序能力,不受阈值影响,也不受类别不平衡影响(TPR 和 FPR 都只在自己的类别内计算比例)
  • 缺点:当类别极度不平衡时,AUC 可能过于乐观——因为 FPR 的分母是大量负例,很小的 FP 数量就能让 FPR 看起来很好
  • 适用场景:评估模型整体排序能力;比较不同模型时不依赖阈值选择;二分类问题的标准评估

PR 曲线(Precision-Recall Curve):

  • 以召回率为 x 轴,精确率为 y 轴,在不同阈值下画出的曲线
  • Average Precision(AP)= PR 曲线下的面积,等价于所有阈值下精确率的加权平均
  • 与 ROC 的对比:当正负样本极度不平衡时,PR 曲线比 ROC 曲线更能反映模型的实际表现。因为精确率直接受 FP 数量影响,而不平衡数据下 FP 的绝对数量变化在 PR 曲线上很明显
  • 适用场景:不平衡数据(正例 < 10%);信息检索(你只关心返回的前几个结果是否相关);目标检测(mAP 是标准指标)

Log Loss(对数损失,交叉熵损失):-1/N × Σ [y_i×log(p_i) + (1-y_i)×log(1-p_i)]

  • 直觉:衡量模型预测的概率和真实标签的差距。模型对正确答案越自信,惩罚越小;对错误答案越自信,惩罚越大
  • 优点:考虑了预测的置信度(概率),而不仅仅是分类结果。一个预测概率 0.51 的模型和一个预测概率 0.99 的模型,即使分类结果相同,log loss 也会不同
  • 适用场景:需要校准的概率输出(如风险评分);Kaggle 比赛中常用;模型训练时的损失函数

5.4.2 回归指标:从 MSE 到 MAPE

MSE(均方误差,Mean Squared Error):(1/n) × Σ(y_true - y_pred)^2

  • 直觉:误差平方的平均值。大误差被平方放大,所以 MSE 对异常值非常敏感
  • 优点:处处可导,是优化问题的最佳选择;有明确的数学解释(MLE 假设误差正态分布)
  • 缺点:量纲是原始单位的平方(预测房价,MSE 的单位是”万元^2”),不直观;一个异常值就能让 MSE 飙升
  • 适用场景:训练模型时的损失函数(因为可导);没有异常值或异常值也很重要的场景

RMSE(均方根误差,Root Mean Squared Error):sqrt(MSE)

  • 直觉:MSE 的平方根,量纲和原始数据一致,更直观。预测房价,RMSE = 5 万,意思是”平均来说,预测值和真实值差 5 万”
  • 适用场景:向非技术人员汇报时使用 RMSE 而不是 MSE(因为单位一致);常规回归任务的标准评估

MAE(平均绝对误差,Mean Absolute Error):(1/n) × Σ|y_true - y_pred|

  • 直觉:误差绝对值的平均。所有误差等权重,不会被大误差主导
  • 优点:对异常值鲁棒;量纲和原始数据一致,直观
  • 缺点:在 0 点不可导,不能直接作为某些优化器的损失函数;MAE 最优解是条件中位数,而不是条件均值
  • 适用场景:有异常值的数据;你不想让大误差主导评估时;预测房价且有极端值(如豪华别墅)

R-squared(R^2,决定系数):R^2 = 1 - SS_res / SS_tot = 1 - Σ(y_true - y_pred)^2 / Σ(y_true - y_mean)^2

  • 直觉:模型解释了数据中多大比例的变化。R^2 = 0.8 意味着模型解释了 80% 的变化,还有 20% 的变化是模型无法解释的(噪声或缺失的特征)
  • R^2 = 1:完美拟合,所有预测等于真实值
  • R^2 = 0:模型和瞎猜(用均值预测)一样好
  • R^2 < 0:模型比瞎猜还差——你的模型还不如直接输出平均值
  • 陷阱:R^2 随特征数量增加而增加(即使新特征是噪声),所以有调整 R^2(Adjusted R^2)来惩罚多余的特征
  • 适用场景:线性回归模型的标准评估;比较不同模型对同一数据的拟合程度;社会科学和经济学中常用

MAPE(平均绝对百分比误差,Mean Absolute Percentage Error):(1/n) × Σ|(y_true - y_pred) / y_true| × 100%

  • 直觉:误差占真实值的百分比。MAPE = 10% 意味着平均预测误差是真实值的 10%
  • 优点:百分比形式,跨数据集可比;业务人员容易理解
  • 陷阱:真实值为 0 时 MAPE 无穷大;对小的真实值过度敏感(真实值 1,预测 2,误差 100%);偏向于低估的模型(预测值小于真实值时的误差上限是 100%,但预测值大于真实值时的误差没有上限)
  • 适用场景:销售预测、库存预测等业务场景;需要向管理层汇报”预测准确率”时

5.4.3 生成指标:从 BLEU 到 BERTScore

生成任务(翻译、摘要、对话)的评估与分类/回归完全不同——正确答案不是唯一的,“今天天气真好”和”今天天气不错”应该算接近。

BLEU(Bilingual Evaluation Understudy):机器翻译的经典指标。

  • 核心思想:计算候选译文和参考译文中 n-gram(连续 n 个词)的重合度
  • BLEU-1 看 1-gram,BLEU-4 看 1-gram 到 4-gram 的加权平均
  • 公式:BLEU = BP × exp(Σ w_n × log(p_n)),其中 BP 是长度惩罚(防止候选译文过短),p_n 是 n-gram 精确率
  • 优点:计算简单,与人工评估有一定相关性,是机器翻译领域的事实标准
  • 缺点:只看词面重合,不看语义——“我今天很高兴”和”我非常开心”的 BLEU 可能很低,尽管含义相同;对短文本不稳定;不能处理同义词和释义
  • 适用场景:机器翻译评估;有多个参考译文时效果更好

ROUGE(Recall-Oriented Understudy for Gisting Evaluation):文本摘要的经典指标。

  • ROUGE-N:n-gram 召回率(参考摘要中有多少 n-gram 被候选摘要覆盖)
  • ROUGE-L:最长公共子序列(LCS)的召回率,更关注句子结构
  • 与 BLEU 的区别:BLEU 是精确率导向,ROUGE 是召回率导向——摘要要覆盖原文的关键信息(高召回率),翻译要输出的每个词都准确(高精确率)
  • 适用场景:文本摘要评估;新闻标题生成评估

METEOR(Metric for Evaluation of Translation with Explicit ORdering):BLEU 的改进版。

  • 考虑了同义词匹配(通过 WordNet)、词干匹配、词序
  • 与人工评估的相关性比 BLEU 更高
  • 缺点:依赖外部语言资源(WordNet 等),只在特定语言上可用
  • 适用场景:需要更准确评估翻译质量时;BLEU 得分低但人工评估高时用来验证

BERTScore:基于 BERT 的语义相似度指标(2020 年提出,2026 年广泛使用)。

  • 核心思想:用 BERT 模型把候选文本和参考文本都转成 Embedding 向量,然后用余弦相似度匹配每个 token
  • 优点:捕捉语义相似度,而不仅仅是词面重合;不需要外部语言资源;多语言支持
  • 缺点:计算慢(需要跑 BERT);依赖 Embedding 模型的质量
  • 适用场景:需要评估语义等价而非词面重合的场景;生成任务的质量评估(对话、故事生成、代码生成);GPT 类模型输出的自动评估

2026 年的趋势:用 LLM 作为评估器(LLM-as-Judge)正在取代传统指标。GPT-4 或 Claude 可以直接对生成文本打分(“这个翻译的流畅度 1-5 分是多少?”),结果与人工评估的相关性远高于 BLEU 和 ROUGE。但 LLM 评估器也有问题:成本高、有偏见(偏好自己的输出)、结果不完全可复现。


← 上一节:5.2 分类问题的评估 | 下一节:5.5 混淆矩阵深度解析 →

关联5

知识图谱

局部图谱 · 点节点跳转