在监督学习中,我们需要定量地评估模型的性能。不同的应用场景对模型有不同的要求:
混淆矩阵是理解分类器性能的基础工具,它展示了预测结果与真实标签的对应关系:
💡 所有评估指标都基于混淆矩阵的这四个值计算得出
理解 TPR 和 FPR 的数学定义
真正例率(True Positive Rate)= 正确识别的正例 / 全部正例
又称为召回率(Recall)或灵敏度(Sensitivity)
假正例率(False Positive Rate)= 错误识别的负例 / 全部负例
又称为误报率
✓理想分类器:TPR → 1(尽可能捕获所有正例)
✓理想分类器:FPR → 0(尽可能避免误报)
→ROC 曲线绘制了不同阈值下 (FPR, TPR) 的变化轨迹
⚖调整阈值是在 召回率 和 误报率 之间做权衡
ROC (Receiver Operating Characteristic) 曲线是一种图形化工具,用于评估二分类模型在所有可能的分类阈值下的性能。
表示所有负样本中,被错误分类为正的比例。理想情况下应该接近 0。
表示所有正样本中,被正确分类的比例。理想情况下应该接近 1。
AUC (Area Under Curve)是 ROC 曲线下的面积,取值范围在 0 到 1 之间:
拖动滑块调整分类阈值,观察 ROC 曲线上的操作点如何移动,以及各项指标如何变化。
TPR: 0.0%
FPR: 0.0%
AUC (Area Under Curve): 曲线下方面积,值越接近1,模型性能越好。当前 AUC = 0.000
橙色圆点: 表示当前阈值下的操作点,调整滑块可观察不同阈值对分类结果的影响
灰色虚线: 表示随机猜测的性能基线(AUC = 0.5)
模型的泛化误差可以分解为三个部分:
模型预测的期望值与真实值之间的差距。高偏差导致欠拟合。
模型在不同训练集上预测结果的变化程度。高方差导致过拟合。
数据本身的随机性,无法通过模型消除。
💡 关键洞察:降低偏差通常会增加方差,反之亦然。找到最佳平衡点是模型优化的核心目标。
使用上方的 ROC 交互式演示:
考虑以下场景,选择最合适的优化目标:
场景A:癌症筛查模型
应该优化召回率(TPR),避免漏诊,宁可多一些假阳性。
场景B:垃圾邮件过滤
应该优化精确率,避免将重要邮件标记为垃圾邮件。
场景C:欺诈检测
需要平衡召回率和精确率,可以使用 F1 分数作为综合指标。
思考题:为什么 AUC 是一个好的综合性能指标?
AUC 衡量了模型在所有可能的阈值下的平均性能,不依赖于特定阈值的选择。 它表示随机选择一个正样本和一个负样本,模型给正样本打分更高的概率。 AUC 对类别不平衡问题也相对鲁棒,是评估排序质量的好指标。
✓ 混淆矩阵是理解分类性能的基础,包含 TP、FP、TN、FN 四个要素
✓ 不同应用场景需要关注不同的指标:准确率、精确率、召回率、F1分数
✓ ROC 曲线展示了模型在不同阈值下的性能权衡
✓ AUC 提供了一个与阈值无关的综合性能度量
✓ 偏差-方差权衡是模型选择和优化的核心考虑因素