计算成本函数(损失函数)梯度的不同方法

人工智能 反向传播 梯度下降
2021-11-03 11:06:53

我们需要找到损失函数(成本函数)相对于权重的梯度,以使用 SGD 或梯度下降等优化方法。到目前为止,我遇到了两种计算梯度的方法:

  1. 反向传播
  2. 通过微积分计算损失函数的梯度

我找到了许多理解反向传播的资源。我指的第二种方法是下图(具体例子,e是误差:目标和预测之间的差异): 在此处输入图像描述

此外,本文中提到了证明:here

此外,我在阅读此博客时发现了这种方法。(您可能需要向下滚动才能看到代码:gradient = XTdot(error) / X.shape[0] )

我的问题是找到成本函数梯度的两种方法是否相同?它看起来不同,如果是的话,哪个更有效(尽管可以猜测它是反向传播)

将不胜感激任何帮助。感谢您的耐心(这是我第一次学习 ML)。

1个回答

我很确定它们是一样的。反向传播和梯度下降的本质思想都是计算成本对每个权重的偏导数,然后减去偏导数乘以学习率。