machine-learning - 梯度下降和牛顿梯度下降有什么区别?

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

我了解梯度下降的作用。基本上,它试图通过缓慢地沿着曲线移动来走向局部最优解。我想了解普通梯度下降法和牛顿法之间的实际区别是什么?

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

最佳答案

在局部最小值(或最大值)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/

相关文章:

pyspark - 如何使用 pyspark(2.1.0) LdA 获取与每个文档关联的主题?

python - 在关系数据库中查找统计相关性

matlab - CPLEX 原始不可行性

algorithm - 最小延迟图算法

python - InvalidArgumentError : Input to reshape is a tensor with 88064 values, 但请求的形状需要 38912 的倍数 [[{{node Reshape_17}}]]

python - 具有加州住房数据的神经网络

machine-learning - 高偏差卷积神经网络不会随着更多层/滤波器而得到改善

machine-learning - 计算 2 个以上类别的精度和召回率

algorithm - 将工作与申请人匹配

R 为 fn 和 gr 优化相同的函数