Contents — find the section you need
机器学习是一种利用数据调整函数的技术,该函数可以将输入 x 转换为预测结果 \hat y=f_\theta(x)。重要的不是某个高精度模型的名称,而是定义预测内容、如何衡量错误成本,以及在实际部署中能否保持相同的条件。
基本原理和数据划分
最小化训练集上的经验损失:
交叉熵代表分类,平方误差代表回归。按实体、视频或时间划分训练集、验证集和最终测试集,以避免重复数据和未来信息泄露。一旦查看测试集并调整设置,它就变成了验证集,不再能衡量泛化能力。
图表:Duskcoil,概念图而非实际性能结果。
| 失败 | 原因 | 应对措施 |
|---|---|---|
| 仅训练成功 | 过拟合或泄漏 | 审核拆分和正则化 |
| 部署后性能下降 | 偏移 | 监控输入并重新评估 |
| 误差不均 | 数据不平衡 | 分层评估和收集 |
评估和安全
仅凭准确率不足以应对罕见风险;应检查精确率、召回率、校准、子组性能、延迟、缺失输入和分布偏移。高风险输出应交给专人或安全备用方案,而不是成为最终决策依据。
高训练准确率是否能建立现实世界的可靠性?性能?
分别衡量泛化能力。按部署条件拆分数据,以避免因重复受试者或重叠时间段而导致的泄漏。
参考资料
从问题定义到特征
“预测需求”和“检测异常”并非具体规范。需要明确定义对象、哪些信息在哪个截止时间可用、截止日期以及可接受的误差范围。目标时间 t 之后记录的特征属于泄漏。预处理统计、插补和词汇表仅基于训练数据进行拟合。标准化 x'=(x-\mu)/\sigma 仅在从训练集划分中学习到 \mu,\sigma 时有效。
基线至关重要:昨天的值、规则、线性回归或无法被复杂模型超越的小型决策树都无法证明运营成本的合理性。比较特征可用性、延迟、模型规模、维护者和故障回退机制与准确率放在同一张表格中。
泛化、偏差和变化
低经验损失并不意味着在部署分布\mathbb E_{(x,y)\sim p_{deploy}}[\ell]下预期损失也很低。协变量偏移会改变输入;概念漂移会改变标签含义。季节、硬件版本、操作规则、用户行为和传感器故障都会导致这两种情况。应按时间、地区、属性和设备进行分层评估,而不是采用单一的固定测试。
| 评估 | 问题 | 容易遗漏 |
|---|---|---|
| 准确率 | 总体正确率是多少? | 罕见类别漏报率 |
| 精确率/召回率 | 警报是否可靠且被捕获? | 阈值成本 |
| 校准 | 概率是否与频率匹配? | 高置信度错误率 |
| 时间留存 | 未来是否有效? | 季节性和策略变化 |
| 属性切片 | 哪些人会收到错误? | 小样本不确定性 |
部署和故障处理
部署前,请进行验证输入模式、单位、范围、缺失值和特征分布。决定当输出不可用时,是回退到旧预测、规则还是人工判断。监控反馈循环:建议会改变暴露情况,检测器会改变检查频率,因此新数据无法自然采样。
使用数据契约、版本化和可复现的训练、影子操作、分阶段部署、性能/公平性/延迟监控以及即时回滚。对于高风险决策,应向人工提供证据、置信度和缺失输入,而不是将模型作为最终权威。
将不确定性与决策分离
模型概率并非行动。对于维护警报,在设置阈值之前,应将故障概率映射到止损损失、漏检损失和检查成本。如果基准故障率发生变化,最佳阈值也应随之改变。检查可靠性图和 Brier 评分,并且仅在验证数据上拟合 Platt 或等渗校准;使用模型对校准器进行版本控制。
预测区间和集成分布很有用,但并非保证。分布外输入、传感器故障和对抗样本本身就可能破坏不确定性估计。将输入有效性、OOD 标志、置信度和业务规则作为单独的信号传递;当任何一项不安全时,选择人工审核或安全的默认值。
选择学习机制
| 机制 | 教师信息 | 适用案例 | 评估警告 |
|---|---|---|---|
| 监督学习 | 每个输入都有标签 | 清晰的分类/回归 | 标签质量和泄漏 |
| 无监督学习 | 通常没有标签 | 结构和异常候选 | 之后不要赋予含义聚类 |
| 自监督 | 基于数据的代理任务 | 大型未标注语料库 | 下游评估和重叠 |
| 半监督 | 少量标注数据加上未标注数据 | 标注成本高昂 | 伪标签误差放大 |
| 强化学习 | 奖励和交互 | 序列决策 | 模拟器差距和安全探索 |
比较添加标签的成本和模型复杂化的成本。无监督聚类结果并非自动反映人类属性,弱伪标签会放大偏差。追踪每个标签的测量者、测量时间和测量方法。
失败案例:随机分割会泄露未来信息
从同一台机器随机分割重叠的振动窗口会导致训练集和测试集中包含近乎重复的数据。故障后分配的维护代码或基于整个周期计算的平均值也会泄露未来信息。按机器 ID 和时间分割,并根据预测时可用的记录重新计算特征。较低但更真实的分数比泄露信息后分数更接近实际部署。
最小实施流程
-
将用户、目标、观测截止时间、操作和误差成本整合到一个规范表中。
-
审核数据来源、授权/许可、缺失原因、单位、频率和标注流程。
-
修复代码中的分组/时间划分问题,并自动检查重复哈希值和 ID 交集。
-
保留规则和简单模型作为基线,并报告条件置信区间。
-
将预处理、模型、校准和阈值保存为一个流程;只需评估一次最终数据。
-
在监控输入质量、延迟、拒绝情况和下游结果的同时,进行影子发布、有限发布和分阶段推广。
-
记录重新训练触发条件、审批人、回滚版本、事件通知和退役条件。
重新训练并非自动改进。在同一固定数据集上比较新旧模型,并为新的周期和设备添加挑战集。综合审查性能、统计不确定性、计算成本、安全性和操作负担。
-
机器中的隐藏技术债务学习系统](https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems)
评论
请先登录。
暂无数据。