Appearance
泛化与模型评估
模型在训练数据上表现好,只能说明它拟合了训练目标。真正有价值的是泛化能力:面对未参与训练、但来自真实业务的数据,模型仍然能够正确工作。
欠拟合与过拟合
| 状态 | 训练表现 | 验证表现 | 典型原因 |
|---|---|---|---|
| 欠拟合 | 差 | 差 | 模型太简单、特征不足、训练不充分 |
| 合理拟合 | 好 | 接近训练表现 | 学到了可迁移规律 |
| 过拟合 | 很好 | 明显较差 | 模型记住噪声、数据少或泄漏 |
增加模型规模不一定能解决问题。欠拟合可能需要更好的特征、数据或模型,过拟合则可能需要更多有效数据、正则化和更严格切分。
指标必须对应错误成本
分类
混淆矩阵把预测和真实结果分成四类:
| 真实为正 | 真实为负 | |
|---|---|---|
| 预测为正 | TP | FP |
| 预测为负 | FN | TN |
- Precision = TP / (TP + FP):报出的正例有多少是真的。
- Recall = TP / (TP + FN):真实正例找出了多少。
- F1:Precision 和 Recall 的调和平均。
- ROC-AUC:模型区分正负样本的整体排序能力。
- PR-AUC:正样本稀少时更有解释力。
风控可能更关心漏过高风险用户,营销可能更关心不要打扰太多正常用户。指标选择必须对应实际动作。
回归
- MAE:平均绝对误差,容易解释,对异常值相对稳健。
- MSE / RMSE:放大大误差,适合大偏差代价高的场景。
- MAPE:相对误差直观,但真实值接近零时不稳定。
排序与检索
- Precision@K:前 K 个结果中相关结果比例。
- Recall@K:所有相关结果中有多少进入前 K。
- NDCG:考虑相关程度和排序位置。
- MRR:第一个正确结果出现得有多靠前。
阈值不是模型参数
分类模型输出分数后,应用还要选择决策阈值。阈值降低通常提高召回、增加误报;阈值提高通常减少误报、增加漏报。
阈值应结合:
- 误报和漏报成本。
- 人工审核容量。
- 不同人群的公平性。
- 概率是否经过校准。
基线
没有基线就无法判断复杂模型是否值得。
常见基线包括:
- 多数类别或历史平均值。
- 简单规则。
- 线性或树模型。
- 当前生产系统。
- 人工处理效果和成本。
复杂模型如果只提高很小,但延迟、算力和维护成本大幅增加,未必是更好的业务方案。
离线评估与在线评估
离线评估可重复、风险低,适合模型选择和回归;线上评估反映真实用户和系统影响,但容易受流量、人群、季节和产品改动干扰。
上线常采用:
- 影子流量:模型处理真实请求但不影响结果。
- 小流量灰度:让少量请求使用新模型。
- A/B 实验:随机分组比较业务指标。
- 分阶段放量:确认质量、延迟和资源稳定后扩大流量。
分片评估
总指标可能掩盖局部失败。至少应按重要维度切片:
- 新老用户。
- 地区和语言。
- 设备和渠道。
- 高低价格区间。
- 常见和长尾类别。
- 数据质量正常和异常样本。
漂移
上线后需要区分:
- 数据漂移:输入分布变化。
- 概念漂移:输入和目标之间的关系变化。
- 标签漂移:目标比例或定义变化。
- 反馈回路:模型决策反过来改变后续训练数据。
处理方式可能包括重新校准阈值、更新特征、重训模型、回滚版本或重新定义任务。
完整评估报告
一份可决策的评估报告至少包含:
- 数据范围、版本和切分方式。
- 与基线和当前生产模型的对比。
- 主指标、辅助指标和置信区间。
- 关键人群与场景分片。
- 典型正确和错误样例。
- 延迟、吞吐、资源和成本。
- 已知风险、上线条件和回滚策略。
评估不是在模型完成后补一张分数表,而是从任务定义开始贯穿整个生命周期。
