,

2. Supervised Learning(监督学习)

2.1 Supervised Learning Overview(概述)

一、监督学习的基本目标
在监督学习(Supervised Learning)中,我们的目标是:构建一个模型$f$,它接收输入向量 $x$,输出预测结果向量 $y$。

为了简化起见,通常我们假设:

  • 输入 $x$ 和输出 $y$ 都是固定大小的向量。
  • 向量中的元素顺序固定,例如:
    对于汽车示例,x 可能是[车龄, 行驶里程],按顺序排列。

这类数据被称为 结构化数据(structured/tabular data)。
模型形式:$y = f(x)$,这表示我们希望通过函数 $f$ 来预测输出。

二、模型、参数与推理(Inference)
在实际中,模型不仅仅是 f(x),它还有参数:
y = f(x, ϕ)
其中 $ϕ$ 是模型的参数,用于控制输入输出之间的映射关系。

推理(Inference):使用训练好的模型进行预测的过程。

三、模型训练与损失函数
学习的目标:
 找到使模型预测输出合理的参数 $ϕ$。

我们利用一个训练集,包含 I 个样本对:
${(x₁, y₁), (x₂, y₂), …, (xᵢ, yᵢ)}$

目标:
 让每个输入 $xᵢ$ 都尽可能映射到正确的 $yᵢ$。

损失函数 Loss L
为了评估模型的好坏,我们定义了一个损失函数 $L(ϕ)$,用来衡量模型预测的输出与真实标签的差异。
 损失函数越小,说明模型性能越好。

训练的本质是:寻找使损失最小的参数:

2.2 Linear regression example

让我们通过一个简单的例子来具体说明上述概念。
我们考虑一个模型:

y = f(x, ϕ)

它从一个输入 x 预测一个输出 y。我们将依次介绍:

  • 模型的构建;
  • 损失函数的设计;
  • 模型的训练过程。

2.2.1 一维线性回归模型(1D Linear Regression Model)

一个 1D 线性回归模型 用一条直线描述输入 x 与输出 y 之间的关系。

其数学表达为:

y = f(x, ϕ)= ϕ₀ + ϕ₁·x
该模型包含两个参数: ϕ = [ϕ₀, ϕ₁]

  • ϕ₀:直线在 y 轴上的截距(y-intercept)
  • ϕ₁:直线的斜率(slope)

不同的参数组合会导致不同的输入-输出关系(如图 2.1 所示):

  • 斜率变化 → 直线倾斜程度变化
  • 截距变化 → 直线上下平移

因此,公式 y = ϕ₀ + ϕ₁·x 实际上定义了一组可能的输入-输出关系(即所有可能的直线),而具体参数值则确定了这组关系中的某一条直线。

2.2.2 损失函数(Loss)

模型拟合优劣的衡量

  • 图 2.2b~d 显示了由不同参数 ϕ 定义的三条拟合线。
  • 图 2.2d 中的绿色线最接近数据点,因此拟合效果最好。
  • 我们需要一种系统的方法来比较不同参数 ϕ 的好坏。

为此,我们使用一个数值来量化模型与真实数据之间的不匹配程度,这个值就叫: 损失(Loss)

  • 损失越小,模型拟合效果越好。

不匹配的衡量方式

不匹配的量度来自以下差异:模型预测值 $f(xᵢ, ϕ)$真实标签 $yᵢ$ 的差

这些偏差在图中用橙色虚线表示。我们将所有训练样本的偏差平方求和,定义总损失为:

$L(ϕ) = ∑ (f(xᵢ, ϕ) − yᵢ)²= ∑_{i=1}^I (ϕ₀ + ϕ₁·xᵢ − yᵢ)²$

这个表达式被称为: 最小二乘损失(Least-Squares Loss)

平方操作的作用是消除误差的正负,使得所有误差都对最终结果产生贡献。
我们的目标是找到使损失最小的参数组合 $ϕ̂$,即:

$ϕ̂ = argmin₍ϕ₎ L(ϕ)
= argmin₍ϕ₎ ∑(f(xᵢ, ϕ) − yᵢ)²
= argmin₍ϕ₎ ∑(ϕ₀ + ϕ₁·xᵢ − yᵢ)²

由于该模型只有两个参数:

  • 截距 ϕ₀ 和 斜率 ϕ₁

我们可以计算在不同参数组合下的损失值,并将损失函数可视化为一个二维曲面图

2.2.3 Training

最小化损失函数的过程称为 Model fitting(拟合) 或 training(训练) 或 learning(学习)

  • 方法:梯度下降,测量当前位置的梯度,并朝着最陡峭的下坡前进,直到梯度平坦,无法下坡。


从数据中划分一部分数据作为测试数据,这一部分数据一般不参与到训练的过程中,输入数据经过模型得到输出的数据,再将数据数据与实际的数据作对比,得到最终的正确率。

Underfitting(欠拟合):模型不能够准确描述输入与输出直接的真是关系。
Overfitting(欠拟合):数据中的存在一些非典型数据,最终导致了模型的异常检测。
{.is-success}