模型评估与选择
00:00
交叉验证、混淆矩阵、ROC/AUC、偏差方差分解与模型选择策略。
1. 交叉验证
1.1 K折交叉验证
将数据分为K个大小相近的子集,轮流用K-1个训练、1个验证:
| K值 | 偏差 | 方差 | 计算量 |
|---|---|---|---|
| K=2 | 高 | 低 | 2次训练 |
| K=5 | 中 | 中 | 5次训练 |
| K=10 | 低 | 中 | 10次训练 |
| 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) | 整体正确率 | |
| 精确率(Precision) | 预测为正中真正为正 | |
| 召回率(Recall) | 实际为正中被预测为正 | |
| F1 Score | P和R的调和平均 | |
| 特异度(Specificity) | 实际为负中被预测为负 |
Fβ Score(可调权重):
- :更重视召回率
- :更重视精确率
2.3 多分类指标
| 方法 | 说明 |
|---|---|
| Macro平均 | 每类指标取平均(各类等权) |
| Micro平均 | 全局TP/FP/FN计算(样本等权) |
| Weighted平均 | 按各类样本数加权平均 |
3. ROC与AUC
3.1 ROC曲线
ROC(Receiver Operating Characteristic)曲线绘制不同阈值下的:
- TPR(真正率) = = Recall
- FPR(假正率) =
ROC曲线从左下角(0,0)到右上角(1,1),理想分类器的曲线紧贴左上角。
3.2 AUC
AUC(Area Under Curve)为ROC曲线下面积:
即随机正样本得分高于随机负样本的概率。
| AUC值 | 含义 |
|---|---|
| 1.0 | 完美分类器 |
| 0.5 | 随机猜测 |
| <0.5 | 比随机还差 |
3.3 PR曲线
当正样本稀少时,PR曲线比ROC曲线更有信息量:
- PR曲线关注精确率-召回率权衡
- ROC曲线在类别不平衡时可能过于乐观
4. 回归评估指标
| 指标 | 公式 | 特点 |
|---|---|---|
| MAE | 对异常值鲁棒 | |
| MSE | 惩罚大误差 | |
| RMSE | 与目标同量纲 | |
| MAPE | 相对误差 | |
| 解释方差比例 |
5. 偏差-方差权衡
5.1 误差分解
| 组成 | 定义 | 控制方法 |
|---|---|---|
| 偏差² | 增加模型复杂度 | |
| 方差 | 正则化、集成学习 | |
| 噪声 | 不可约减 |
5.2 学习曲线
训练误差 - 随数据量增加而上升
验证误差 - 随数据量增加而下降
高偏差(欠拟合):
训练误差和验证误差都高且接近 → 增加特征/更复杂模型
高方差(过拟合):
训练误差低,验证误差高 → 增加数据/正则化
6. 模型选择策略
6.1 超参数调优
| 方法 | 说明 | 优点 | 缺点 |
|---|---|---|---|
| 网格搜索 | 遍历所有组合 | 简单 | 计算量大 |
| 随机搜索 | 随机采样 | 效率高 | 可能错过最优 |
| 贝叶斯优化 | 概率模型指导 | 高效 | 实现复杂 |
6.2 模型选择流程
1. 快速基线: 用默认参数训练多个模型
2. 选择Top 2-3模型
3. 超参数调优(随机搜索 + 交叉验证)
4. 特征工程迭代
5. 集成学习(如果单模型不够好)
6. 最终评估(测试集,只用一次)