有人能给我一个梯度下降的概述吗?

时间:2013-04-13 03:22:43

标签: algorithm

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

1 个答案:

答案 0 :(得分:3)

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

如果你必须使用渐变下降,你可以这样做:

  1. 在当前位置计算每个方向的坡度
  2. 朝最陡的正倾斜方向移动一小段距离
  3. 如果达到收敛,则停止。否则,请返回第1步。
  4. 融合意味着如果继续,结果不会发生显着变化。上述说明概括为任意数量的维度。

    要以任何语言实现渐变下降,请设置循环,然后执行上述步骤。无论你使用何种语言,它都是一样的。这是一个关于梯度下降和一些伪代码的好视频(与Python不同):http://youtu.be/5u4G23_OohI?t=26m34s