Machine learning 梯度下降和牛顿';s梯度下降?

Machine learning 梯度下降和牛顿';s梯度下降?,machine-learning,data-mining,mathematical-optimization,gradient-descent,newtons-method,Machine Learning,Data Mining,Mathematical Optimization,Gradient Descent,Newtons Method,我知道梯度下降的作用。基本上,它试图通过沿着曲线缓慢向下移动,从而向局部最优解移动。我试图理解平面梯度下降法和牛顿法之间的实际区别是什么 从维基百科上,我读到了这句短文“牛顿的方法使用曲率信息来采取更直接的路线”。这从直觉上来说意味着什么?编辑2017:原始链接已失效- 但《往回走的路》这部机器仍然得到了它:) 本文对本文的主要观点进行了简单的解释 我希望这个帮助:)在局部最小值(或最大值)x处,目标函数f的导数消失:f'(x)=0(假设f具有足够的平滑度) 梯度下降法试图通过使用f的一阶导数中

我知道梯度下降的作用。基本上,它试图通过沿着曲线缓慢向下移动,从而向局部最优解移动。我试图理解平面梯度下降法和牛顿法之间的实际区别是什么


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

编辑2017:原始链接已失效- 但《往回走的路》这部机器仍然得到了它:)

本文对本文的主要观点进行了简单的解释

我希望这个帮助:)

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

梯度下降法试图通过使用
f
的一阶导数中的信息来找到这样一个最小值
x
:它只是跟随从当前点开始的最陡下降。这就像在
f
图形上滚动一个球,直到它静止(忽略惯性)


牛顿的方法试图找到一个点
x
满足
f'(x)=0
,方法是用一个线性函数
g
逼近
f'
,然后明确地求出该函数的根(这称为牛顿的寻根方法)。
g
的根不一定是
f'
的根,但在许多情况下,它是一个很好的猜测(有更多关于收敛标准的信息)。在近似
f'
时,牛顿的方法利用了
f'
(f的曲率)。这意味着它对f的平滑度有更高的要求,但也意味着(通过使用更多信息)它通常收敛得更快。

简单地说,梯度下降只需朝着你认为零的位置迈出一小步,然后重新计算;牛顿的方法,你可以一直做到这一点。

如果你简单地比较梯度下降法和牛顿的方法,这两种方法的目的是不同的

梯度下降法用于寻找(近似)局部最大值或最小值(x使最小值f(x)或最大值f(x))。而牛顿的方法是求(近似)一个函数的根,即x使f(x)=0

从这个意义上说,它们被用来解决不同的问题。然而,牛顿的方法也可以用于优化(GD正在解决的领域)。因为求最大值或最小值可以通过求f’(x)=0来接近,这正是牛顿方法的用途

总之,有两种方法可用于优化:1)GD和2)find x so f'(x)=0
牛顿的方法只是解决第二个问题的一种方法。

曲率与牛顿的方法如何使用函数的二阶导数有关。梯度下降通常是一阶的。从头到尾看这个讲座:非常相似,也有一个很好的答案:我总是看到提到选择“最陡下降”。这是什么意思?这是
f'(x)
的最大负数吗?@Chowza:如果你的域是多维的,例如,如果
f
将二维点映射为实数,那么
f
在任何点的梯度都不是标量数,而是向量。原因是,
f
在该点的“陡度”取决于您所观察的方向。这就像站在山顶上:如果你向北看,山可能会急剧下降,但到了另一边,山可能就不那么陡峭了。因此,选择最陡下降意味着选择目标函数变化最大的方向。对于非二次函数,“一路”是真的吗?是的,对于非二次函数,你只是用一条直线逼近一阶导数。这有点牵强附会,但我认为这对直觉来说是好的。好的,我同意。到“你认为零的位置”这一步毫无疑问是正确的。如果你所说的主要区别是“小步”和“一路”的区别,你能详细说明“小步”的大小是如何确定的吗?@MrPurple它的定义不是很清楚,小到梯度变化不大(所以你不必保持锯齿形)但是足够大,你可以取得进步。很多研究都围绕着如何自适应地优化这一点。对于直觉,按x值的0.1%的顺序思考。链接已断开