【白话机器学习系列】白话梯度下降

白话梯度下降

梯度下降是机器学习中最常见的优化算法之一。理解它的基本实现是理解所有基于它构建的高级优化算法的基础。

在这里插入图片描述

优化算法

在这里插入图片描述

在机器学习中,优化是寻找理想参数或权重以最大化或最小化成本或损失函数的过程。全局最大值是函数定义域上的最大值,而全局最小值是函数的最小值。虽然只有一个全局最大值和/或最小值,但可以有许多局部最大值和最小值。成本函数的全局最小值或最大值指示模型参数生成接近实际目标的预测。训练模型时,局部最大值和最小值可能会导致问题,因此应始终留意它们的存在。上图显示了每种最大值/最小值的示例。

优化算法有几种不同类别的算法:包围算法、局部下降算法、一阶算法和二阶算法。本文的重点是使用一阶导数进行优化的一阶算法。在此类别中,梯度下降算法是最受欢迎的。

一维梯度下降

梯度下降是一种一阶迭代优化算法,用于最小化成本函数。通过使用偏导数、方向和学习率,梯度下降减少了预测值和实际值之间的误差或差异。

梯度下降背后的思想是每个权重的导数将揭示其方向和对成本函数的影响。下图中,成本函数为 f ( w ) = w 2 f(w) = w^2 f(w)=w2,它是一条抛物线。最小值位于 (0,0),当前权重为 − 5.6 -5.6 5.6。当前损失为 31.36 31.36 31.36,橙色线代表导数,或权重的当前变化率,即 − 11.2 -11.2 11.2。这表明权重需要“下坡”移动——或者变得更正——才能达到损失为 0 0 0 。这就是梯度下降的用武之地。

在这里插入图片描述

通过使用称为学习率的值缩放梯度并从其权重的当前值中减去缩放后的梯度,输出将最小化。可以在下图中看到。 在十次迭代( w 0 → w 9 w_0 \to w_9 w0w9)中,使用 0.1 的学习率来最小化成本函数。

在这里插入图片描述

在下面的算法步骤中,权重由 w w w 表示, j j j 表示其当前值, j + 1 j+1 j+1 表示其新值。衡量误差的成本函数用 f f f 表示,偏导数是成本函数相对于参数的梯度。学习率用 α \alpha α 表示。

  1. 选择学习率和迭代次数

  2. 选择参数的随机值

  3. 用下面的公式更新参数

w j + 1 = w j − α ∂ ∂ w j f ( w j ) w_{j+1} = w_j-\alpha\frac{\partial}{\partial_{w_j}}f(w_j) wj+1=wjαwjf(wj)

  1. 重复第三步,直到达到最大迭代次数

当对函数求偏导数或梯度时,一次只能评估一个参数,其他参数被视为常数。对于上面的例子, f ( w ) = w 2 f(w) = w^2 f(w)=w2,只有一个参数,因此导数为 f ′ ( w ) = 2 w f'(w) = 2w f(w)=2w。 更新参数的公式如下:
w j + 1 = w j − α ( 2 w j ) w_{j+1} = w_j-\alpha(2w_j) wj+1=wjα(2wj)
假设学习率为 0.1 0.1 0.1,初始权重为 − 5.6 -5.6 5.6,前十次迭代如下:

在这里插入图片描述

上表展示了公式的每个组成部分如何帮助最大限度地减少损失。通过负缩放梯度,新权重趋近于0,斜率变得不那么陡。随着斜率逐渐变小,每次迭代都会产生更小的更新。

梯度下降的这种基本实现可以应用于几乎任何损失函数,包括具有大量权重的损失函数。

均方误差梯度下降

什么是均方误差

机器学习中流行的损失函数是均方误差 (MSE)。
M S E = 1 n ∑ i = 1 n ( Y ^ i − Y i ) 2 MSE = \frac{1}{n}\sum_{i=1}^n(\hat Y_i-Y_i)^2 MSE=n1i=1n(Y^iYi)2

该函数用于计算模型的预测 ( Y ^ \hat Y Y^) 和预期输出 ( Y Y Y) 之间的差异。然后对差值进行平方以确保输出始终为正。这意味着计算差值时可以先考虑 Y ^ \hat Y Y^ Y Y Y。这在一组大小为 n n n 的点上重复进行。通过将所有这些点的平方差相加并除以 n n n,得到均方差(误差)。这是同时评估模型在所有点上的表现的简单方法。下面是一个简单的例子:

在这里插入图片描述

在此公式中, Y ^ \hat Y Y^ 代表模型的预测。在回归中,模型的方程可能包含一个或多个权重,具体取决于训练数据的要求。下表反映了这些情况。

权重数量 Y ^ \hat Y Y^MSE
1 w X wX wX 1 n ∑ i = 1 n ( w X i − Y i ) 2 \frac{1}{n}\sum_{i=1}^n(wX_i-Y_i)^2 n1i=1n(wXiYi)2
2 w 1 X + w 0 w_1X+w_0 w1X+w0 1 n ∑ i = 1 n ( w 1 X i + w 0 − Y i ) 2 \frac{1}{n}\sum_{i=1}^n(w_1X_i+w_0-Y_i)^2 n1i=1n(w1Xi+w0Yi)2
3 w 2 X 2 + w 1 X 1 + w 0 w_2X_2+w_1X_1+w_0 w2X2+w1X1+w0 1 n ∑ i = 1 n ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 \frac{1}{n}\sum_{i=1}^n(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2 n1i=1n(w2X2i+w1X1i+w0Yi)2
k k k w k X k + ⋯ + w 2 X 2 + w 1 X 1 + w 0 w_kX_k+\dots+w_2X_2+w_1X_1+w_0 wkXk++w2X2+w1X1+w0 1 n ∑ i = 1 n ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 \frac{1}{n}\sum_{i=1}^n(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2 n1i=1n(wkXki++w2X2i+w1X1i+w0Yi)2

现在,要使用这些方程中的任何一个执行梯度下降,必须计算它们的梯度。梯度包含函数的偏导数:
∇ MSE = [ ∂ MSE ∂ w 0 … ∂ MSE ∂ w k ] \nabla \text{MSE} = \begin{bmatrix} \frac{\partial \text{MSE}}{\partial w_0} \\ \dots\\ \frac{\partial \text{MSE}}{\partial w_k} \end{bmatrix} MSE= w0MSEwkMSE
必须计算每个权重的偏导数。偏导数的计算方式与普通导数相同,但每个未考虑的变量都必须视为常数。

单权重

∇ 1 n ∑ i = 1 n ( w X i − Y i ) 2 = [ ∂ ∂ w [ 1 n ∑ i = 1 n ( w X i − Y i ) 2 ] ] = 2 n ∑ i = 1 n X i ( w X i − Y i ) \nabla \frac{1}{n}\sum_{i=1}^n(wX_i-Y_i)^2 = \Bigg[\frac{\partial}{\partial w}\Big[\frac{1}{n}\sum_{i=1}^n(wX_i-Y_i)^2\Big]\Bigg] = \frac{2}{n}\sum_{i=1}^nX_i(wX_i-Y_i) n1i=1n(wXiYi)2=[w[n1i=1n(wXiYi)2]]=n2i=1nXi(wXiYi)

当仅用一个权重求 MSE 的梯度时,可以计算关于 w w w 的导数。 X X X Y Y Y n n n 必须被视为常数。考虑到这一点,分数和求和可以移到导数之外:
1 n ∑ i = 1 n ∂ ∂ w [ ( w X i − Y i ) 2 ] \frac{1}{n}\sum_{i=1}^n\frac{\partial}{\partial w}\Big[(wX_i-Y_i)^2\Big] n1i=1nw[(wXiYi)2]
从这里开始,可以利用链式法则计算关于 w w w 的导数:
1 n ∑ i = 1 n [ 2 ( w X i − Y i ) ∂ ∂ w ( w X i − Y i ) ] 1 n ∑ i = 1 n [ 2 ( w X i − Y i ) X i ] \frac{1}{n}\sum_{i=1}^n\Big[2(wX_i-Y_i)\frac{\partial}{\partial w}(wX_i-Y_i)\Big]\\ \frac{1}{n}\sum_{i=1}^n\Big[2(wX_i-Y_i)X_i\Big] n1i=1n[2(wXiYi)w(wXiYi)]n1i=1n[2(wXiYi)Xi]
这样可以简化为:
2 n ∑ i = 1 n X i ( w X i − Y i ) \frac{2}{n}\sum_{i=1}^nX_i(wX_i-Y_i) n2i=1nXi(wXiYi)

双权重

∇ 1 n ∑ i = 1 n ( w 1 X i + w 0 − Y i ) 2 = [ ∂ ∂ w 0 [ 1 n ∑ i = 1 n ( w 1 X i + w 0 − Y i ) 2 ] ∂ ∂ w 1 [ 1 n ∑ i = 1 n ( w 1 X i + w 0 − Y i ) 2 ] ] = [ 2 n ∑ i = 1 n ( w 1 X i + w 0 − Y i ) 2 n ∑ i = 1 n X i ( w 1 X i + w 0 − Y i ) ] \begin{aligned} \nabla \frac{1}{n}\sum_{i=1}^n(w_1X_i+w_0-Y_i)^2 &= \begin{bmatrix} \frac{\partial}{\partial w_0}\Big[\frac{1}{n}\sum_{i=1}^n(w_1X_i+w_0-Y_i)^2\Big] \\ \frac{\partial}{\partial w_1}\Big[\frac{1}{n}\sum_{i=1}^n(w_1X_i+w_0-Y_i)^2\Big] \end{bmatrix}\\ &=\begin{bmatrix} \frac{2}{n}\sum_{i=1}^n(w_1X_i+w_0-Y_i) \\ \frac{2}{n}\sum_{i=1}^nX_i(w_1X_i+w_0-Y_i) \end{bmatrix} \end{aligned} n1i=1n(w1Xi+w0Yi)2= w0[n1i=1n(w1Xi+w0Yi)2]w1[n1i=1n(w1Xi+w0Yi)2] =[n2i=1n(w1Xi+w0Yi)n2i=1nXi(w1Xi+w0Yi)]

当采用两个权重求 MSE 的梯度时,必须对两个参数 w 0 w_0 w0 w 1 w_1 w1 求偏导数。对 w 0 w_0 w0 求偏导数时, X X X Y Y Y n n n w 1 w_1 w1 被视为常数。对 w 1 w_1 w1 求偏导数时, X X X Y Y Y n n n w 0 w_0 w0 被视为常数。可以重复与前面示例相同的步骤。首先,分数和求和可以移到导数之外。
[ 1 n ∑ i = 1 n ∂ ∂ w 0 ( w 1 X i + w 0 − Y i ) 2 1 n ∑ i = 1 n ∂ ∂ w 1 ( w 1 X i + w 0 − Y i ) 2 ] \begin{bmatrix} \frac{1}{n}\sum_{i=1}^n\frac{\partial}{\partial w_0}(w_1X_i+w_0-Y_i)^2 \\ \frac{1}{n}\sum_{i=1}^n\frac{\partial}{\partial w_1}(w_1X_i+w_0-Y_i)^2 \end{bmatrix} [n1i=1nw0(w1Xi+w0Yi)2n1i=1nw1(w1Xi+w0Yi)2]
然后用链式法则计算每个权重的导数:
[ 1 n ∑ i = 1 n [ 2 ( w 1 X i + w 0 − Y i ) ∂ ∂ w 0 ( w 1 X i + w 0 − Y i ) ] 1 n ∑ i = 1 n [ 2 ( w 1 X i + w 0 − Y i ) ∂ ∂ w 1 ( w 1 X i + w 0 − Y i ) ] ] \begin{bmatrix} \frac{1}{n}\sum_{i=1}^n\Big[2(w_1X_i+w_0-Y_i)\frac{\partial}{\partial w_0}(w_1X_i+w_0-Y_i)\Big] \\ \frac{1}{n}\sum_{i=1}^n\Big[2(w_1X_i+w_0-Y_i)\frac{\partial}{\partial w_1}(w_1X_i+w_0-Y_i)\Big] \end{bmatrix} n1i=1n[2(w1Xi+w0Yi)w0(w1Xi+w0Yi)]n1i=1n[2(w1Xi+w0Yi)w1(w1Xi+w0Yi)]

[ 1 n ∑ i = 1 n [ 2 ( w 1 X i + w 0 − Y i ) 1 ] 1 n ∑ i = 1 n [ 2 ( w 1 X i + w 0 − Y i ) X i ] ] \begin{bmatrix} \frac{1}{n}\sum_{i=1}^n\Big[2(w_1X_i+w_0-Y_i)1\Big] \\ \frac{1}{n}\sum_{i=1}^n\Big[2(w_1X_i+w_0-Y_i)X_i\Big] \end{bmatrix} n1i=1n[2(w1Xi+w0Yi)1]n1i=1n[2(w1Xi+w0Yi)Xi]

最后化简为:
[ 2 n ∑ i = 1 n ( w 1 X i + w 0 − Y i ) 2 n ∑ i = 1 n X i ( w 1 X i + w 0 − Y i ) ] \begin{bmatrix} \frac{2}{n}\sum_{i=1}^n(w_1X_i+w_0-Y_i) \\ \frac{2}{n}\sum_{i=1}^nX_i(w_1X_i+w_0-Y_i) \end{bmatrix} [n2i=1n(w1Xi+w0Yi)n2i=1nXi(w1Xi+w0Yi)]
请注意,方程之间的唯一区别是 X X X

三权重

∇ 1 n ∑ i = 1 n ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 = [ ∂ ∂ w 0 [ 1 n ∑ i = 1 n ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 ] ∂ ∂ w 1 [ 1 n ∑ i = 1 n ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 ] ∂ ∂ w 2 [ 1 n ∑ i = 1 n ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 ] ] = [ 2 n ∑ i = 1 n ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 n ∑ i = 1 n X 1 i ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 n ∑ i = 1 n X 2 i ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) ] \begin{aligned} \nabla \frac{1}{n}\sum_{i=1}^n&(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2 \\ &= \begin{bmatrix} \frac{\partial}{\partial w_0}\Big[\frac{1}{n}\sum_{i=1}^n(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2\Big] \\ \frac{\partial}{\partial w_1}\Big[\frac{1}{n}\sum_{i=1}^n(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2\Big] \\ \frac{\partial}{\partial w_2}\Big[\frac{1}{n}\sum_{i=1}^n(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2\Big] \end{bmatrix}\\ &=\begin{bmatrix} \frac{2}{n}\sum_{i=1}^n(w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \\ \frac{2}{n}\sum_{i=1}^nX_{1i}(w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \\ \frac{2}{n}\sum_{i=1}^nX_{2i}(w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \end{bmatrix} \end{aligned} n1i=1n(w2X2i+w1X1i+w0Yi)2= w0[n1i=1n(w2X2i+w1X1i+w0Yi)2]w1[n1i=1n(w2X2i+w1X1i+w0Yi)2]w2[n1i=1n(w2X2i+w1X1i+w0Yi)2] = n2i=1n(w2X2i+w1X1i+w0Yi)n2i=1nX1i(w2X2i+w1X1i+w0Yi)n2i=1nX2i(w2X2i+w1X1i+w0Yi)

当采用三个权重求 MSE 梯度时,必须对每个参数求偏导数。当对一个权重求偏导数时, X X X Y Y Y n n n 和其他两个权重将被视为常数。可以重复与前面示例相同的步骤。 首先,分数和求和可以移到导数之外。
[ 1 n ∑ i = 1 n ∂ ∂ w 0 ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 1 n ∑ i = 1 n ∂ ∂ w 1 ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 1 n ∑ i = 1 n ∂ ∂ w 2 ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 ] \begin{bmatrix} \frac{1}{n}\sum_{i=1}^n\frac{\partial}{\partial w_0}(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2 \\ \frac{1}{n}\sum_{i=1}^n\frac{\partial}{\partial w_1}(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2 \\ \frac{1}{n}\sum_{i=1}^n\frac{\partial}{\partial w_2}(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2 \end{bmatrix} n1i=1nw0(w2X2i+w1X1i+w0Yi)2n1i=1nw1(w2X2i+w1X1i+w0Yi)2n1i=1nw2(w2X2i+w1X1i+w0Yi)2
然后用链式法则计算每个权重的导数:
[ 1 n ∑ i = 1 n [ 2 ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) ∂ ∂ w 0 ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) ] 1 n ∑ i = 1 n [ 2 ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) ∂ ∂ w 1 ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) ] 1 n ∑ i = 1 n [ 2 ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) ∂ ∂ w 1 ( w 3 X 2 i + w 1 X 1 i + w 0 − Y i ) ] ] \begin{bmatrix} \frac{1}{n}\sum_{i=1}^n\Big[2(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)\frac{\partial}{\partial w_0}(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)\Big] \\ \frac{1}{n}\sum_{i=1}^n\Big[2(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)\frac{\partial}{\partial w_1}(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)\Big] \\ \frac{1}{n}\sum_{i=1}^n\Big[2(w_2X_{2i}+w_1X_{1i}+w_0-Y_i)\frac{\partial}{\partial w_1}(w_3X_{2i}+w_1X_{1i}+w_0-Y_i)\Big] \end{bmatrix} n1i=1n[2(w2X2i+w1X1i+w0Yi)w0(w2X2i+w1X1i+w0Yi)]n1i=1n[2(w2X2i+w1X1i+w0Yi)w1(w2X2i+w1X1i+w0Yi)]n1i=1n[2(w2X2i+w1X1i+w0Yi)w1(w3X2i+w1X1i+w0Yi)]
最后化简为:
[ 2 n ∑ i = 1 n ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 n ∑ i = 1 n X 1 i ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 n ∑ i = 1 n X 2 i ( w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) ] \begin{bmatrix} \frac{2}{n}\sum_{i=1}^n(w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \\ \frac{2}{n}\sum_{i=1}^nX_{1i}(w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \\ \frac{2}{n}\sum_{i=1}^nX_{2i}(w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \end{bmatrix} n2i=1n(w2X2i+w1X1i+w0Yi)n2i=1nX1i(w2X2i+w1X1i+w0Yi)n2i=1nX2i(w2X2i+w1X1i+w0Yi)
如前所述,每个偏导数之间的唯一区别是输入特征 X X X。这可以在下一个示例中推广到 k k k 个权重。

三个以上权重

∇ 1 n ∑ i = 1 n ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 = [ ∂ ∂ w 0 [ 1 n ∑ i = 1 n ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 ] ∂ ∂ w 1 [ 1 n ∑ i = 1 n ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 ] ∂ ∂ w 2 [ 1 n ∑ i = 1 n ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 ] ⋮ ∂ ∂ w k [ 1 n ∑ i = 1 n ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 ] ] = [ 2 n ∑ i = 1 n ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 n ∑ i = 1 n X 1 i ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) 2 n ∑ i = 1 n X 2 i ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) ⋮ 2 n ∑ i = 1 n X k i ( w k X k i + ⋯ + w 2 X 2 i + w 1 X 1 i + w 0 − Y i ) ] \begin{aligned} \nabla \frac{1}{n}\sum_{i=1}^n&(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2 \\ &= \begin{bmatrix} \frac{\partial}{\partial w_0}\Big[\frac{1}{n}\sum_{i=1}^n(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2\Big] \\ \frac{\partial}{\partial w_1}\Big[\frac{1}{n}\sum_{i=1}^n(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2\Big] \\ \frac{\partial}{\partial w_2}\Big[\frac{1}{n}\sum_{i=1}^n(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2\Big] \\ \vdots \\ \frac{\partial}{\partial w_k}\Big[\frac{1}{n}\sum_{i=1}^n(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i)^2\Big] \end{bmatrix}\\ &=\begin{bmatrix} \frac{2}{n}\sum_{i=1}^n(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \\ \frac{2}{n}\sum_{i=1}^nX_{1i}(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \\ \frac{2}{n}\sum_{i=1}^nX_{2i}(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \\ \vdots \\ \frac{2}{n}\sum_{i=1}^nX_{ki}(w_kX_{ki}+\dots+w_2X_{2i}+w_1X_{1i}+w_0-Y_i) \end{bmatrix} \end{aligned} n1i=1n(wkXki++w2X2i+w1X1i+w0Yi)2= w0[n1i=1n(wkXki++w2X2i+w1X1i+w0Yi)2]w1[n1i=1n(wkXki++w2X2i+w1X1i+w0Yi)2]w2[n1i=1n(wkXki++w2X2i+w1X1i+w0Yi)2]wk[n1i=1n(wkXki++w2X2i+w1X1i+w0Yi)2] = n2i=1n(wkXki++w2X2i+w1X1i+w0Yi)n2i=1nX1i(wkXki++w2X2i+w1X1i+w0Yi)n2i=1nX2i(wkXki++w2X2i+w1X1i+w0Yi)n2i=1nXki(wkXki++w2X2i+w1X1i+w0Yi)

当采用 k k k 个权重求 MSE 的梯度时,必须对每个参数求偏导数。当对一个权重求偏导数时, X X X Y Y Y n n n 和其他 k − 1 k-1 k1 个权重将被视为常数。如前面的示例所示,当权重超过两个时,只有每个偏导数的输入特征发生变化。

矩阵求导

上面的公式展示了如何在不利用向量和矩阵的优势的情况下执行梯度下降。然而,大多数机器学习最好通过矩阵或张量操作执行。本文的其余部分将致力于使用矩阵微积分来导出 MSE 的导数,更多背景知识请阅读《白话张量》《白话向量点积》。首先, Y ^ \hat Y Y^ Y Y Y 应理解为大小为 ( n × 1 n\times1 n×1) 的矩阵。两者都是 1 列 n n n 行的矩阵,或者它们可以视为列向量,这会将它们的表示法更改为小写:
M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 MSE = \frac{1}{n}\sum_{i=1}^n(y_i - \hat y_i)^2 MSE=n1i=1n(yiy^i)2
MSE 是 y ^ \hat y y^ y y y 之间的逐元素向量减法,后跟与其自身差值的点积。请记住,只有尺寸兼容时才能计算点积。由于目标是获得标量输出,因此必须转置第一个向量。
M S E = 1 n ( y − y ^ ) T ( y − y ^ ) MSE = \frac{1}{n}(y - \hat y)^T(y - \hat y) MSE=n1(yy^)T(yy^)
然后, y ^ \hat y y^ 可以替换为 X w Xw Xw 进行回归。 X X X 是大小为 ( n n n 个样本, n u m num num 个特征) 的矩阵, w w w 是大小为 ( n u m num num 个特征, 1 1 1) 的列向量。
M S E = 1 n ( y − X w ) T ( y − X w ) MSE = \frac{1}{n}(y - Xw)^T(y - Xw) MSE=n1(yXw)T(yXw)
下一步是在求导之前简化方程。请注意, w w w X X X 交换位置以确保它们的乘法仍然有效:( 1 1 1, n u m num num 个特征) x ( n u m num num 个特征, n n n 个样本) = ( 1 1 1, n n n 个样本)。
M S E = 1 n ( y T − w T X T ) ( y − X w ) = 1 n ( y T y − y T X w − w T X T y + w T X T X w ) \begin{aligned} MSE &= \frac{1}{n}(y^T - w^TX^T)(y - Xw) \\ &= \frac{1}{n}(y^Ty - y^TXw - w^TX^Ty + w^TX^TXw) \end{aligned} MSE=n1(yTwTXT)(yXw)=n1(yTyyTXwwTXTy+wTXTXw)
请注意,第三项可以进行转置来重写,然后与第二项合并。
M S E = 1 n ( y T y − y T X w − ( w T X T y ) T + w T X T X w ) = 1 n ( y T y − y T X w − y T X w + w T X T X w ) = 1 n ( y T y − 2 y T X w + w T X T X w ) \begin{aligned} MSE &= \frac{1}{n}(y^Ty - y^TXw - (w^TX^Ty)T + w^TX^TXw) \\ &= \frac{1}{n}(y^Ty - y^TXw - y^TXw + w^TX^TXw) \\ &= \frac{1}{n}(y^Ty - 2y^TXw + w^TX^TXw) \end{aligned} MSE=n1(yTyyTXw(wTXTy)T+wTXTXw)=n1(yTyyTXwyTXw+wTXTXw)=n1(yTy2yTXw+wTXTXw)
接下来,对权重求 MSE 的偏导数。
∂ M S E ∂ w = 1 n ∂ ∂ w ( y T y − 2 y T X w + w T X T X w ) \frac{\partial MSE}{\partial w} = \frac{1}{n}\frac{\partial}{\partial w}(y^Ty - 2y^TXw + w^TX^TXw) wMSE=n1w(yTy2yTXw+wTXTXw)
这相当于对每一项求导:
∂ M S E ∂ w = 1 n [ ∂ ∂ w ( y T y ) − 2 ∂ ∂ w ( y T X w ) + ∂ ∂ w ( w T X T X w ) ] \frac{\partial MSE}{\partial w} = \frac{1}{n}\Big[\frac{\partial}{\partial w}(y^Ty) - 2\frac{\partial}{\partial w}(y^TXw) + \frac{\partial}{\partial w}(w^TX^TXw)\Big] wMSE=n1[w(yTy)2w(yTXw)+w(wTXTXw)]
w w w 之外的每一项都可以视为常数。每个分量的导数可以使用以下规则计算:
d A x x = A , d x T A x = A T , d x T A x x = 2 x T A , d A x = 0 \frac{dAx}{x} = A, \quad \frac{dx^TA}{x} = A^T, \quad \frac{dx^TAx}{x} = 2x^TA, \quad \frac{dA}{x} = 0 xdAx=A,xdxTA=AT,xdxTAx=2xTA,xdA=0
等式中的第一项遵循第四条规则变为0。第二项遵循第一条规则,第三项遵循第三条规则。
M S E = 1 n ( − 2 y T X + 2 w T X T X ) = 2 n ( − y T X + w T X T X ) \begin{aligned} MSE &= \frac{1}{n}(-2y^TX+2w^TX^TX) \\ &= \frac{2}{n}(-y^TX+w^TX^TX) \end{aligned} MSE=n1(2yTX+2wTXTX)=n2(yTX+wTXTX)
该方程可用于梯度下降,同时计算所有偏导数:
w j + 1 = w j − α 2 n ( − y T X + w j T X T X ) w_{j+1} = w_j-\alpha\frac{2}{n}(-y^TX+w_j^TX^TX) wj+1=wjαn2(yTX+wjTXTX)

结论

以上详细为大家推导了 MSE 作为损失函数时的梯度下降公式。我将在《简单线性回归》中为大家详细展示如何利用梯度下降。

### 回答1: 白话机器学习数学pdf是一本以易懂的语言讲解机器学习中涉及的数学概念和算法的PDF教材。 在机器学习中,数学是一门非常重要的学科。它涵盖了许多基本的数学概念,如线性代数、微积分和概率论。这些数学概念在理解和应用各种机器学习算法时至关重要。 这本PDF教材以白话的方式解释了这些数学概念,使读者能够轻松理解和学习。它通过易懂的例子和图示来说明每个概念的含义和应用,帮助读者建立直观的认识。 PDF教材的内容包括线性代数的基本概念,如向量、矩阵和线性方程组,并解释了这些概念在机器学习中的应用,如特征向量和数据降维。 此外,PDF教材还讲解了微积分的概念和应用,如最优化问题和梯度下降算法。这些是机器学习中常用的算法,通过学习微积分,读者可以深入理解这些算法的原理和实现方式。 概率论也是机器学习中不可或缺的一部分,PDF教材简明扼要地介绍了概率的基本概念和常见的概率分布。它还解释了贝叶斯推断和朴素贝叶斯分类器在机器学习中的应用。 总的来说,这本白话机器学习数学pdf以简单易懂的方式解释了机器学习数学的基本概念和算法。它适合初学者学习和入门,也可以作为复习和回顾的参考资料。 ### 回答2: 白话机器学习数学PDF是一本以简明易懂的语言阐述机器学习中涉及的数学原理和概念的电子书。它旨在帮助读者更好地理解机器学习算法背后的数学基础,为他们提供一个轻松的学习资源。 这本书首先介绍了机器学习的基本概念和应用领域,然后逐步深入到数学原理。它包括了涵盖机器学习所需的一系列数学概念,如线性代数、概率论、统计学和优化理论。 在书中,数学原理的阐述遵循了白话风格,尽可能用通俗的语言解释复杂的数学概念。它避免使用过多的数学符号和公式,而是通过图表和实际案例来讲解,以增加读者的理解和兴趣。 除了数学原理的介绍,这本PDF还提供了一些机器学习算法的实际应用示例和编程实践。这有助于读者将所学的数学知识应用到实际问题中,并加深对机器学习的理解。 总而言之,白话机器学习数学PDF是一本适合初学者和希望巩固数学基础的机器学习爱好者阅读的书籍。它通过简单易懂的语言讲解了机器学习所需的数学知识,帮助读者更好地掌握机器学习算法的原理和应用。 ### 回答3: 白话机器学习数学PDF是一份以简单易懂的语言解释机器学习中所涉及的数学概念和方法的文档。机器学习是一门将数学、统计学和计算机科学相结合的学科,因此理解其中的数学原理是非常重要的。 这份PDF将数学概念和方法以白话的方式呈现,使得读者可以更轻松地理解和学习。它包含了机器学习中常用的数学概念,如线性代数、统计学和概率论等。读者可以在其中找到关于向量、矩阵、矩阵运算、概率分布、条件概率以及最小二乘法等内容的解释和示例。 这份PDF的目的是帮助读者建立对机器学习数学理论的基本认识,使其能够更好地应用这些知识于实际问题中。通过简单易懂的解释和示例,读者可以更好地理解和运用机器学习中的数学原理。 总而言之,白话机器学习数学PDF是一份让读者更轻松地理解和学习机器学习中所涉及的数学概念和方法的文档。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JarodYv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值