梯度下降优化

机器算法验证 优化 梯度下降
2022-03-07 07:44:44

我试图了解 ML(机器学习)算法中的梯度下降优化。我知道有一个成本函数——其目的是最小化误差在权重被优化以提供最小误差并且正在使用偏导数的情况下,它是在每个步骤中同时改变还是它是一个组合(例如,在几次迭代中,只有被改变并且当不再减少误差时,导数以开始)?该应用程序可以是线性回归模型、逻辑回归模型或增强算法。y^yw1,w2w1w2w1w1w2

4个回答

梯度下降在每一步更新所有参数。您可以在更新规则中看到这一点:

w(t+1)=w(t)ηf(w(t)).

由于损失函数的梯度是向量值,其维度与匹配,因此所有参数在每次迭代时都会更新。f(w)w

学习率是一个重新缩放梯度的正数。迈出过大的一步可能会在损失函数表面无休止地反弹,而损失函数没有任何改善;一步太小可能意味着向最佳状态的进展缓慢。η

尽管您可以使用梯度下降来估计线性回归参数,但这不是一个好主意。

同样,有更好的方法来估计逻辑回归系数。

当优化确实通过偏导数发生时,它在每一轮中都会改变 w1 和 w2 还是像在几次迭代中只改变 w1 的组合,并且当 w1 没有进一步减少误差时,导数从 w2 开始 - 到达到局部最小值?

在每次迭代中,算法会根据梯度向量同时改变所有的权重。实际上,梯度是一个向量。梯度的长度与模型中权重的数量相同。

另一方面,确实存在一次改变一个参数,它被称为坐标体面算法,它是一种无梯度优化算法在实践中,它可能不如基于梯度的算法工作。

这是关于无梯度算法的有趣答案

是否可以在没有反向传播的情况下训练神经网络?

梯度体面适用于w1每次w2迭代。在每次迭代期间,根据梯度更新参数。他们可能会有不同的偏导数。

在这里检查

梯度下降的目的是最小化成本函数。对于您的情况 w1 和 w2,通过调整权重来实现这种最小化。一般来说,可能有n 个这样的权重。

梯度下降通过以下方式完成:

  1. 随机初始化权重。
  2. 使用初始化权重计算成本函数和梯度。
  3. 更新权重:某些权重的梯度可能为 O,在这种情况下,这些权重在更新后不会显示任何变化。例如:假设梯度为 [1,0],W2将保持不变。
  4. 检查具有更新权重的成本函数,如果减量足够可接受,则继续迭代,否则终止。

而更新权重(W1或W2)改变的权重完全由梯度决定。所有权重都会更新(某些权重可能不会根据梯度而改变)。