-3

我只是想知道是否是这种情况?直观的定义是什么?

4

1 回答 1

3

梯度下降是一种寻找某个多维函数的最小值/最大值的方法。为简单起见,想象一下寻找山顶。在这种情况下,我们正在寻找 3 个维度(经度、纬度、高度)的最大值(高度)。函数是山的表面,有两个输入(经度、纬度)和一个输出(高度)。

如果你必须使用梯度下降,你会这样做:

  1. 在当前位置计算每个方向的坡度
  2. 向最陡的正倾斜方向移动一小段距离
  3. 如果达到收敛,则停止。否则,返回步骤 1。

收敛意味着如果你继续,结果不会有显着变化。上述指令可以推广到任意数量的维度。

要在任何语言中实现梯度下降,您需要设置一个循环,并实现上述步骤。无论您使用哪种语言,它都是一样的。这是一个关于梯度下降的好视频,其中包含一些伪代码(与 Python 没有什么不同):http: //youtu.be/5u4G23_OohI?t= 26m34s

于 2013-04-13T03:29:27.510 回答