CHAPTER 2
✓ 已完成
📊

模型评估与选择

Model Evaluation & Selection

学习目标

🎯
  • 理解分类任务中的核心评估指标:准确率、精确率、召回率、F1分数
  • 掌握混淆矩阵的构成及其各元素的含义
  • 理解 ROC 曲线和 AUC 指标的原理与应用
  • 认识阈值调整对模型性能的影响
  • 了解偏差-方差分解的权衡关系
2.1

评估指标基础

🎯

为什么需要评估指标?

在监督学习中,我们需要定量地评估模型的性能。不同的应用场景对模型有不同的要求:

  • 医疗诊断:更关注召回率(不能漏诊)
  • 垃圾邮件过滤:更关注精确率(不能误判正常邮件)
  • 信用评估:需要平衡准确率和公平性
📐

混淆矩阵 (Confusion Matrix)

混淆矩阵是理解分类器性能的基础工具,它展示了预测结果与真实标签的对应关系:

TP
真正例
正确预测为正
FP
假正例
错误预测为正
FN
假负例
错误预测为负
TN
真负例
正确预测为负

💡 所有评估指标都基于混淆矩阵的这四个值计算得出

ROC 曲线核心指标推导

理解 TPR 和 FPR 的数学定义

混淆矩阵 (Confusion Matrix)

TP
真正例
True Positive
FP
假正例
False Positive
FN
假负例
False Negative
TN
真负例
True Negative
TPR=
TP
TP + FN

真正例率(True Positive Rate)= 正确识别的正例 / 全部正例

又称为召回率(Recall)灵敏度(Sensitivity)

FPR=
FP
FP + TN

假正例率(False Positive Rate)= 错误识别的负例 / 全部负例

又称为误报率

🎯 关键洞察

理想分类器:TPR → 1(尽可能捕获所有正例)

理想分类器:FPR → 0(尽可能避免误报)

ROC 曲线绘制了不同阈值下 (FPR, TPR) 的变化轨迹

调整阈值是在 召回率误报率 之间做权衡

2.2

ROC 曲线与 AUC

📈

什么是 ROC 曲线?

ROC (Receiver Operating Characteristic) 曲线是一种图形化工具,用于评估二分类模型在所有可能的分类阈值下的性能。

横轴:假正例率 (FPR)

表示所有负样本中,被错误分类为正的比例。理想情况下应该接近 0。

纵轴:真正例率 (TPR)

表示所有正样本中,被正确分类的比例。理想情况下应该接近 1。

📊

AUC 的含义

AUC (Area Under Curve)是 ROC 曲线下的面积,取值范围在 0 到 1 之间:

  • AUC = 1.0完美分类器,所有样本都被正确分类
  • AUC = 0.9-1.0优秀的分类器
  • AUC = 0.7-0.9良好的分类器
  • AUC = 0.5随机猜测的性能基线
  • AUC < 0.5比随机猜测还差(可能标签反了)
🎮

交互式演示

拖动滑块调整分类阈值,观察 ROC 曲线上的操作点如何移动,以及各项指标如何变化。

0.001.00

混淆矩阵

0
真正例 (TP)
0
假正例 (FP)
0
假负例 (FN)
0
真负例 (TN)

评估指标

准确率 (Accuracy):0.0%
精确率 (Precision):0.0%
召回率 (Recall/TPR):0.0%
F1 分数:0.0%
FPR:0.0%

当前操作点

TPR: 0.0%

FPR: 0.0%

AUC (Area Under Curve): 曲线下方面积,值越接近1,模型性能越好。当前 AUC = 0.000

橙色圆点: 表示当前阈值下的操作点,调整滑块可观察不同阈值对分类结果的影响

灰色虚线: 表示随机猜测的性能基线(AUC = 0.5)

2.3

偏差与方差

⚖️

偏差-方差权衡

模型的泛化误差可以分解为三个部分:

偏差 (Bias)

模型预测的期望值与真实值之间的差距。高偏差导致欠拟合

方差 (Variance)

模型在不同训练集上预测结果的变化程度。高方差导致过拟合

噪声 (Noise)

数据本身的随机性,无法通过模型消除。

💡 关键洞察:降低偏差通常会增加方差,反之亦然。找到最佳平衡点是模型优化的核心目标。

2.4

实践练习

💪

练习1:理解阈值调整

使用上方的 ROC 交互式演示:

  1. 将阈值设为 0.2,观察混淆矩阵和评估指标
  2. 将阈值设为 0.8,再次观察变化
  3. 思考:什么情况下应该选择较低的阈值?什么情况下应该选择较高的阈值?
💪

练习2:指标权衡

考虑以下场景,选择最合适的优化目标:

场景A:癌症筛查模型

应该优化召回率(TPR),避免漏诊,宁可多一些假阳性。

场景B:垃圾邮件过滤

应该优化精确率,避免将重要邮件标记为垃圾邮件。

场景C:欺诈检测

需要平衡召回率和精确率,可以使用 F1 分数作为综合指标。

💪

练习3:解释 AUC

思考题:为什么 AUC 是一个好的综合性能指标?

💡 点击查看答案

AUC 衡量了模型在所有可能的阈值下的平均性能,不依赖于特定阈值的选择。 它表示随机选择一个正样本和一个负样本,模型给正样本打分更高的概率。 AUC 对类别不平衡问题也相对鲁棒,是评估排序质量的好指标。

📝

本章小结

✓ 混淆矩阵是理解分类性能的基础,包含 TP、FP、TN、FN 四个要素

✓ 不同应用场景需要关注不同的指标:准确率、精确率、召回率、F1分数

✓ ROC 曲线展示了模型在不同阈值下的性能权衡

✓ AUC 提供了一个与阈值无关的综合性能度量

✓ 偏差-方差权衡是模型选择和优化的核心考虑因素