离线优化器

点击上方“ 大数据与人工智能 ”,“星标或置顶公众号”
第一时间获取好内容
640?wx_fmt=gif
640?wx_fmt=jpeg

作者丨stephenDC
编辑zandy
这是作者的第18篇文章

导语

机器学习中模型参数的求解,是通过优化器实现的 ,因此优化器也是机器学习问题的重要组成部分。不同的优化器,实现原理不同,适用场景也不同。粗略来分,优化器有适合离线使用的和适合在线使用的。

本文从梯度下降的导出开始,介绍一下离线常用的优化器,其主要内容来自于Sebastian Ruder的一篇综述。原文是英文写的,内容非常详尽,有想了解更多的可以点击文末的阅读原文。

梯度下降的导出

本文提到的所有优化器,都基于梯度下降。 因此,这里先推导一下梯度下降,并说明其性质。
        640?wx_fmt=png
       640?wx_fmt=png

Note: 梯度下降基于目标函数的导数这一局部性质,因此梯度下降只在局部是有效的。想象一下,有一个盲人,想要下山。因为是盲人,他无法看到地形的全貌,但他手里有一台仪器,可以得到任意一处位置的地形,因此可以知道在某个点往哪个方向高度是在减小的。另外,我们假设他可以无视地形,也就是说他在移动过程中无论遇到悬崖还是峭壁,都可以不受影响地往这个方向移动任意距离。这就是所谓的梯度下降了,而我们想要解决的问题是,怎么样可以让这位盲人最快地到达山底?      、

梯度下降的不同形式

梯度下降在具体使用的时候,根据每次使用的样本数量多少,分为以下三种形式。批量梯度下降,使用全部样本计算梯度,然后更新参数,稳定性好但计算量太大;随机梯度下降,一次只使用一个样本,优点是快,缺点是稳定性差;小批量梯度下降,一次使用n个样本,是两者的折中。

 

       640?wx_fmt=png

     

梯度下降的不足

1.选择一个合适的学习率很难。学习率太大,优化的目标函数容易发散;太小,收敛很慢。

2.有人用退火策略逐渐减小学习率。但这需要提前定义策略,并且没有任何策略是可以适用各种不同的数据集的。

3.模型中不同的参数,对应的特征在样本中出现的频次差异很大,因此需要不同的学习率。

4.梯度下降的更新完全依赖梯度,因此在梯度几乎为零的鞍点,参数将无法更新。
     

基于梯度下降的优化器

Momentum

       640?wx_fmt=png       640?wx_fmt=png

640?wx_fmt=png
      
Nesterov accelerated gradient

       640?wx_fmt=png

640?wx_fmt=png

Adagrad

             640?wx_fmt=png

640?wx_fmt=png

Adadelta

               640?wx_fmt=png

640?wx_fmt=png

RMSprop

               640?wx_fmt=png

640?wx_fmt=png

Adam

       640?wx_fmt=png

640?wx_fmt=png

AdaMax

       640?wx_fmt=png

640?wx_fmt=png
    

Nadam (NAG+Adam) 

     640?wx_fmt=png

       640?wx_fmt=png

 
640?wx_fmt=png

AMSGrad (Adam+Max)
                                          640?wx_fmt=png
 
640?wx_fmt=png

小结

本文是对离线优化器的简单介绍,希望对大家能有所帮助。个中疏漏和错误之处,还望大家不吝批评指正。下篇文章会接着介绍一下在线常用的优化器,敬请关注。


-end-

相关内容阅读
1.
2.
3.
4.
5.
6.
7.
8.
9
10. 
11. 
640?wx_fmt=png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

数据与智能

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

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

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

打赏作者

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

抵扣说明:

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

余额充值