学习目标

完成本课后,你将能够:

本课要解决的问题我们常说“模型作出了决定”或“模型知道答案”。但模型这个词具体指什么?要解释 AI 的行为,必须区分数学规则、数值参数、训练过程,以及围绕模型运行的软件系统。
直觉理解想象一台根据若干读数估算负载的设备。每个对象的输入读数会变化,但计算规则及其系数在模型重新训练或替换之前保持不变。区分输入和参数,是本课的起点。

1. 模型把输入映射为输出

机器学习模型可以看作一条数学规则:接收对象的描述,并计算结果。输入是特征,例如测量值、属性、文本或图像数据。输出可以是数值、类别、概率、序列,或符合任务要求的其他表示。

我们用 x 表示输入,用 θ(theta) 表示模型参数,用 ŷ(y-hat) 表示预测。如果已知真实答案,则用 y 表示。预测不等于真实答案:模型可能出错。

模型作为带参数的映射ŷ = f(x; θ)
机器学习模型根据输入数据生成预测或其他目标表示的数学或计算映射。
输入特征对象或事件的可测量属性,模型使用它来计算输出。
预测(ŷ)模型针对给定输入计算出的结果;它可能与真实值 y 不同。
输入特征 — 模型 — 预测结果对象及其测量值进入模型,模型应用规则和参数后生成预测。输入特征对象及其测量值带参数的模型f(x; θ)规则 + 参数预测结果该对象的计算结果
输入特征 → 带参数的规则 → 针对具体对象的预测。

2. 什么是模型参数

参数是决定模型具体行为的数值。在简单线性模型中,参数包括系数 w 和截距 b。在神经网络中,参数包括大量连接的权重和偏置。大型模型可能包含数百万甚至数十亿个参数。

即使模型家族相同,不同参数集合也会定义不同的函数。因此,仅仅说“使用线性模型”或“使用神经网络”不足以复现预测;还需要知道具体参数值。

简单线性模型ŷ = w · x + b
模型参数模型定义中的数值,它会影响模型生成的预测。
权重(w)简单线性模型中控制输入变量贡献大小的参数。
截距(b)在线性模型输入为零时决定基础预测值的参数。

3. 同一输入,不同模型

来看一个教学示例:模型根据设备运行小时数估算能耗。令 x 表示运行小时数,ŷ 表示示意性能耗单位。以下数值均为假设值,并非实测数据或工程标准。

模型 A 使用 w = 2.4、b = 18,运行五小时得到预测值 30。模型 B 使用 w = 1.8、b = 22,相同输入得到 31。输入没有变化,但参数不同,因此预测也不同。

改变 w 会改变直线斜率;改变 b 会使直线上移或下移。在复杂模型中,参数可能改变决策边界或特征之间的交互,但基本思想相同。

模型家族具有相同数学形式或架构、但参数值可以不同的一类模型。
模型实例具有特定结构和确定参数值的具体模型。
相同形式,不同参数模型 A 和模型 B 使用不同参数,因此产生不同的预测线。模型 A模型 B斜率 2.4 · 截距 18斜率 1.8 · 截距 22x → ŷx → ŷ
数学形式相同,参数不同,预测结果也不同。

4. 输入和参数并不是一回事

输入 x 通常会随着新对象而变化。参数 θ 定义一个具体模型,在普通预测过程中通常保持固定。模型接收新对象时,不需要重新从该对象学习,而是把已有参数应用于新输入。

这并不意味着参数永远不会变化。训练过程中会确定参数;微调或重新训练时也可能更新参数。但在普通预测时,我们把某一组参数视为固定值。1.4.2 将详细介绍参数如何确定,以及损失函数的作用。

训练后的模型已经通过训练过程确定参数、能够生成预测的模型。

5. 模型、训练算法与 AI 系统

这些概念相互关联,但不能互换。模型是计算预测的规则。训练算法是利用数据和评价准则选择参数的过程。AI 系统范围更广:它可能负责准备数据、调用模型、应用阈值规则、检索文档、展示结果并记录事件。

例如,模型可以估计设备故障概率。但当概率超过某个阈值时是否通知工程师,可能由单独的规则决定。阈值、界面和运行流程不一定属于模型本身。

训练算法利用数据和指定准则寻找或更新模型参数的过程。
AI 系统模型及其周边组件的整体,例如数据、输入处理、决策规则、界面、集成和监控。
模型是 AI 系统的一部分系统流程包括输入处理、模型、决策规则、界面和监控。输入处理清洗与特征模型f(x; θ)决策规则阈值 / 路由界面与监控展示与日志模型是更大系统中的一个组件
输入处理 → 模型 → 决策规则 → 界面与监控。

6. 小练习:改变参数

下面的 predict 函数定义模型的数学形式。model_a 和 model_b 保存两组参数。我们向两个模型输入相同的运行小时数,却得到不同的预测。代码并不训练模型:参数由我们手动设置,以便单独观察参数的含义。

运行代码,然后只修改 rate 或 base,观察结果如何变化。不要认为预测值越高就一定越好;这取决于数据、任务和评价准则。

Python 3.10+ · 标准库
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. Hastie, Tibshirani, Friedman — The Elements of Statistical Learning
  2. James, Witten, Hastie, Tibshirani — An Introduction to Statistical Learning
  3. scikit-learn — Glossary of Common Terms
  4. scikit-learn — Linear Models
  5. Kevin P. Murphy — Probabilistic Machine Learning: An Introduction

课程词汇表

01模型Model

把输入数据转换为输出的规则。

02参数Parameter

定义具体模型实例的数值。

03特征Feature

提供给模型的对象属性。

04预测Prediction

模型针对给定输入计算的结果。

05权重Weight

缩放输入贡献的参数。

06截距Intercept

线性关系中的基础偏移量。

07模型家族Model family

共享数学形式或架构的一类模型。

08模型实例Model instance

具有特定参数值的具体模型。

09训练算法Training algorithm

根据数据选择参数的过程。

10AI 系统AI system

模型与数据、规则和软件组件的整体。

自我检查

问题 1

机器学习模型做什么?

问题 2

在公式 ŷ = f(x; θ) 中,θ 表示什么?

问题 3

在预测时,输入 x 与参数 θ 通常有什么区别?

问题 4

若 x = 4、w = 2、b = 3,公式 ŷ = wx + b 的结果是什么?

问题 5

两个模型具有相同的线性形式,但 w 和 b 不同。哪项正确?

问题 6

训练算法做什么?

问题 7

模型周围的 AI 系统可能包含哪些组件?请选择所有适用项。

问题 8

单个参数能否自动证明某个特征具有因果影响?