跳到内容

第 13 卷 / 第 4 章 / 第 1 课

4.1 从业务决定到监督学习任务:标签只是对目标的测量 ​

监督学习从任务定义开始:要在什么时点,用哪些输入 X 预测哪个标签 Y,并据此采取什么行动?目标选错时,高准确率只会让错误代理看起来更可信。表格接受了训练,问题未必接受了治疗。

本课目标 ​

  • 定义 observation unit、prediction time、features、label 与 decision;
  • 区分目标构念、观测标签和代理变量;
  • 连接 loss、离线 metric 与真实决策成本;
  • 用经验风险最小化理解模型究竟从样本学什么。

1. 先写 prediction contract ​

下面是假设任务的预测约定(text 结构示意),把可用信息和后续行动写在一起:

text
决策:出发前是否安排额外资源审核
预测单位:一次计划任务
预测时点:departure_time - 30min
输入:此时已可用的任务、队伍和库存信息
目标:出发后 24h 内是否发生紧急资源请求
输出:校准概率,而不是直接批准/拒绝
行动:超过经验证阈值时进入人工审核
错误成本:漏掉高风险 vs 增加无谓审核
适用总体:哪些区域、任务类型和时间

没有预测时点,就无法判断特征泄漏;没有行动,就无法选择阈值和指标;没有总体,就无法解释泛化。

2. Label 不是天然真相 ​

目标构念可能是“实际需要紧急资源”,观测标签却是“是否提交请求”。两者不同:

  • 有些队伍需要但通信中断,形成 false negative label;
  • 有些请求用于预防,不代表已短缺;
  • 不同地区上报文化和审批流程不同;
  • 模型上线后,额外审核会改变是否请求。

记录 label source、生成规则、观察窗口、延迟、缺失和版本。抽样复核 inter-rater agreement 或与更权威结果对账。把历史决定当标签时,还要问决定是否带有选择和历史偏差。

3. Features 属于预测现场 ​

X 不是“训练表除标签外的所有列”。每个特征要在 prediction time 可用,并具有 point-in-time 正确性。第 12 卷第 7 章已讨论事件时间、可用时间和 cross-fitting;这里把特征 pipeline 视为模型的一部分。

身份 ID、事后状态、处理结果和完整窗口聚合往往是泄漏来源。即使不直接含 label,高相关代理也可能由结果流程产生。

4. 输出形式决定后续方法 ​

  • regression:预测连续条件量/分布;
  • binary/multiclass classification:互斥类别;
  • multilabel:多个标签可同时成立;
  • ranking:关注相对顺序;
  • survival/time-to-event:处理事件时间与 censoring;
  • structured prediction:序列、图或组合输出。

把“多久发生”粗暴改成 7 天内二分类会丢失 censoring 和时间信息;把互不排斥问题强行 multiclass 会制造错误约束。

5. Loss、metric 与 utility ​

训练 loss 是优化器处理的代理,例如 squared error、log loss。离线 metric 用于比较模型,例如 MAE、AUCPR、calibration error。业务 utility 衡量行动收益与伤害。

三者不必相同:

text
训练:minimize log loss
验证:calibration + recall at review capacity
决策:审核容量固定时减少高代价漏报

一个可手算的决策例子:每次审核成本为 1,漏掉实际风险的损失为 20;假设审核能完全避免损失、概率已经校准,且暂不限制容量。风险概率 p 满足 20p>1 时审核,所以阈值是 0.05。审核效果不完全或有容量限制时,要重新计算,不能把 0.05 复制成团队习惯。

Accuracy 把所有样本和错误同权;当误报/漏报成本不同或类别失衡时,可能与决定无关。也不能只选一个让模型好看的 metric,需在训练前定义主指标和约束。

6. 经验风险最小化 ​

给定训练样本 (xi,yi) 和 hypothesis class H:

f^=arg⁡minf∈H1n∑i=1nℓ(f(xi),yi).

这是 empirical risk。我们关心的是目标分布上的 expected risk:

R(f)=E(X,Y)∼Ptarget[ℓ(f(X),Y)].

训练样本只有在采样、时间和部署机制足够相关时,才能估计目标风险。算法还带 inductive bias:线性、平滑、稀疏、局部相似或架构不变性。没有偏好,有限样本无法唯一决定未见输入的预测。

7. Baseline 先于复杂模型 ​

至少比较:

  • constant/majority/mean baseline;
  • 简单业务规则;
  • 当前生产流程;
  • 少量强特征的可解释模型;
  • 候选复杂模型。

Baseline 使用同一切分、可用特征和指标。若新模型只比随机好却不如现有规则,没有部署价值。若提升只来自事后字段,则不是算法进步。

8. 数据生成过程 ​

画出:

text
总体 → 谁被观察 → 谁获得 label → 怎样进入训练集
      → 模型输出 → 行动 → 下一轮数据与 label

常见选择:只对被检查者有违规标签、只对完成任务者有成功率、只对历史策略批准者有收益结果。训练分布不是自然总体,而是流程的产物。

9. 任务定义审查 ​

text
[ ] 决策、单位、prediction time 与 horizon 明确
[ ] label 与目标构念差距已评估
[ ] 特征在预测现场可得
[ ] loss/metric/utility 关系明确
[ ] 目标总体与采样机制有记录
[ ] baseline 和不建模型方案已比较
[ ] 反馈循环、申诉和停止条件已考虑

常见误区 ​

  • 监督学习不需要手写规则:任务、标签、损失和行动仍由人定义。
  • 数据库字段就是客观 label:它可能是流程产生的代理。
  • 模型输出类别就是决策:阈值、容量和人工流程仍需设计。
  • 测试准确率高就有价值:要超过真实 baseline 并改善决策 utility。

练习 ​

  1. 把“预测任务风险”改写成完整 prediction contract。
  2. 为历史审批标签列出三种测量/选择偏差。
  3. 为同一概率输出设计两种不同错误成本下的行动。
  4. 画出模型部署后如何改变下一轮标签。

小结 ​

机器学习先学习你定义的任务,再学习数据中的模式。明确预测现场、标签来源和决策成本,才能判断一个离线分数是否对应现场问题。

下一课把样本分成训练、选择和最终评估职责,并根据时间、实体和部署目标阻断泄漏。

Built with VitePress | Software Systems Atlas