我了解梯度下降的作用。基本上,它试图通过缓慢地沿着曲线移动来走向局部最优解。我想了解普通梯度下降法和牛顿法之间的实际区别是什么?
从维基百科上,我读到了这样一句话“牛顿方法使用曲率信息来采取更直接的路线。”这直观上意味着什么?
最佳答案
在局部最小值(或最大值)x
,目标函数的导数f
消失:f'(x) = 0
(假设 f
有足够的平滑度)。
梯度下降试图找到这样的最小值x
通过使用 f
一阶导数的信息:它只是遵循从当前点开始的最陡下降。这就像在 f
的图表上滚动一个球。直到它静止(同时忽略惯性)。
牛顿法试图找到一个点x
满意f'(x) = 0
通过近似 f'
具有线性函数g
然后显式求解该函数的根(这称为牛顿求根法)。 g
的根不一定是 f'
的根,但在许多情况下这是一个很好的猜测(Wikipedia article on Newton's method for root finding 有关于收敛标准的更多信息)。同时近似f'
,牛顿法利用f''
(f
的曲率)。这意味着它对f
的流畅度有更高的要求。 ,但这也意味着(通过使用更多信息)它通常收敛得更快。
关于machine-learning - 梯度下降和牛顿梯度下降有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12066761/