问题与目标

明确稳定的规则优先用普通程序实现;目标可测、数据有代表性时,才进入模型基线。
不是所有自动化问题都需要训练模型。规则清晰、边界稳定的问题,普通程序往往更可靠;规则难以穷举但有代表性样本时,机器学习才可能有价值。
完成标准:能区分人工智能、机器学习与深度学习,识别监督、无监督和强化学习任务,并判断一个需求是否适合机器学习。
核心概念
人工智能是让机器表现出感知、推理或决策能力的宽泛领域;机器学习通过数据调整模型参数;深度学习是使用多层神经网络的机器学习方法。三者是包含关系,不是互相替代的产品名称。
- 监督学习从带标签样本学习输入到输出的映射,包括分类和回归。
- 无监督学习没有目标标签,用于发现分组、低维结构或异常模式。
- 强化学习通过环境反馈学习连续决策,本阶段只划清边界。
适合机器学习通常需要:目标可定义、样本有代表性、输入在预测时可获得、错误代价可评估。缺少其中任何一项,都应先解决需求或数据问题。
规则程序与机器学习的差异
| 维度 | 规则程序 | 机器学习 |
|---|---|---|
| 行为来源 | 人写条件 | 数据学习参数 |
| 验证重点 | 分支和边界 | 泛化指标与分布 |
| 变化方式 | 修改规则 | 补数据、重训或调阈值 |
| 可预测性 | 输入相同通常严格一致 | 受数据和模型版本影响 |
例如“文件超过 100 MB 拒绝上传”是明确规则;“根据多项运行信号判断任务是否可能超时”难以穷举条件,才适合建立预测基线。两者也可以组合:规则处理不可违反的安全边界,模型处理模糊排序或风险估计。
从业务问题映射到学习任务
| 业务问题 | 学习任务 | 标签或输出 |
|---|---|---|
| 预测运行耗时 | 回归 | 连续秒数 |
| 判断是否超时 | 二分类 | 0/1 |
| 将相似任务分组 | 聚类 | 无预设标签 |
| 压缩高维运行指标 | 降维 | 低维表示 |
同一个目标可能有多种建模方式。预测耗时后按阈值判断超时,与直接训练超时分类器的损失和评估方式不同,需要根据最终决策选择。
不适合直接建模的情况
- 标签依赖主观判断且没有一致标注规则。
- 训练样本来自过去,但部署环境已发生根本变化。
- 关键特征只有结果发生后才产生。
- 错误后果高,却没有人工复核或回退方案。
- 样本很少且问题可以用稳定规则表达。
模型投入使用后还要监控输入分布、预测比例和真实反馈。无法持续得到真实结果时,效果会逐渐失去验证依据。
可运行实现
下面的检查器不是模型,而是把需求判断显式化:
def assess_ml_candidate(
*, rule_is_clear: bool, labeled_examples: int,
target_is_measurable: bool, features_available_at_prediction: bool,
) -> str:
if rule_is_clear:
return "优先使用确定性规则"
if not target_is_measurable:
return "先定义可验证目标"
if not features_available_at_prediction:
return "重新设计特征,避免使用未来信息"
if labeled_examples < 100:
return "先收集并检查代表性样本"
return "可以建立机器学习基线"
print(assess_ml_candidate(
rule_is_clear=False, labeled_examples=800,
target_is_measurable=True, features_available_at_prediction=True,
))
输入是需求的四个条件,输出是下一步建议。它强调先验证任务成立,再选择算法。
还可以再准备三个需求:明确额度上限应返回规则方案;没有可测目标应返回先定义目标;有稳定标签和预测时特征才返回建立基线。
从需求到样本的五步检查
- 先写决策:预测结果出现后,是排序、拦截、人工复核,还是只做分析?
- 定义一行样本:一个任务、一个用户还是一次事件?同一对象多次出现会影响划分。
- 固定预测时点:越晚预测信息越多,但决策价值可能越低。
- 定义标签窗口:“七天内失败”与“本次运行失败”是两个不同任务。
- 明确错误后果:漏报、误报、延迟和人力成本决定了指标与阈值。
只要这五项中有一项模糊,模型类型就不应过早确定。“预测准确”也不是完整的成功标准,因为模型可能没有改变任何实际决策。
规则、统计和模型可以同时存在
一个实用流程往往由三层组成:强约束规则先排除非法输入,统计基线用于监控整体变化,模型只负责规则难以表达的风险排序。这种组合便于设置回退:模型不可用时,确定性规则仍可保证底线。
进一步验证
- 选择三个自动化需求,分别归类为规则、监督学习或无监督探索,写下判定依据。
- 对其中一个监督学习需求,写出样本、预测时点、标签窗口和错误代价。
- 列出两个上线拒绝条件,例如没有人工复核或输入分布已明显变化。
常见问题与排查
- 把“使用模型”当目标:先写清用户决策和成功指标。
- 用训练完成后才知道的字段预测:这是未来信息泄漏。
- 把聚类编号当真实类别:聚类只反映所选特征与距离下的结构。
- 认为深度学习必然更好:数据量、成本、可解释性和延迟都要比较。
小结
机器学习解决的是“规则难写、样本中存在可泛化规律”的问题。判断任务类型和数据条件,比先选热门模型更重要。
许可协议:CC BY-NC 4.0
更新于 1 小时前
觉得文章有帮助?点个赞吧!
0 条评论


