学习目标

学习本课后,你将能够:

核心思想。 在监督学习中,模型不仅看到输入数据,也看到每个训练样本对应的已知答案。训练的目标是得到能够预测新样本的模型,而不是简单复现训练表格。

1. 什么是“监督学习”

监督学习(Supervised Learning)是一种机器学习范式:每个训练样本都包含输入特征和已知的目标答案。这些样本称为带标签样本(labeled examples),答案称为标签(labels)或目标(targets)。

设想一份建筑运行日志。每天记录室外温度、建筑面积、运行计划、人员数量以及实际能耗。模型接收这些特征,并学习预测能耗。历史答案是模型学习规律的样本,并不是未来每一天都能获得的提示。

监督学习:从带标签样本到预测输入特征和已知答案进入学习算法。算法拟合模型,模型接收新特征并输出预测。带标签样本X:特征y:已知答案样本对 (X, y)学习算法比较预测值与已知正确答案已训练模型新特征 X*预测 ŷ简化示意:模型选择与评估应使用独立的数据划分。
监督学习的基本流程:已知答案帮助衡量训练误差;训练完成后,模型只接收新样本的特征。

这里的“教师”不一定是逐步讲解过程的人。它指的是可以与模型预测进行比较的已知答案。答案可能来自测量、专家标注、文档或事件记录。

2. 特征、目标与标签

对一个样本,用 X 表示输入特征向量,用 y 表示已知答案。监督学习数据集包含许多 (X, y) 样本对。特征描述对象,目标描述我们希望预测的内容。

任务输入特征 X目标 y答案类型
能耗预测温度、面积、运行计划、人员数量每日能耗数值
异常运行识别振动、部件温度、压力故障 / 正常类别
服务请求分类请求文本、设备类别请求类型类别

标签质量非常重要。如果答案错误、不一致或反映标注者的主观判断,模型可能学会重复这些错误。对于罕见事件尤其要检查标签的来源,以及样本是否覆盖了模型实际会遇到的情况。

3. 两种核心任务:回归与分类

回归(Regression)

回归用于预测数值,例如能耗、温度、持续时间、价格或负荷。输出位于数值尺度上,误差通常可以表示为预测值与实际值之间的差。

分类(Classification)

分类用于将样本分配到预先定义的类别,例如“正常”或“故障”、“A 类”或“B 类”、“垃圾邮件”或“非垃圾邮件”。模型可以估计各类别的概率,再通过决策规则得到最终标签。

不要混淆。 回归与分类是任务类型,而不是某个具体算法的名称。例如,决策树既可以用于回归,也可以用于分类,取决于目标是什么。

4. 模型如何训练

  1. 定义任务。 明确预测对象、决策时点和目标变量。
  2. 准备数据。 检查特征、标签、缺失值、单位以及字段可用时间。
  3. 选择模型家族。 例如线性模型、决策树、集成模型或神经网络。
  4. 拟合模型。 学习算法调整参数,以减少训练样本上的误差。
  5. 评估。 在未用于拟合参数的数据上衡量表现。
  6. 预测。 将新样本的特征输入已训练模型。

训练时,模型产生预测 ŷ。损失函数(loss function)衡量预测与已知答案 y 的差异。优化算法利用损失值更新模型参数。具体更新方式取决于模型家族和学习方法。

X → 模型 f(X; θ) → 预测 ŷ → 与 y 比较 → 更新 θ

θ 表示模型参数。参数在训练过程中学习得到;超参数则在训练之前或训练流程外围设定。我们将在后续课程中进一步学习。

5. 为什么要划分数据

如果在模型拟合参数时使用过的样本上评估模型,结果可能过于乐观。常见做法是划分为三部分:

划分方式必须符合任务。独立且分布相似的观测可以随机划分。时间预测不能用未来训练、用过去测试。如果同一实体有多条记录,应采用分组划分,避免近似重复记录同时出现在训练集和测试集中。

6. 案例:预测建筑能耗

假设我们需要预测明天的能耗。特征可以包括天气预报、日历日期、计划运行模式,以及预测期开始前已知的人员负荷信息。目标是第二天实际消耗的能源。

先建立一个简单的 baseline(基线),例如使用上一个可比日的能耗或训练集平均值。然后训练模型,并在同一个测试时间段与基线比较。如果复杂模型没有带来改进,就暂时没有理由承担额外复杂度。

无代码练习

选择每日能耗预测或设备故障分类。写出观测单位、三个特征、目标变量以及必须做出预测的时间点。逐一判断每个特征在该时点是否可用。

7. 局限与常见错误

当存在足够可靠的带标签样本,且目标定义清楚时,监督学习非常有用。但数据量大并不自动保证质量:数据来源、代表性、独立评估和真实应用场景都很重要。