一元线性回归:用房屋面积预测价格

课堂交互演示 · 模型 ŷ = wx + b · 损失函数:均方误差 MSE · 支持 Batch GD / SGD / Mini-batch

① 原始数据与当前回归直线

w0
b0
MSE-
∂L/∂w-
∂L/∂b-
更新次数0

② 梯度下降控制台

课堂提示:先用 η = 0.00001 观察稳定下降,再尝试增大学习率。学习率过大时,参数可能跨过最低点并最终发散。

③ 从模型到损失函数

第 i 套房屋面积为 xᵢ,真实价格为 yᵢ,模型预测:

ŷᵢ = wxᵢ + b

预测误差(残差):

eᵢ = ŷᵢ − yᵢ = wxᵢ + b − yᵢ

用所有样本平方误差的平均值定义损失:

L(w,b) = MSE = (1/n) Σᵢ₌₁ⁿ (wxᵢ + b − yᵢ)²

目标就是寻找 w、b,使 L(w,b) 尽可能小。

④ 梯度是怎样算出来的?

∂L/∂w = (2/n) Σᵢ₌₁ⁿ (wxᵢ+b−yᵢ)xᵢ
∂L/∂b = (2/n) Σᵢ₌₁ⁿ (wxᵢ+b−yᵢ)

沿着梯度的反方向移动:

w ← w − η · ∂L/∂w
b ← b − η · ∂L/∂b

其中 η(eta)是学习率:太小收敛慢,太大可能振荡甚至发散。

⑤ 10 个训练样本

⑥ 损失函数的收敛过程

纵轴采用 log₁₀(MSE),这样既能看清训练初期的大幅下降,也能观察接近最优解时的细微变化。

⑦ 三种梯度下降有什么区别?

Batch GD

每次更新都使用全部 10 个样本。

特点:梯度稳定、损失曲线平滑;数据量很大时单次计算较慢。

SGD

每次随机抽取 1 个样本计算梯度。

特点:更新频繁,但方向带有随机噪声,损失通常上下抖动。

Mini-batch

每次随机取一小批样本,例如 4 个。

特点:兼顾计算效率与梯度稳定性,是深度学习中常见做法。