学习目标

学习本课后,你将能够:

系统行为的两个来源显式编程由人编写规则并由程序执行;机器学习算法根据数据估计参数。系统行为的两个来源显式编程机器学习规则由人编写程序执行规则数据训练模型可靠的产品通常会结合两种逻辑来源
蓝色表示一般信息;紫色表示学习模型;青绿色表示输出或动作;琥珀色表示显式规则。文字颜色始终与卡片背景保持对比。

1. 什么是符号主义 AI

符号主义 AI 通过符号和结构表示对象、关系与知识,例如名称、类别、逻辑表达式、图、规则和事实。系统对这些表示执行操作,从而得出结论或选择行动。

知识库可以包含事实“泵 P-17 位于 R-2 房间”,以及规则“如果轴承温度超过阈值,则发出警告”。推理引擎检查条件并触发结论。

核心组成部分

2. 示例:规则不会学习

def diagnose_temperature(temp_c, limit_c=85):
    if temp_c > limit_c:
        return {"status": "warning", "reason": "threshold exceeded"}
    return {"status": "normal", "reason": "within rule limit"}

print(diagnose_temperature(92))

85°C 的阈值由开发者预先指定。程序只是将测量值与阈值比较,并没有通过训练样本估计阈值。输入中存在数据,并不意味着系统在进行机器学习。

3. 逻辑推理、搜索与规划

正向推理从已知事实开始,通过规则推导新事实。反向推理从假设开始,寻找能够支持它的事实和规则。

搜索在状态和可能行动空间中进行。导航系统可以搜索道路图,规划器可以在资源约束下选择操作顺序。这些系统无需训练神经网络,也能成为有用的 AI 系统。

4. 什么是机器学习

在机器学习中,模型根据数据或经验调整参数,以完成指定任务。开发者仍需定义问题、选择模型家族、准备数据并指定评价标准,而算法负责从样本中估计参数。

  1. 数据:观测、特征和目标值。
  2. 模型:具有可调参数的函数或算法家族。
  3. 目标:损失函数或其他性能指标。
  4. 训练:使用训练数据估计参数。
  5. 验证:在未用于拟合的数据上评估。
  6. 推理:将训练好的模型应用于新数据。

5. 模型究竟从数据中学到什么

线性模型的参数可能是系数;决策树的参数可能是分裂条件;神经网络的参数则是权重和偏置。训练并不保证发现因果规律:模型是在现有数据上优化指定目标。

有偏或不完整的数据可能导致模型学到不理想的模式。目标泄漏会夸大评估分数。因此,数据来源、合理划分和独立评估都是机器学习的必要环节。

6. 两种方法的比较

维度符号主义 AI机器学习
逻辑来源显式规则和事实从数据中估计的参数
人工指定知识、规则和推理机制数据、特征、模型和目标
更新方式修改规则重新训练或微调
解释方式通常可以追踪规则链取决于模型,参数可能不透明
典型难题知识获取、例外情况、扩展性数据质量、偏差、泛化和漂移

7. 何时使用哪种方法

当要求明确、逻辑稳定且决策必须可审计时,规则很有用,例如检查传感器范围或表单必填项。

当规律难以手工描述,但存在代表性样本且能够测量错误时,机器学习更合适,例如图像缺陷识别或需求预测。

选择应由任务决定,而不是追随潮流。简单阈值规则可能比复杂模型可靠;视觉和语言任务中的手写规则则可能非常脆弱。

8. 混合式 AI 系统

实际产品可能结合机器学习模型、规则、文档检索和人工审核。例如,模型根据振动估计设备故障风险;规则检查关键限值;检索系统查找手册和维修记录;工程师作出最终决定。将整个产品称为“一个神经网络”并不准确:网络只是一个组件。

9. 案例分析:水泵轴承温度监测

设想一台工业水泵。传感器测量轴承温度,工程师希望提前发现危险工况。最简单的规则可能是:“温度超过 85°C 就报警。”但真实工况更复杂:温度会受到负载、环境温度、启动状态、转速和润滑情况影响。同一个读数在一种工况下可能正常,在另一种工况下却值得警惕。

方案 A:显式规则

专家可以定义多条可检查的条件:超过安全上限时停止水泵;温度上升速度超过规定值时发出警告;传感器故障时请求检查,而不是推断轴承状态。这类规则适合表达强制安全约束。它们可以被审核、批准,并在日志中追踪。但规则依赖领域知识,异常情况增加后,规则集可能越来越复杂。

方案 B:使用数据训练模型

收集温度、振动、负载的历史测量值以及检修结果。为每个时间窗口设置目标标签,例如“未来 24 小时内发现故障”。模型学习与该标签相关的特征组合。它并没有得到一条由人编写的、对所有情况都适用的温度阈值,而是通过算法调整参数,降低训练样本上的预测误差。

随后,应使用未参与拟合的较晚时间段评估模型。这一点很重要:如果随机拆分相邻传感器读数,同一次故障中的相似片段可能同时进入训练集和测试集,导致评估结果高估模型面向未来的能力。

方案 C:混合系统

模型负责估计风险,独立规则负责执行安全限制,工程师审批后果重大的操作。各组件承担不同职责:统计模型发现复杂信号组合,规则落实硬性约束,人类提供现场背景并作出最终决定。混合系统并不会自动变得可靠;还必须测试组件之间的数据传递、规则优先级,以及模型不可用时的行为。

10. 模型训练究竟做了什么

假设模型根据两个特征——温度和振动——预测简化的过热风险。逻辑回归先计算特征的加权和,再将其转换为 0 到 1 之间的数值。只有在任务定义合理且模型经过校准时,这个数值才适合解释为概率;它本身不是保证。

训练时,算法将预测结果与已知标签比较,并调整系数以降低损失函数。需要区分四个概念:

如果工程师手动指定系数和阈值,这些参数就不是从数据中学习得到的。如果算法根据带标签的样本估计系数,即使最终公式简单且容易理解,也属于机器学习。

11. 如何评估模型,避免自我欺骗

不能只在训练样本上评估模型。训练集用于拟合参数;验证集用于选择配置;测试集用于最终独立评估。对于时间序列数据,通常应按时间先后划分。对于多台设备或多个患者的数据,还要检查相关观测是否泄漏到了不同数据集。

评价指标必须反映错误的代价。在故障检测中,漏掉危险事件与产生一次多余警报并不等价。如果故障很少,准确率可能产生误导:始终预测“没有故障”的模型也许准确率很高,却没有实际价值。因此还应关注精确率、召回率、混淆矩阵、PR 曲线以及决策成本。

还要检查环境变化后的稳定性,例如更换设备、传感器、季节或运行方式。数据分布发生变化通常称为漂移。旧数据集上的优秀结果,并不能保证变化后仍然有效。

12. 实用的方案选择框架

  1. 能否准确写出规则,并列出例外情况?
  2. 是否必须审计决策的每一个步骤?
  3. 是否有足够且具有代表性的可靠标注样本?
  4. 能否衡量误报与漏报的后果?
  5. 系统运行环境是否会变化?
  6. 是否需要将硬性约束与概率估计结合?

如果规则简短、稳定且涉及安全,不应仅仅为了使用机器学习就用模型替代它。如果任务涉及复杂图像、语音或大量相互作用的信号,手写规则可能过于脆弱。如果既需要灵活性又需要硬性约束,可以考虑混合架构。

13. 常见设计错误

14. 实践任务

判断四种系统的行为来源:阈值为 24°C 的恒温器;使用已标注邮件训练的垃圾邮件过滤器;在道路图中搜索路线的导航系统;由机器学习评估风险、规则阻止违规操作的系统。

参考答案:规则;机器学习;搜索/优化(不一定是机器学习);混合系统。