0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习优化算法中梯度下降,牛顿法和拟牛顿法的优缺点详细介绍

Dbwd_Imgtec 来源:未知 作者:易水寒 2018-08-04 11:40 次阅读

1、梯度下降法

梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解。一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的。

梯度下降法的优化思想:用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。

缺点:

靠近极小值时收敛速度减慢,求解需要很多次的迭代;

直线搜索时可能会产生一些问题;

可能会“之字形”地下降。

2、牛顿法

牛顿法最大的特点就在于它的收敛速度很快。

优点:二阶收敛,收敛速度快;

缺点:

牛顿法是一种迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算比较复杂。

牛顿法收敛速度为二阶,对于正定二次函数一步迭代即达最优解。

牛顿法是局部收敛的,当初始点选择不当时,往往导致不收敛;

二阶海塞矩阵必须可逆,否则算法进行困难。

关于牛顿法和梯度下降法的效率对比:

从本质上去看,牛顿法是二阶收敛,梯度下降是一阶收敛,所以牛顿法就更快。如果更通俗地说的话,比如你想找一条最短的路径走到一个盆地的最底部,梯度下降法每次只从你当前所处位置选一个坡度最大的方向走一步,牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,可以说牛顿法比梯度下降法看得更远一点,能更快地走到最底部。(牛顿法目光更加长远,所以少走弯路;相对而言,梯度下降法只考虑了局部的最优,没有全局思想。)

根据wiki上的解释,从几何上说,牛顿法就是用一个二次曲面去拟合你当前所处位置的局部曲面,而梯度下降法是用一个平面去拟合当前的局部曲面,通常情况下,二次曲面的拟合会比平面更好,所以牛顿法选择的下降路径会更符合真实的最优下降路径。

3、拟牛顿法

拟牛顿法的本质思想是改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺陷,它使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂度。

拟牛顿法和最速下降法一样只要求每一步迭代时知道目标函数的梯度。通过测量梯度的变化,构造一个目标函数的模型使之足以产生超线性收敛性。这类方法大大优于最速下降法,尤其对于困难的问题。另外,因为拟牛顿法不需要二阶导数的信息,所以有时比牛顿法更为有效。如今,优化软件中包含了大量的拟牛顿算法用来解决无约束,约束,和大规模的优化问题。

4、小结

机器学习中的无约束优化算法,除了梯度下降以外,还有前面提到的最小二乘法,此外还有牛顿法和拟牛顿法。

梯度下降法和最小二乘法相比,梯度下降法需要选择步长,而最小二乘法不需要。梯度下降法是迭代求解,最小二乘法是计算解析解。如果样本量不算很大,且存在解析解,最小二乘法比起梯度下降法要有优势,计算速度很快。但是如果样本量很大,用最小二乘法由于需要求一个超级大的逆矩阵,这时就很难或者很慢才能求解解析解了,使用迭代的梯度下降法比较有优势。

梯度下降法和牛顿法/拟牛顿法相比,两者都是迭代求解,不过梯度下降法是梯度求解,而牛顿法/拟牛顿法是用二阶的海森矩阵的逆矩阵或伪逆矩阵求解。相对而言,使用牛顿法/拟牛顿法收敛更快。但是每次迭代的时间比梯度下降法长。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 优化算法
    +关注

    关注

    0

    文章

    35

    浏览量

    9611
  • 函数
    +关注

    关注

    3

    文章

    3866

    浏览量

    61308
  • 机器学习
    +关注

    关注

    66

    文章

    8116

    浏览量

    130548

原文标题:机器学习优化算法:梯度下降、牛顿法、拟牛顿法

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    牛顿环实验

    大的凸透镜和一个平面玻璃相接触,用白光照射时,其接触点出现明暗相间的同心彩色圆环,用单色光照射,则出现明暗相间的单色圆环。这是由于光的干涉造成的,这种光学现象被称为“牛顿环”。实验原理 仪器介绍实验任务 实验方法数据处理 
    发表于 12-05 15:52

    matlab牛顿迭代全解

    非线性方程(或方程组)问题可以描述为求 x 使得f(x) = 0。在求解非线性方程的方法牛顿迭代是求非线性方程(非线性方程组)数值解的一种重要的方法。牛顿是微积分创立者之一,微积
    发表于 03-08 16:22

    分享一个自己写的机器学习线性回归梯度下降算法

    单变量线性回归算法,利用Batch梯度梯度下降算法迭代计算得到误差最小的代价函数theta0,theta1。调节
    发表于 10-02 21:48

    机器学习新手必学的三种优化算法牛顿梯度下降法、最速下降法)

    转换的算法复杂度是非常高的(O(n³)),因此牛顿在这种情形下并不常用。梯度下降梯度
    发表于 05-07 08:30

    基于牛顿迭代的FPGA定点小数计算

    倒数运算分为这两个步骤则需要更多的时间开销和空间开销。而采用常规的浮点运算单元(FPU)来求解的话,同样需要很长的计算时间。本文介绍一种基于牛顿迭代(又称Newton-Raphson算法
    发表于 07-18 07:33

    梯度下降法、牛顿牛顿它们的联系与区别是什么

    梯度下降法、牛顿牛顿,浅谈它们的联系与区别
    发表于 05-21 11:06

    约束优化问题大致分为哪几类

    一、算法原理之前我们了解过的算法大部分都是无约束优化问题,其算法有:黄金分割法,牛顿
    发表于 08-17 08:09

    MATLAB多维极值之单纯形算法原理

    一、算法原理1、问题引入在之前讲解过的多维极值的算法(最速下降法、牛顿、共轭
    发表于 08-17 09:24

    等厚干涉及其应用—牛顿环、劈尖

    教学章节:  实验  等厚干涉及其应用——牛顿环、劈尖教学内容:1、介绍“等厚干涉及其应用——牛顿环、劈尖”实验的实验原理       &
    发表于 12-03 19:29 0次下载

    机器学习:随机梯度下降和批量梯度下降算法介绍

    随机梯度下降(Stochastic gradient descent) 批量梯度下降(Batch gradient descent) 梯度
    发表于 11-28 04:00 8289次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>:随机<b class='flag-5'>梯度</b><b class='flag-5'>下降</b>和批量<b class='flag-5'>梯度</b><b class='flag-5'>下降</b><b class='flag-5'>算法</b><b class='flag-5'>介绍</b>

    一文看懂常用的梯度下降算法

    编辑:祝鑫泉 一 概述 梯度下降算法( Gradient Descent Optimization )是神经网络模型训练最常用的优化算法。对
    发表于 12-04 18:17 1542次阅读

    牛顿环形成的原理是什么_牛顿环原理和分析

    本文首先阐述了牛顿环的概念与牛顿环的产生机理,其次介绍了实际生产中牛顿环产生的地方与原因分析及分析了如何测算预防牛顿环产生的设计参数,最后
    的头像 发表于 03-13 11:07 12.5w次阅读
    <b class='flag-5'>牛顿</b>环形成的原理是什么_<b class='flag-5'>牛顿</b>环原理和分析

    牛顿环的应用有哪些

     牛顿环,又称“牛顿圈”。在光学上,牛顿环是一个薄膜干涉现象。光的一种干涉图样,是一些明暗相间的同心圆环。例如用一个曲率半径很大的凸透镜的凸面和一平面玻璃接触,在日光下或用白光照射时,可以看到接触点为一暗点,其周围为一些明暗相间
    的头像 发表于 03-13 18:04 4.5w次阅读

    机器学习算法总结 机器学习算法是什么 机器学习算法优缺点

    机器学习算法总结 机器学习算法是什么?机器
    的头像 发表于 08-17 16:11 1069次阅读

    python牛顿迭代法

    与x轴的交点处得到近似解。通过不断迭代切线与x轴的交点,可以逐渐接近方程的解。牛顿迭代法在数学和工程领域有广泛的应用,如求根、优化等问题。 牛顿迭代法的核心思想是使用切线来逼近曲线。具体来说,对于一个方程f(x)=0,我们先
    的头像 发表于 11-21 15:06 453次阅读