第X讲:从斜率下降到梯度下降 —— 引入截距参数B
约 1257 字大约 4 分钟
第X讲:从斜率下降到梯度下降 —— 引入截距参数B
一、 单参数模型的局限性与B的引入
1.1 原模型的局限
- 预测函数:
Y = W * X - 问题:该函数表示的直线必须经过原点(
(0,0)点),自由度受限,只能旋转,不能平移。 - 后果:面对数据点与原点关系不明确(如截距非零、负相关等情况)的数据集时,该模型无法有效拟合。
1.2 完整的一元一次线性模型
- 预测函数:
Y = W * X + B- W (斜率):控制直线的旋转。
- B (截距):控制直线的平移。
- 结论:引入参数
B后,直线获得了在平面内自由移动和旋转的能力,模型表达能力得到质的提升。
二、 引入B后的代价函数与曲面
2.1 新的方差代价函数
- 预测值:
Y_pred = W * X + B - 方差代价函数 (E):
E(W, B) = (1/N) * Σ (Y_true - (W * X + B))^2- 当
B = 0时,此函数退化为之前讨论的二维代价函数。
- 当
2.2 代价函数的可视化:从曲线到曲面
- 自变量:代价函数
E现在同时依赖于两个参数W和B。 - 图像:
E关于W和B的图像是一个三维空间中的曲面。 - 曲面形状:对于线性回归问题,该曲面是一个开口向上的“碗状”曲面(可能很扁)。
- 最低点:该点对应的
(W, B)取值能使预测误差E最小,即最优模型参数。
- 最低点:该点对应的
三、 从斜率下降到梯度下降
3.1 寻找曲面最低点的思路
核心思想与单参数情况一致:沿误差减小的方向调整参数。
- 固定B,看W:在曲面上某一点
(W, B),固定B值,沿W方向“切割”曲面,得到E关于W的抛物线。可根据此抛物线在W方向上的斜率(导数) 调整W。 - 固定W,看B:同理,固定
W值,沿B方向“切割”曲面,得到E关于B的抛物线。可根据此抛物线在B方向上的斜率(导数) 调整B。 - 合成调整:在每个点同时计算
W方向和B方向的调整量,合成一个移动向量,从而移动到曲面上更低的位置。
3.2 梯度的概念
- 偏导数:对于多变量函数(如
E(W, B)),对其中一个变量求导,而将其他变量视为常数,所得导数称为偏导数。∂E/∂W:代价函数E关于W的偏导数。∂E/∂B:代价函数E关于B的偏导数。
- 梯度 (Gradient):将函数在某一点所有方向上的偏导数组合成一个向量,记作
∇E。- 对于
E(W, B):∇E = [∂E/∂W, ∂E/∂B] - 几何意义:梯度向量的方向指向该点处函数值增长最快的方向。反之,其反方向 (
-∇E) 指向函数值下降最快的方向。
- 对于
3.3 梯度下降算法
- 参数更新公式:
W_new = W_old - α * (∂E/∂W)B_new = B_old - α * (∂E/∂B)- α (学习率 Learning Rate):控制每次参数更新的步长。需谨慎选择:
- 过大:可能导致震荡甚至发散,无法收敛。
- 过小:收敛速度过慢。
- 算法命名:由于在多维参数空间中,我们沿着梯度反方向下降以最小化代价函数,因此该算法被称为梯度下降法。
- 在二维(单参数)情况下,梯度退化为斜率,因此“斜率下降”可视作梯度下降的特例。
四、 核心概念回顾:单个神经元的机器学习流程
- 模型 (Model):采用一元一次线性函数
Y = WX + B模拟神经元输入输出关系,作为预测函数。 - 前向传播 (Forward Propagation):将输入数据
X通过预测函数计算得到预测值Y_pred的过程。 - 代价函数 (Cost Function):用于评估预测值与真实值之间的误差。本课采用方差代价函数。
- 反向传播 (Backward Propagation):利用代价函数计算出的梯度,从后往前修正模型参数 (
W,B) 的过程。 - 训练/学习 (Training/Learning):模型通过反复迭代进行前向传播和反向传播,使参数逐渐逼近代价函数最低点,从而获得最佳预测能力的过程。
总结
本节课的核心是从单参数 (W) 模型过渡到双参数 (W, B) 模型。通过引入截距 B,线性模型的表达能力得到完善。代价函数随之从二维曲线扩展为三维曲面,优化目标从寻找曲线最低点变为寻找曲面最低点。为此,我们将“斜率下降”的思想推广到多维空间,引入了偏导数和梯度的概念,并系统阐述了梯度下降算法作为优化多参数模型的核心方法。这为后续构建和理解更复杂的多层神经网络奠定了重要基础。
