跳到主要内容

参考答案

核对日期:2026-05-13。

1. 阶段练习参考方向

1.1 任务识别

问题类型判断理由
预测订单金额回归输出连续数值
判断用户是否会流失分类输出离散类别或概率
把用户分成若干群聚类没有标签,按相似性分组
根据固定规则审批报销不适合 ML规则清晰,风险高,确定性流程更合适
总结一篇文章不适合传统 ML更适合 LLM 文本生成或摘要任务

1.2 数据切分

用户行为日志通常应按时间切分:

训练集:较早历史区间
验证集:训练集之后的一段时间
测试集:最接近未来线上场景的一段时间

关键要求:

  • 特征窗口必须早于标签窗口。
  • 测试集不能随机混入未来数据。
  • 如果业务有季节性,测试集要覆盖关键周期。
  • 同一用户的泄漏要评估:有些任务允许跨用户时间切分,有些要按用户隔离。

1.3 指标选择

任务推荐指标原因
欺诈识别Recall、Precision、PR-AUC、人工复核量漏报和误报成本都高,类别通常极不平衡
垃圾邮件识别Precision、Recall、F1误杀正常邮件和漏掉垃圾邮件都要权衡
销售额预测MAE、RMSE、MAPE连续值预测,关注误差大小和大误差
商品搜索排序NDCG、MRR、CTR、转化率排序质量和用户行为相关

1.4 模型对比

输出表应至少包含:

模型训练指标验证指标测试指标主要失败样例
Logistic Regressionbaselinebaselinebaseline非线性边界
Decision Tree可能训练高验证可能下降需剪枝过拟合
Random Forest / GBDT通常更强需调参看泛化长尾样本

不要只比较最高分。要说明:

  • 哪个模型是 baseline。
  • 改进模型提升了什么指标。
  • 是否引入更高复杂度和解释成本。
  • 错误样例集中在哪些人群或场景。

2. 项目评分样例

高分 ML 项目应具备:

  • 标签定义清晰,和业务目标一致。
  • 数据切分能模拟未来线上使用。
  • 特征只使用预测时可获得的信息。
  • 至少有 baseline 和一个改进模型。
  • 指标选择符合业务成本。
  • 失败样例按人群、时间、类别或输入质量分桶。

不合格表现:

  • 随机切分时间序列数据导致时间穿越。
  • 只报 accuracy,不看类别不平衡。
  • 没有 baseline,无法判断模型是否真的有价值。
  • 模型分数直接触发高风险业务动作。

3. 验收题参考答案

  1. 监督学习和无监督学习有什么区别?

监督学习有标签,目标是学习输入到标签的映射;无监督学习没有标签,目标是发现结构,如聚类、降维或异常模式。

  1. 回归和分类分别解决什么问题?

回归预测连续数值,例如金额、时长、评分;分类预测离散类别,例如是否流失、是否欺诈、邮件是否垃圾。

  1. 为什么要分训练集、验证集、测试集?

训练集用于学习参数,验证集用于调参和选择模型,测试集用于最终估计泛化能力。三者分离能减少过拟合和指标虚高。

  1. 类别不平衡时 accuracy 为什么会误导?

如果 99% 样本是负类,模型全部预测负类也有 99% accuracy,但对少数正类完全无用。应看 precision、recall、F1、PR-AUC 和混淆矩阵。

  1. Precision 和 Recall 分别适合什么业务风险?

Precision 关注预测为正的结果有多少是真的,适合误报成本高的场景;Recall 关注真实正类找回多少,适合漏报成本高的场景。很多业务要结合阈值和人工复核权衡。

  1. 什么是数据泄漏?举一个时间穿越例子。

数据泄漏是训练或评测时使用了线上预测时不可获得的信息。时间穿越例子:预测用户本月是否流失,却使用了月底之后的客服记录作为特征。

  1. 为什么需要 baseline?

Baseline 提供最低可比较标准。没有 baseline,就不知道复杂模型是否真的优于简单规则、历史均值或业务现状。

  1. 过拟合和欠拟合分别如何识别?

过拟合表现为训练集好、验证或测试差;欠拟合表现为训练集和验证集都差。前者通常模型太复杂或数据泄漏,后者可能特征不足、模型太弱或训练不够。

  1. 传统 ML 什么时候比 LLM 更合适?

结构化数据预测、低延迟、低成本、高可解释、固定标签任务通常更适合传统 ML。例如风控评分、流失预测、库存预测。

  1. 模型输出分数后,业务系统还需要做什么?

需要阈值策略、人工复核、权限控制、解释展示、监控、反馈闭环、灰度上线和回滚。分数只是决策输入,不应无条件自动执行高风险动作。