优化基础--梯度、梯度下降、牛顿法

16 篇文章 1 订阅
2 篇文章 0 订阅

梯度

首先来看单变量连续函数导数的定义:
                                                                 

它表示函数f(x)在某点的切线斜率或者变化率。对于多变量的连续函数,我们则关注它的偏导数。我们以二元函数f(x,y)为例,

  • 表示y保持不变,f(x,y)沿x轴的变化率;
  • 表示x保持不变,f(x,y)沿着y轴的变化率。
  • f(x,y)沿着方向u=icos\theta +jsin\theta的方向导数为:    

                            

       记【梯度】、【方向向量】,则:

                                                        

                                                         

显然,当梯度方向与方向向量的方向平行(同向或者反向)时,方向导数的取大值或者最小值。具体地,梯度方向[同向]是函数f(x)增长最快的方向负梯度方向[反向]则是函数f(x)减速最快的方向

梯度下降法

梯度下降法(Gradient descent)又称为最速下降法(Steepest descent),是求解无约束最优化问题的一种常用的方法,在机器学习、深度学习领域有着广泛的应用。具体来说,假设f(x)是定义在R^{n}上具有一阶连续偏导数的函数,对于如下的优化问题:

                                                                                   

如果其存在closed-form解,则直接求解即可;否则一般可以采用梯度下降法进行求解,其更新过程为:

                                                                          

牛顿法

  • 方程求解

并非所有的方程都存在求根公式,这种情况下可以利用牛顿法,通过迭代的方式来获取方程的数值解。假定我们要求解方程 :

                                                                                   

其中f(x)是关于x的至少一阶可导的函数,它在点x0处的一阶泰勒展开式为:

                                              

方程f(x)=0,若忽略高阶小项,则等价于求解:

                                     ,  

                                                                 

  • 优化问题

假设f(x)是定义在R^{n}上关于x的至少二阶可导的函数,对于如下的优化问题:

                                                                                   

它在点x0处的二阶泰勒展开式为:

                                    

其中,H表示Hessian矩阵,其第i行第j列的元素为:

                                                                                       

函数f(x)在定义域内存在极值的必要条件是:存在一点x,使得f '(x)=0。于是,若f(x)在定义域内某点取得极值,则必有:

                                     

Newton法迭代次数更少?

                       | 红色:牛顿法; 绿色:梯度下降法 

  • 从几何上说,牛顿法就是用一个二次曲面去拟合你当前所处位置的局部曲面,而梯度下降法是用一个平面去拟合当前的局部曲面,通常情况下,二次曲面的拟合会比平面更好,所以牛顿法选择的下降路径会更符合真实的最优下降路径。
  • 从直观理解,梯度下降法每次只从当前所处位置选一个坡度最大的方向走一步,牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑走了一步之后,坡度是否会变得更大。所以,可以说牛顿法比梯度下降法看得更远一点,能更快地走到最底部。
  • 从算法收敛的角度,牛顿法是二阶收敛,梯度下降是一阶收敛,所以牛顿法就更快!

参考文献

[1]. https://zhuanlan.zhihu.com/p/37524275

[2]. https://www.zhihu.com/question/19723347

[3]. https://en.wikipedia.org/wiki/Newton%27s_method

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReLuJie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值