所以我找到了一个描述 SGD-Descent 的公式
θ = θ-η*∇L(θ;x,y)
其中 θ 是一个参数,η 是学习率,∇L() 是损失函数的梯度下降。但我不明白的是如何在数学上更新参数 θ(应该是权重和偏差)?参数 θ 有数学解释吗?
感谢您的任何回答。
所以我找到了一个描述 SGD-Descent 的公式
θ = θ-η*∇L(θ;x,y)
其中 θ 是一个参数,η 是学习率,∇L() 是损失函数的梯度下降。但我不明白的是如何在数学上更新参数 θ(应该是权重和偏差)?参数 θ 有数学解释吗?
感谢您的任何回答。
该公式适用于梯度下降和随机梯度下降 (SGD)。两者之间的区别在于,在 SGD 中,损失是在训练数据的随机子集(即 mini-batch/batch)上计算的,而不是像在传统梯度下降中那样在所有训练数据上计算损失。因此,在 SGD中x
,y
它们对应于训练数据和标签的子集,而在梯度下降中,它们对应于所有训练数据和标签。
θ
表示模型的参数。在数学上,这通常被建模为一个向量,该向量包含模型的所有参数(所有权重、偏差等),并排列成一个向量。当您计算损失(标量)的梯度时,θ
您会得到一个向量,其中包含损失的偏导数θ
。所以∇L(θ;x,y)
只是一个向量,大小与θ
. 如果我们假设损失是 的线性函数θ
,那么这个梯度指向参数空间中将导致最大增加的方向如果我们在该方向上采取大小为 1 的步长,则损失的幅度与预期的损失增加相对应。由于损失实际上不是一个线性函数,我们实际上想要减少损失,我们反而在相反的方向上采取更小的步骤,因此 η 和减号。
还值得指出的是,从数学上讲,您给出的表格有点问题。我们通常不会这样写,因为 assignment 和 equal 不是一回事。您提供的方程式似乎暗示方程式θ
左侧和右侧的 相同。他们不是。θ
等号左边的 代表走一步后的参数值,右边的sθ
对应走一步前的参数。我们可以用下标写得更清楚
其中θ_{t}
是一步的参数向量, 是一步之后的参数向量t
。θ_{t+1}