梯度下降与牛顿梯度下降的区别是什么?

我了解梯度下降的作用。基本原理是通过沿着曲线缓慢移动来接近局部最优解。我现在试图理解普通梯度下降和牛顿方法之间的实际区别是什么?

我在维基百科上读到这样一句话:“牛顿方法利用曲率信息来选择更直接的路径。”这句话直观上意味着什么?


回答:

在局部最小值(或最大值)点x处,目标函数f的导数为零:f'(x) = 0(假设f具有足够的光滑性)。

梯度下降通过利用f的一阶导数信息来寻找这样的最小值x:它简单地从当前点沿着最陡的下降方向前进。这就像让一个球沿着f的图形滚动,直到它停下来(忽略惯性)。

牛顿方法通过用线性函数g来近似f',然后明确地求解该函数的根,来寻找满足f'(x) = 0的点x(这被称为牛顿求根法)。g的根不一定是f'的根,但在许多情况下是一个不错的猜测(关于收敛标准的更多信息,请参见牛顿求根方法的维基百科文章)。在近似f'时,牛顿方法使用了f''f的曲率)。这意味着它对f的光滑性有更高的要求,但也意味着(通过使用更多信息)它通常收敛得更快。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注