Train、Eval、Test 三集划分确保模型训练、调参与最终评估的独立性。
三集职责
| 数据集 | 占比 | 作用 | 权重更新 |
|---|---|---|---|
| Train | 60-80% | 训练模型 | ✅ |
| Eval | 10-20% | 调参、早停 | ❌ |
| Test | 10-20% | 最终评估 | ❌ |
训练集
用于模型参数学习。训练流程:
- 数据预处理:清理、归一化、增强
- 选择模型与超参数
- 反向传播更新权重
过拟合解决:数据增强、正则化、早停、简化模型。
验证集
用于超参数调优和模型选择。每个 epoch 后评估验证损失,实现早停。
过拟合信号:验证损失上升 + 训练损失下降。
测试集
仅用于最终性能评估,使用一次。严禁用于调参(数据泄露)。
划分策略
| 方法 | Train | Eval | Test | 适用场景 |
|---|---|---|---|---|
| 固定划分 | 70% | 15% | 15% | 小数据集 |
| K-Fold | K-1 份 | 1 份 | - | 避免过拟合 |
| LOOCV | N-1 个 | 1 个 | - | 医学等超小数据 |
| 时间序列 | 过去 | 近期 | 未来 | 时序预测 |
核心原则
- 训练集:调整参数
- 验证集:选择模型和超参数
- 测试集:评估泛化能力(仅用一次)
张芷铭的个人博客
Comments