algorithm - 梯度下降和爬山之间的行为差​​异

标签 algorithm optimization gradient-descent hill-climbing

我试图了解这两种算法之间的区别以及它们在解决问题时的不同之处。我已经研究了算法及其内部结构。很高兴听到其他已经体验过他们的人的意见。特别是,我想知道他们在同一个问题上的表现有何不同。

谢谢。

最佳答案

区别

两者之间的主要区别是它们到达局部最小值(或最大值)的方向

  • Hill Climbing中,我们移动向量空间一个元素 ,然后我们计算函数的值并在值提高时替换它。我们不断地改变向量的一个元素,直到我们不能在一个方向上移动,这样位置就会提高。在 3D 空间 中,可以将移动可视化为沿 x、y 或 z 轴在任一轴方向上移动。
  • 梯度下降中,我们在当前点的负梯度方向上采取步骤,以达到最小值(最大值的情况下为正)。例如,在 3D 空间中,方向不需要轴向

关于algorithm - 梯度下降和爬山之间的行为差​​异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40672502/

相关文章:

algorithm - 需要一种更快、更有效的方法来将元素添加到 python 中的列表中

algorithm - 将自然数表示为不同平方和

algorithm - 计数有界切片编码

javascript - 为 ng-repeat 加载大量元素

c++ - 将指针或对象放入类中?

machine-learning - 坐标下降和次梯度的解释

algorithm - 有效地找到给定顺序的连接子图(不一定导出)

excel - 在 R 中,如何找到最佳变量以最大化或最小化两个数据集之间的相关性

python - 在 Python 中实现梯度下降并收到溢出错误

python - 梯度增强分类器中训练数据的准确性 - scikit