Gradient Descent和Newton's Gradient Descent有什么区别?

时间:2012-08-22 05:27:16

标签: machine-learning data-mining mathematical-optimization gradient-descent newtons-method

我理解Gradient Descent的作用。基本上它试图通过缓慢向下移动曲线来向局部最优解。我试图了解计划梯度下降和牛顿方法之间的实际差异是什么?

从维基百科,我读到了这条短线“Newton的方法使用曲率信息来采取更直接的路线。”这直觉意味着什么?

4 个答案:

答案 0 :(得分:56)

在局部最小值(或最大值)x处,目标函数f的导数消失:f'(x) = 0(假设f足够平滑)。

渐变下降试图通过使用来自x的一阶导数的信息来找到这样的最小值f:它只是跟随当前点的最陡下降。这就像在f的图表上滚动球直到它休息(忽略惯性)。

Newton的方法尝试通过用线性函数x逼近f'(x) = 0来找到满足f'的点g,然后明确地求解该函数的根(这是叫牛顿的寻根方法)。 g的根不一定是f'的根,但在很多情况下是一个很好的猜测(Wikipedia article on Newton's method for root finding有更多关于收敛标准的信息)。在逼近f'时,牛顿方法使用f''f的曲率)。这意味着它对f的平滑度有更高的要求,但它也意味着(通过使用更多信息)它通常会更快地收敛。

答案 1 :(得分:10)

简单地说,梯度下降你只需向你认为零点的位置迈出一小步,然后重新计算;牛顿的方法,你一直都在那里。

答案 2 :(得分:4)

编辑2017 :原来的链接已经死了 -  但后面的机器仍然得到它:) https://web.archive.org/web/20151122203025/http://www.cs.colostate.edu/~anderson/cs545/Lectures/week6day2/week6day2.pdf

这个强项主旨简单地解释了http://www.cs.colostate.edu/~anderson/cs545/Lectures/week6day2/week6day2.pdf

我希望这有帮助:)

答案 3 :(得分:0)

如果仅比较梯度下降法和牛顿法,则这两种方法的目的是不同的。

Gradient Descent用于查找(近似)局部最大值或最小值(用x表示最小值f(x)或最大值f(x))。牛顿的方法是查找(近似)函数的根,即x使f(x)= 0

从这个意义上讲,它们用于解决不同的问题。但是,牛顿方法也可以用于优化(GD正在解决的领域)的环境中。因为找到最大值或最小值可以通过找到f'(x)= 0来实现,而f'(x)= 0正是牛顿法所用的。

总而言之,可以使用两种方法进行优化:1)GD和2)找到x所以f'(x)= 0 牛顿的方法只是解决第二个问题的一种方法。