我试图了解这两种算法之间的区别以及它们在解决问题时的不同之处。我已经研究了算法及其内部结构。很高兴听到其他已经体验过他们的人的意见。特别是,我想知道他们在同一个问题上的表现有何不同。
谢谢。
最佳答案
区别
两者之间的主要区别
是它们到达局部最小值(或最大值)的方向
。
- 在
Hill Climbing
中,我们仅移动向量空间
的一个元素
,然后我们计算函数的值并在值提高时替换它。我们不断地改变向量的一个元素,直到我们不能在一个方向上移动,这样位置就会提高。在3D 空间
中,可以将移动可视化为沿x、y 或 z 轴
在任一轴方向
上移动。 - 在
梯度下降
中,我们在当前点的负梯度
方向上采取步骤,以达到最小值
(最大值的情况下为正)。例如,在3D 空间
中,方向不需要
是轴向
。
关于algorithm - 梯度下降和爬山之间的行为差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40672502/