tensorflow中的优化器

梯度下降优化算法

1. 1批量梯度下降法BGD

  批量梯度下降法(Batch Gradient Descent,简称BGD)是梯度下降法最原始的形式,它的具体思路是在更新每一参数时都使用所有的样本来进行更新.
  
优点:全局最优解;易于并行实现;
缺点:当样本数目很多时,训练过程会很慢。

1.2. 随机梯度下降法SGD

  由于批量梯度下降法在更新每一个参数时,都需要所有的训练样本,所以训练过程会随着样本数量的加大而变得异常的缓慢。随机梯度下降法(Stochastic Gradient Descent,简称SGD)正是为了解决批量梯度下降法这一弊端而提出的。
  随机梯度下降是通过每个样本来迭代更新一次,如果样本量很大的情况(例如几十万),那么可能只用其中几万条或者几千条的样本,就已经将theta迭代到最优解了,对比上面的批量梯度下降,迭代一次需要用到十几万训练样本,一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次。但是,SGD伴随的一个问题是噪音较BGD要多,使得SGD并不是每次迭代都向着整体最优化方向。

优点:训练速度快;

缺点:准确度下降,并不是全局最优;不易于并行实现。

从迭代的次数上来看,SGD迭代的次数较多,在解空间的搜索过程看起来很盲目。

1.3. 小批量梯度下降法MBGD

  有上述的两种梯度下降法可以看出,其各自均有优缺点,那么能不能在两种方法的性能之间取得一个折衷呢?即,算法的训练过程比较快,而且也要保证最终参数训练的准确率,而这正是小批量梯度下降法(Mini-batch Gradient Descent,简称MBGD)的初衷。

tf.train.GradientDescentOptimizer

1.4. Adadelta算法

tf.train.AdadeltaOptimizer

1.5. Adagrad算法

tf.train.AdagradOptimizer

1.6. Momentum算法

tf.train.MomentumOptimizer

1.7. Adam算法

tf.train.AdamOptimizer

1.8. RMSProp算法

tf.train.RMSPropOptimizer

1.8.1算法原理

RMSprop 算法,全称是 root mean square prop 算法,通过引入衰减系数,使得每一回合都衰减一定比例,可以加速梯度下降;

算法原理参考链接

1.8.2算法的tensorflow实现

class tf.train.RMSPropOptimizer
Optimizer that implements the RMSProp algorithm.

tf.train.RMSPropOptimizer.init(learning_rate, decay, momentum=0.0, epsilon=1e-10, use_locking=False, name=’RMSProp’)
Construct a new RMSProp optimizer.

Args:
learning_rate: A Tensor or a floating point value. The learning rate.
学习率
decay: discounting factor for the history/coming gradient
衰减系数
momentum: a scalar tensor.
epsilon: small value to avoid zero denominator.
use_locking: If True use locks for update operation.
name: Optional name prefic for the operations created when applying gradients. Defaults to “RMSProp”.

参考:
1. https://blog.csdn.net/xierhacker/article/details/53174558
2. https://www.cnblogs.com/maybe2030/p/5089753.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值