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

梯度下降法与牛顿法

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

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

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

    一、梯度下降

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

    二、牛顿法

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

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

    优缺点对比:

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

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

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

    拟牛顿法

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

    相关文章

      网友评论

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

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