比较 牛顿法与梯度下降法

这里主要是对比两者不同,和优缺点,具体的两者的推导过程可以参考https://blog.csdn.net/weixin_44467105/article/details/104841966

一.对于一阶导和二阶导的理解。
网上大部分都是说由于牛顿法用了二阶导,而梯度下降算法用了一阶导,所以牛顿法更快,基本都没说具体原因,这里我结合下自己对于数学的理解,谈谈对于这个点的理解。
梯度下降算法也被称为“最速下降”,顾名思义就是因为他的下降速度很快,因为它是沿着梯度的方向,意思就是沿着变化速度最快的方向,所以收敛速度比较快。
这也就是所谓梯度下降算法的一阶导数的作用。
但是相对于牛顿法来说,牛顿法不仅考虑一阶导数而且采用了二阶导数,个人理解这里的含义就是不仅考虑到下降最快的方向(一阶导数),而且考虑到更新之后的梯度的变化幅度(二阶导数)。
所以牛顿法的收敛速度应该是比梯度下降算法更快的。

二.为什么说Hessian矩阵要正定.
牛顿法的目标是求极小值,对于极小值点我们要求一阶导数为0,二阶导数大于零,同时满足这两个条件才是极小值点,这是从数学上的定义,我们用牛顿法做迭代时,公式的得出就是假设一阶导数为0的(具体什么个公式可以看上面链接,那里有推导过程),所以我们还需要二阶导大于0。当Hessian矩阵正定时,我们就可以得出X(转置)HX,这个大于,这个东西一定是大于0的,因为正定矩阵的条件就是XHX>0,(H为正定矩阵,这里前面的X实际是转置)。

三.优缺点对比
牛顿法优点:收敛速度快

牛顿法缺点:
1.需要计算Hessian的逆矩阵,计算量比较大,而且是每次迭代都要计算
2.牛顿法是局部收敛的

梯度下降算法优点:对于凸函数问题可以全局最优

梯度下降算法缺点:收敛比较慢

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值