【问题标题】:Behavioral difference between Gradient Desent and Hill Climbing梯度下降和爬山之间的行为差​​异
【发布时间】:2017-04-02 00:49:28
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: algorithm optimization gradient-descent hill-climbing


    【解决方案1】:

    区别

    两者之间的主要differencedirection,它们在其中移动以达到局部最小值(或最大值)。

    • Hill Climbing中,我们移动vector space中的onlyone element,然后我们计算函数的值并在值提高时替换它。我们不断改变向量的一个元素,直到我们不能在一个方向上移动,这样位置就可以改善。在3D sapce 中,可以将移动可视化为沿x,y or z axisaxial direction 中的任何一个中移动。
    • Gradient Descent 中,我们沿着当前点的negative gradient 的方向采取步骤到达minima 的点(在最大值的情况下为正)。例如,在3D Space 中,方向need notaxial direction

    【讨论】:

    • 如果函数是连续可微的,我们会期待不同的结果吗?或者爬山是否更适合参数离散的搜索空间?
    【解决方案2】:

    除了 radbrawler 的答案之外,它们在贪婪方法中都相似,两者都用于查找局部最小值/最大值。我可以将梯度下降视为离散爬山技术的连续版本。

    【讨论】:

    • 不,梯度上升/下降不能被视为离散爬山的连续模拟。期望最大化算法可以例如用于隐马尔可夫模型的 Baum-Welch。爬山会收敛到最近的局部最大值,而梯度上升则不一定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 2021-06-23
    • 2012-08-17
    • 1970-01-01
    相关资源
    最近更新 更多