美文网首页
梯度下降法与牛顿法

梯度下降法与牛顿法

作者: 小松qxs | 来源:发表于2019-01-28 14:54 被阅读0次

梯度下降和牛顿法的推导均与泰勒公式有关,所以先介绍泰勒展开公式:
基本形式:

上面这个迭代形式将应用到下面的梯度下降和牛顿法中。

一、梯度下降

梯度下降法应用一阶泰勒展开,假设L(θ)代表损失函数,目标:最小化损失函数,θ是需要更新的模型参数。下面公式中alpha是步长(学习率),可以直接赋值一个小的数,也可以通过line search。

二、牛顿法

牛顿法应用二阶泰勒展开,目标:最小化损失函数

g定义为雅克比矩阵,矩阵中各元素对应一阶偏导数
Hessian矩阵中各元素对应二阶偏导数。Hessian矩阵的逆同比于梯度下降法的学习率参数alpha,Hessian的逆在迭代中不断减小,起到逐渐缩小步长的效果。

优缺点对比:

1.梯度下降法:通过梯度方向和步长,直接求解目标函数最小值时的参数。
越接近最优值时,步长应该不断减小,否则会在最优值附近来回震荡。
2.牛顿法:
优点:通过求解目标函数的一阶导数为0时的参数,进而求出目标函数最小值时的参数。收敛速度很快。海森矩阵的逆在迭代过程中不断减小,可以起到逐步减小步长的效果。
缺点:海森矩阵的逆计算复杂,代价比较大,因此有了拟牛顿法。

红色:牛顿法迭代路径,绿色:梯度下降法迭代路径

牛顿法:二阶收敛,梯度下降:一阶收敛,所以牛顿法更快。
比如想找一条最短的路径走到一个盆地的最底部,梯度下降法每次只从你当前所处位置选一个坡度最大的方向走一步,牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,牛顿法比梯度下降法看得更远一点,能更快地走到最底部。(牛顿法目光更长远,所以少走弯路;梯度下降法只考虑局部最优,没有全局思想。)
从几何说,牛顿法是用一个二次曲面拟合你当前所处位置的局部曲面,梯度下降法是用一个平面去拟合当前局部曲面,通常情况下,二次曲面的拟合会比平面更好,所以牛顿法选择的下降路径会更符合真实的最优下降路径。

拟牛顿法

解决牛顿法计算比较复杂的问题,使用正定矩阵近似Hessian矩阵的逆,简化了运算的复杂度。
常用的拟牛顿算法:DFP算法和BFGS算法

相关文章

  • 最优化方法

    常见最优化方法 1.梯度下降法 2.牛顿法 3.拟牛顿法 4.共轭梯度法

  • 牛顿法和梯度下降法的学习

    牛顿法和梯度下降法的差别 牛顿法:二次逼近梯度下降法:一阶逼近 牛顿法:对局部凸的函数找到极小值,对局部凹的函数找...

  • 【转】常见的几种最优化方法

    转自Poll 的笔记 阅读目录 梯度下降法(Gradient Descent) 牛顿法和拟牛顿法(Newton's...

  • 2018-08-23

    1.gbdt,xgboost,lgbm的区别(阿里,头条) 2.梯度下降法,牛顿法,拟牛顿法区别(阿里) 3.SG...

  • GBDT与XGBoost

    之前介绍过梯度下降法与牛顿法,GBDT与XGBoost就与这两种方法有关。 boosting(包括GBDT、XGB...

  • 梯度下降法与牛顿法

    梯度下降和牛顿法的推导均与泰勒公式有关,所以先介绍泰勒展开公式:基本形式: 上面这个迭代形式将应用到下面的梯度下降...

  • 梯度下降法和牛顿法求最优解

    问题描述 思路 梯度下降法深度截图20170423135233.png 牛顿法深度截图20170423135205...

  • PyTorch基础知识

    一. 常用优化方法 最小二乘法,牛顿法,拟牛顿法,梯度下降法 二. tensor和numpy array的相互转换...

  • 拟牛顿法的原理

    多元函数的泰勒展开式image-20200403212859301.png 牛顿法牛顿法是梯度下降法的进一步发展,...

  • 机器学习算法(公式图解:LR&SVM)

    Logistic函数 可用牛顿迭代法/梯度下降法求解。随机梯度下降法:一次仅用一个样本点(的回归误差)来更新回归系...

网友评论

      本文标题:梯度下降法与牛顿法

      本文链接:https://www.haomeiwen.com/subject/hcfajqtx.html