学习目标
完成本课后,你将能够:
- 解释模型如何将输入映射为输出。
- 区分输入特征、模型参数和预测结果。
- 通过简单线性模型理解参数。
- 区分模型家族与具体训练后的模型。
- 区分模型、训练算法和 AI 系统。
- 解释为什么参数本身不能证明因果关系。
1. 模型把输入映射为输出
机器学习模型可以看作一条数学规则:接收对象的描述,并计算结果。输入是特征,例如测量值、属性、文本或图像数据。输出可以是数值、类别、概率、序列,或符合任务要求的其他表示。
我们用 x 表示输入,用 θ(theta) 表示模型参数,用 ŷ(y-hat) 表示预测。如果已知真实答案,则用 y 表示。预测不等于真实答案:模型可能出错。
2. 什么是模型参数
参数是决定模型具体行为的数值。在简单线性模型中,参数包括系数 w 和截距 b。在神经网络中,参数包括大量连接的权重和偏置。大型模型可能包含数百万甚至数十亿个参数。
即使模型家族相同,不同参数集合也会定义不同的函数。因此,仅仅说“使用线性模型”或“使用神经网络”不足以复现预测;还需要知道具体参数值。
3. 同一输入,不同模型
来看一个教学示例:模型根据设备运行小时数估算能耗。令 x 表示运行小时数,ŷ 表示示意性能耗单位。以下数值均为假设值,并非实测数据或工程标准。
模型 A 使用 w = 2.4、b = 18,运行五小时得到预测值 30。模型 B 使用 w = 1.8、b = 22,相同输入得到 31。输入没有变化,但参数不同,因此预测也不同。
改变 w 会改变直线斜率;改变 b 会使直线上移或下移。在复杂模型中,参数可能改变决策边界或特征之间的交互,但基本思想相同。
4. 输入和参数并不是一回事
输入 x 通常会随着新对象而变化。参数 θ 定义一个具体模型,在普通预测过程中通常保持固定。模型接收新对象时,不需要重新从该对象学习,而是把已有参数应用于新输入。
这并不意味着参数永远不会变化。训练过程中会确定参数;微调或重新训练时也可能更新参数。但在普通预测时,我们把某一组参数视为固定值。1.4.2 将详细介绍参数如何确定,以及损失函数的作用。
5. 模型、训练算法与 AI 系统
这些概念相互关联,但不能互换。模型是计算预测的规则。训练算法是利用数据和评价准则选择参数的过程。AI 系统范围更广:它可能负责准备数据、调用模型、应用阈值规则、检索文档、展示结果并记录事件。
例如,模型可以估计设备故障概率。但当概率超过某个阈值时是否通知工程师,可能由单独的规则决定。阈值、界面和运行流程不一定属于模型本身。
6. 小练习:改变参数
下面的 predict 函数定义模型的数学形式。model_a 和 model_b 保存两组参数。我们向两个模型输入相同的运行小时数,却得到不同的预测。代码并不训练模型:参数由我们手动设置,以便单独观察参数的含义。
运行代码,然后只修改 rate 或 base,观察结果如何变化。不要认为预测值越高就一定越好;这取决于数据、任务和评价准则。
def predict(hours, rate, base):
return rate * hours + base
model_a = {"rate": 2.4, "base": 18.0}
model_b = {"rate": 1.8, "base": 22.0}
hours = 5
print(predict(hours, model_a["rate"], model_a["base"]))
print(predict(hours, model_b["rate"], model_b["base"]))预期输出:30.0 和 31.0。在真实项目中,参数通常通过训练获得,并使用数据进行检查,而不是手动选择。
7. 参数本身不能说明什么
参数会影响预测,但不能自动解释为某种现象的原因。在简单线性模型中,在一定假设下,系数有助于描述关联的方向和尺度。然而,特征相关性、测量单位、数据处理方式和模型结构都会影响解释。
在神经网络中,单个权重通常没有简单、可直接理解的人类语义。模型行为由大量参数共同决定。因此,没有专门分析时,不能断言“某一个权重就代表某一个概念”。
8. 总结与后续课程
模型把输入特征映射为预测。参数决定具体模型实例。即使数学形式相同,不同参数也可能产生不同输出。训练算法负责选择参数,AI 系统则把模型与数据、规则和软件组件结合起来。
1.4.2 将介绍参数拟合和损失函数;1.4.3 讨论过拟合与欠拟合;1.4.4 讨论泛化能力;1.4.5 介绍超参数与模型调优。模型质量和评价指标将在主题 1.5 中学习。
独立练习
设计一个根据距离估算行程时间的简单模型。指出输入特征、预测结果、两个参数,以及每个参数增大时会发生什么变化。再列出模型之外的两个 AI 系统组件。不要使用真实测量数据,也不要把参数解释为因果效应。
示例中的所有数值都是假设值。它只用于说明参数的作用,并不代表真实能耗。实际模型需要数据、质量评估、适用性检查和错误监控。
参考资料与延伸阅读
课程词汇表
把输入数据转换为输出的规则。
定义具体模型实例的数值。
提供给模型的对象属性。
模型针对给定输入计算的结果。
缩放输入贡献的参数。
线性关系中的基础偏移量。
共享数学形式或架构的一类模型。
具有特定参数值的具体模型。
根据数据选择参数的过程。
模型与数据、规则和软件组件的整体。
自我检查
问题 1
机器学习模型做什么?
问题 2
在公式 ŷ = f(x; θ) 中,θ 表示什么?
问题 3
在预测时,输入 x 与参数 θ 通常有什么区别?
问题 4
若 x = 4、w = 2、b = 3,公式 ŷ = wx + b 的结果是什么?
问题 5
两个模型具有相同的线性形式,但 w 和 b 不同。哪项正确?
问题 6
训练算法做什么?
问题 7
模型周围的 AI 系统可能包含哪些组件?请选择所有适用项。
问题 8
单个参数能否自动证明某个特征具有因果影响?