4.1 从业务决定到监督学习任务:标签只是对目标的测量
监督学习从任务定义开始:要在什么时点,用哪些输入 X 预测哪个标签 Y,并据此采取什么行动?目标选错时,高准确率只会让错误代理看起来更可信。表格接受了训练,问题未必接受了治疗。
本课目标
- 定义 observation unit、prediction time、features、label 与 decision;
- 区分目标构念、观测标签和代理变量;
- 连接 loss、离线 metric 与真实决策成本;
- 用经验风险最小化理解模型究竟从样本学什么。
1. 先写 prediction contract
下面是假设任务的预测约定(text 结构示意),把可用信息和后续行动写在一起:
决策:出发前是否安排额外资源审核
预测单位:一次计划任务
预测时点:departure_time - 30min
输入:此时已可用的任务、队伍和库存信息
目标:出发后 24h 内是否发生紧急资源请求
输出:校准概率,而不是直接批准/拒绝
行动:超过经验证阈值时进入人工审核
错误成本:漏掉高风险 vs 增加无谓审核
适用总体:哪些区域、任务类型和时间没有预测时点,就无法判断特征泄漏;没有行动,就无法选择阈值和指标;没有总体,就无法解释泛化。
2. Label 不是天然真相
目标构念可能是“实际需要紧急资源”,观测标签却是“是否提交请求”。两者不同:
- 有些队伍需要但通信中断,形成 false negative label;
- 有些请求用于预防,不代表已短缺;
- 不同地区上报文化和审批流程不同;
- 模型上线后,额外审核会改变是否请求。
记录 label source、生成规则、观察窗口、延迟、缺失和版本。抽样复核 inter-rater agreement 或与更权威结果对账。把历史决定当标签时,还要问决定是否带有选择和历史偏差。
3. Features 属于预测现场
身份 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 衡量行动收益与伤害。
三者不必相同:
训练:minimize log loss
验证:calibration + recall at review capacity
决策:审核容量固定时减少高代价漏报一个可手算的决策例子:每次审核成本为 1,漏掉实际风险的损失为 20;假设审核能完全避免损失、概率已经校准,且暂不限制容量。风险概率 p 满足 20p>1 时审核,所以阈值是 0.05。审核效果不完全或有容量限制时,要重新计算,不能把 0.05 复制成团队习惯。
Accuracy 把所有样本和错误同权;当误报/漏报成本不同或类别失衡时,可能与决定无关。也不能只选一个让模型好看的 metric,需在训练前定义主指标和约束。
6. 经验风险最小化
给定训练样本
这是 empirical risk。我们关心的是目标分布上的 expected risk:
训练样本只有在采样、时间和部署机制足够相关时,才能估计目标风险。算法还带 inductive bias:线性、平滑、稀疏、局部相似或架构不变性。没有偏好,有限样本无法唯一决定未见输入的预测。
7. Baseline 先于复杂模型
至少比较:
- constant/majority/mean baseline;
- 简单业务规则;
- 当前生产流程;
- 少量强特征的可解释模型;
- 候选复杂模型。
Baseline 使用同一切分、可用特征和指标。若新模型只比随机好却不如现有规则,没有部署价值。若提升只来自事后字段,则不是算法进步。
8. 数据生成过程
画出:
总体 → 谁被观察 → 谁获得 label → 怎样进入训练集
→ 模型输出 → 行动 → 下一轮数据与 label常见选择:只对被检查者有违规标签、只对完成任务者有成功率、只对历史策略批准者有收益结果。训练分布不是自然总体,而是流程的产物。
9. 任务定义审查
[ ] 决策、单位、prediction time 与 horizon 明确
[ ] label 与目标构念差距已评估
[ ] 特征在预测现场可得
[ ] loss/metric/utility 关系明确
[ ] 目标总体与采样机制有记录
[ ] baseline 和不建模型方案已比较
[ ] 反馈循环、申诉和停止条件已考虑常见误区
- 监督学习不需要手写规则:任务、标签、损失和行动仍由人定义。
- 数据库字段就是客观 label:它可能是流程产生的代理。
- 模型输出类别就是决策:阈值、容量和人工流程仍需设计。
- 测试准确率高就有价值:要超过真实 baseline 并改善决策 utility。
练习
- 把“预测任务风险”改写成完整 prediction contract。
- 为历史审批标签列出三种测量/选择偏差。
- 为同一概率输出设计两种不同错误成本下的行动。
- 画出模型部署后如何改变下一轮标签。
小结
机器学习先学习你定义的任务,再学习数据中的模式。明确预测现场、标签来源和决策成本,才能判断一个离线分数是否对应现场问题。
下一课把样本分成训练、选择和最终评估职责,并根据时间、实体和部署目标阻断泄漏。