tensorflow Optimizer

class tf.train.GradientDescentOptimizer

梯度下降算法是用的最普遍的优化算法,不过梯度下降算法需要用到全部的样本,训练速度比较慢,但是迭代到一定次数最终能够找到最优解。tensorflow这里提供的GDO也相当于是SGD。


class tf.train.AdadeltaOptimizer


训练初中期,加速效果不错,很快


训练后期,反复在局部最小值附近抖动

这个函数低版本好像没有~训练很慢!

class tf.train.AdagradOptimizer



class tf.train.AdagradDAOptimizer


class tf.train.MomentumOptimizer



所以Momentum的想法很简单,就是多更新一部分上一次迭代的更新量,来平滑这一次迭代的梯度。从物理的角度上解释,就像是一个小球滚落的时候会受到自身历史动量的影响,所以才叫动量(Momentum)算法。这样做直接的效果就是使得梯度下降的的时候转弯掉头的幅度不那么大了,于是就能够更加平稳、快速地冲向局部最小点:

链接:https://zhuanlan.zhihu.com/p/22810533 

class tf.train.AdamOptimizer


本质上是带有动量项的RMSprop,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳.


特点:

结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点

对内存需求较小

为不同的参数计算不同的自适应学习率

也适用于大多非凸优化

 适用于大数据集和高维空间



class tf.train.FtrlOptimizer


class tf.train.ProximalGradientDescentOptimizer


class tf.train.ProximalAdagradOptimizer


class tf.train.RMSPropOptimizer




Reference:

http://sebastianruder.com/optimizing-gradient-descent/index.html 

https://zhuanlan.zhihu.com/p/22810533 

SGD,Adagrad,Adadelta,Adam,Adamax,Nadam 



作者:Persistently
链接:https://www.jianshu.com/p/e6e8aa3169ca
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值