Skip to content

在监督学习中,我们的目标是构建一个模型,该模型接受输入 x 并输出预测 y。为了简单起见,我们假设输入 x 和输出 y 都是预先确定且固定大小的向量,并且每个向量的元素总是以相同的方式排序;在上述普锐斯汽车的例子中,输入 x 将始终包含汽车的车龄,然后是里程数,按此顺序。这被称为结构化或表格数据。

为了做出预测,我们需要一个模型 f[],它接受输入 x 并返回 y ,所以:

(2.1)y=f[x].

当我们从输入 x 计算预测 y 时,我们称之为推理。

该模型只是一个具有固定形式的数学方程。它代表了输入和输出之间不同关系的一个族。模型还包含参数 ϕ 。参数的选择决定了输入与输出之间的特定关系,所以我们确实应该写成:

(2.2)y=f[x,ϕ].

当我们谈论学习或训练一个模型时,我们的意思是我们试图找到参数 ϕ ,使其能够从输入中做出合理的输出预测。我们使用一个包含 I 对输入和输出示例 {xiyi} 的训练数据集来学习这些参数。我们的目标是选择参数,使每个训练输入尽可能接近地映射到其相关的输出。我们用损失 L 来量化这种映射的不匹配程度。这是一个标量值,它总结了在给定参数 ϕ 的情况下,模型从相应输入预测训练输出的效果有多差。

我们可以将损失视为这些参数的函数 L[ϕ]。当我们训练模型时,我们寻找最小化这个损失函数[1]的参数 ϕ^

(2.3)ϕ^=argminϕ[L[ϕ]].

如果最小化后的损失很小,我们就找到了能够准确预测训练输入 xi 对应的训练输出 yi 的模型参数。

训练完模型后,我们现在必须评估其性能;我们在独立的测试数据上运行模型,以查看它对在训练期间未观察到的示例的泛化能力如何。如果性能足够好,那么我们就准备好部署模型了。

[1] 更准确地说,损失函数还依赖于训练数据 {xi,yi},所以我们应该写成 L[{xi,yi},ϕ],但这样写相当麻烦。