02. 模型评估与指标

返回目录

本章覆盖分类/回归指标、概率校准和模型比较。

1. 混淆矩阵、Precision、Recall、F1 与 Accuracy

混淆矩阵

  预测为正 预测为负
真实为正 TP FN
真实为负 FP TN

Accuracy

\[ Accuracy = \frac{TP+TN} {TP+FP+TN+FN}. \]

Accuracy 回答的是:

所有样本中,模型预测正确了多少?

Precision

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

Precision 回答的是:

模型预测为正的样本中,有多少是真的?

Recall

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

Recall 也叫 Sensitivity 或 True Positive Rate,回答的是:

所有真实正样本中,模型成功找到了多少?

F1 Score

\[ F_1 = \frac{2\cdot Precision\cdot Recall} {Precision+Recall}. \]

也可以直接根据混淆矩阵计算:

\[ F_1 = \frac{2TP}{2TP+FP+FN}. \]

F1 是 Precision 和 Recall 的调和平均。只有两者都较高时,F1 才会较高。


3. ROC-AUC 与 PR-AUC

Precision、Recall 和 F1 都依赖某个固定阈值。ROC-AUC 和 PR-AUC 则通过改变阈值,评估模型在所有阈值下的整体表现。

ROC Curve

ROC 曲线的横轴是 False Positive Rate:

\[ FPR = \frac{FP}{FP+TN}. \]

纵轴是 True Positive Rate,也就是 Recall:

\[ TPR = \frac{TP}{TP+FN}. \]

从高到低改变分类阈值,会得到不同的:

\[ (FPR,TPR) \]

点,这些点组成 ROC 曲线。

ROC-AUC

ROC-AUC 是 ROC 曲线下面的面积。

它也可以解释为:

随机抽取一个正样本和一个负样本,模型给正样本更高分的概率。

对于分数相同的情况,通常按一半概率计算。

因此:

  • ROC-AUC = 1:所有正样本都排在负样本前面。
  • ROC-AUC = 0.5:排序能力接近随机。
  • ROC-AUC < 0.5:排序方向可能反了。

ROC-AUC 只关心排序,不要求模型输出准确的概率。


4. Log Loss 与概率校准

二分类 Log Loss:

\[ \mathcal L =-\frac1N\sum_i \left[ y_i\log p_i+(1-y_i)\log(1-p_i) \right] \]

它不仅要求排序正确,也惩罚错误的概率置信度;对“高置信度但预测错误”惩罚尤其大。CTR、风险预测等需要概率参与后续决策的场景,Log Loss 通常比只看 AUC 更重要。

排序和校准的区别

  • AUC:样本顺序是否正确。
  • Calibration:预测 \(p=0.2\) 的样本中,长期是否约有 20% 为正。

单调变换分数可能保持 AUC 不变,却破坏校准。常见校准指标与方法:

  • Brier Score。
  • Reliability Diagram。
  • Expected Calibration Error(ECE,依赖分桶方式)。
  • Platt Scaling、Isotonic Regression、Temperature Scaling。

数值稳定的 Log Loss

不要先显式计算 softmax/sigmoid 再取 log。使用 log-sum-exp 或框架的 CrossEntropyLoss / BCEWithLogitsLoss,避免概率下溢到 0 后出现 \(\log 0\)。


目录

章节
00. 机器学习核心概念
01. 基础与神经网络机制
02. 模型评估与指标
04. 经典机器学习
05. NLP、RNN 与词向量
06. LLM 基础
07. 训练与系统
08. 对齐与 RLHF
09. 推理与部署
11. ML Coding 基础
12. ML Coding 专题
参考资料