模型评估与选择

6 minIntermediate2026/6/15

交叉验证、混淆矩阵、ROC/AUC、偏差方差分解与模型选择策略。

1. 交叉验证

1.1 K折交叉验证

将数据分为K个大小相近的子集,轮流用K-1个训练、1个验证:

CV Score=1Ki=1KScorei\text{CV Score} = \frac{1}{K}\sum_{i=1}^{K} \text{Score}_i

K值偏差方差计算量
K=22次训练
K=55次训练
K=1010次训练
K=n (LOOCV)最低最高n次训练

1.2 分层K折

保持每折中类别比例与原始数据一致,适用于别不平衡场景。

1.3 时间序列交叉验证

Fold 1: [Train: 1-3]  [Test: 4]
Fold 2: [Train: 1-4]  [Test: 5]
Fold 3: [Train: 1-5]  [Test: 6]
Fold 4: [Train: 1-6]  [Test: 7]
  • 训练集始终在测试集之前
  • 避免未来信息泄露

2. 分评估指标

2.1 混淆矩阵

预测正预测负
实际正TP(真正例)FN(假负例)
实际负FP(假正例)TN(真负例)

2.2 核心指标

指标公式含义
准确率(Accuracy)TP+TNTP+TN+FP+FN\frac{TP+TN}{TP+TN+FP+FN}整体正确率
精确率(Precision)TPTP+FP\frac{TP}{TP+FP}预测为正中真正为正
召回率(Recall)TPTP+FN\frac{TP}{TP+FN}实际为正中被预测为正
F1 Score2PRP+R\frac{2PR}{P+R}P和R的调和平均
特异度(Specificity)TNTN+FP\frac{TN}{TN+FP}实际为负中被预测为负

Fβ Score(可调权重):

Fβ=(1+β2)PRβ2P+RF_\beta = (1 + \beta^2) \frac{P \cdot R}{\beta^2 P + R}

  • β>1\beta > 1:更重视召回率
  • β<1\beta < 1:更重视精确率

2.3 多分指标

方法说明
Macro平均指标取平均(各等权)
Micro平均全局TP/FP/FN计算(样本等权)
Weighted平均按各样本数加权平均

3. ROC与AUC

3.1 ROC曲线

ROC(Receiver Operating Characteristic)曲线绘制不同阈值下的:

  • TPR(真正率) = TPTP+FN\frac{TP}{TP+FN} = Recall
  • FPR(假正率) = FPFP+TN\frac{FP}{FP+TN}
graph LR
    subgraph ROC曲线
        A["FPR=0, TPR=0"] --> B["FPR增大, TPR快速上升"]
        B --> C["FPR增大, TPR缓慢趋近1"]
        C --> D["FPR=1, TPR=1"]
    end

ROC曲线从左下角(0,0)到右上角(1,1),理想分器的曲线紧贴左上角。

3.2 AUC

AUC(Area Under Curve)为ROC曲线下面积:

AUC=P(f(x+)>f(x))\text{AUC} = P(f(\mathbf{x}_+) > f(\mathbf{x}_-))

即随机正样本得分高于随机负样本的概率。

AUC值含义
1.0完美分
0.5随机猜测
<0.5比随机还差

3.3 PR曲线

正样本稀少时,PR曲线比ROC曲线更有信息量:

  • PR曲线关注精确率-召回率权衡
  • ROC曲线在别不平衡时可能过于乐观

4. 回归评估指标

指标公式特点
MAE1nyiy^i\frac{1}{n}\sum\|y_i - \hat{y}_i\|对异常值鲁棒
MSE1n(yiy^i)2\frac{1}{n}\sum(y_i - \hat{y}_i)^2惩罚大误差
RMSEMSE\sqrt{\text{MSE}}与目标同量纲
MAPE100%nyiy^iyi\frac{100\%}{n}\sum\|\frac{y_i - \hat{y}_i}{y_i}\|相对误差
R2R^21(yiy^i)2(yiyˉ)21 - \frac{\sum(y_i - \hat{y}_i)^2}{\sum(y_i - \bar{y})^2}解释方差比例

5. 偏差-方差权衡

5.1 误差分解

E[(yf^(x))2]=Bias2(f^)+Var(f^)+σ2\mathbb{E}[(y - \hat{f}(\mathbf{x}))^2] = \text{Bias}^2(\hat{f}) + \text{Var}(\hat{f}) + \sigma^2

组成定义控制方法
偏差²(E[f^]f)2(\mathbb{E}[\hat{f}] - f)^2增加模型复杂度
方差E[(f^E[f^])2]\mathbb{E}[(\hat{f} - \mathbb{E}[\hat{f}])^2]正则化、集成学习
噪声σ2\sigma^2不可约减

5.2 学习曲线

训练误差 - 随数据量增加而上升
验证误差 - 随数据量增加而下降

高偏差(欠拟合):
  训练误差和验证误差都高且接近 → 增加特征/更复杂模型

高方差(过拟合):
  训练误差低,验证误差高 → 增加数据/正则化

6. 模型选择策略

6.1 超参数调优

方法说明优点缺点
网格搜索遍历所有组合简单计算量大
随机搜索随机采样效率高可能错过最优
贝叶斯优化概率模型指导高效实现复杂

6.2 模型选择流程

1. 快速基线: 用默认参数训练多个模型
2. 选择Top 2-3模型
3. 超参数调优(随机搜索 + 交叉验证)
4. 特征工程迭代
5. 集成学习(如果单模型不够好)
6. 最终评估(测试集,只用一次)