梯度下降和爬山之间的行为差异
Behavioral difference between Gradient Desent and Hill Climbing
我试图了解这两种算法之间的区别以及它们在解决问题时的不同之处。我已经研究了算法及其内部结构。很高兴听到其他已经体验过他们的人的意见。特别是,我想知道他们在同一个问题上的表现如何不同。
谢谢。
差异
两者之间的主要difference
是direction
,它们在其中移动以达到局部最小值(或最大值)。
- 在
Hill Climbing
中我们只移动one element
的vector space
,然后计算function 的值,如果值提高了就替换它。我们不断地改变向量的一个元素,直到我们不能在一个方向上移动,这样位置就会提高。在 3D sapce
中,可以将移动可视化为沿 x,y or z axis
. 在 axial direction
中的任何一个移动
- 在
Gradient Descent
中我们向当前点negative gradient
的方向走一步,到达minima
的点(正数情况下最大值)。例如,在 3D Space
方向 need not
是 axial direction
.
除了 radbrawler 的回答之外,它们在用于查找本地 minima/maxima 的贪婪方法方面也很相似。我可以将梯度下降视为离散爬山技术的连续版本。
我试图了解这两种算法之间的区别以及它们在解决问题时的不同之处。我已经研究了算法及其内部结构。很高兴听到其他已经体验过他们的人的意见。特别是,我想知道他们在同一个问题上的表现如何不同。
谢谢。
差异
两者之间的主要difference
是direction
,它们在其中移动以达到局部最小值(或最大值)。
- 在
Hill Climbing
中我们只移动one element
的vector space
,然后计算function 的值,如果值提高了就替换它。我们不断地改变向量的一个元素,直到我们不能在一个方向上移动,这样位置就会提高。在3D sapce
中,可以将移动可视化为沿x,y or z axis
. 在 - 在
Gradient Descent
中我们向当前点negative gradient
的方向走一步,到达minima
的点(正数情况下最大值)。例如,在3D Space
方向need not
是axial direction
.
axial direction
中的任何一个移动
除了 radbrawler 的回答之外,它们在用于查找本地 minima/maxima 的贪婪方法方面也很相似。我可以将梯度下降视为离散爬山技术的连续版本。