我理解Gradient Descent的作用。基本上它试图通过缓慢向下移动曲线来向局部最优解。我试图了解计划梯度下降和牛顿方法之间的实际差异是什么?
从维基百科,我读到了这条短线“Newton的方法使用曲率信息来采取更直接的路线。”这直觉意味着什么?
答案 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 牛顿的方法只是解决第二个问题的一种方法。