随机梯度下降算法

https://www.zhihu.com/question/28728418


1. 定义

http://www.cnblogs.com/maybe2030/p/5089753.html

* 随机梯度下降方法能够收敛?

* 不足


2. 随机梯度下降的修正

2.1 动量法

http://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650720663&idx=3&sn=d9f671f77be23a148d1830448154a545&chksm=871b0de9b06c84ffaf260b9ba2a010108cca62d5ce3dcbd8c98c72c9f786f9cd460b27b496ca&mpshare=1&scene=2&srcid=1121mgll9exVL2Gia7trGTn7&from=timeline#wechat_redirect

  • 动量法,帮助sgd在相关方向加速前进,减少震荡。


2.2 Nesterov加速梯度法


2.3 Adagrad

Adagrad[3] 是一个基于梯度的优化算法,它的主要功能是:它对不同的参数调整学习率,具体而言,对低频出现的参数进行大的更新,对高频出现的参数进行小的更新。因此,他很适合于处理稀疏数据。

  • Adagrad 主要优势之一,是它不需要对每个学习率手工地调节。
  • Adagrad 地主要劣势,是他在分母上的项中积累了平方梯度和。因为每次加入的项总是一个正值,所以累积的和将会随着训练过程而增大。因而,这会导致学习率不断缩小,并最终变为一个无限小值——此时,这个算法已经不能从数据中学到额外的信息。而下面的算法,则旨在解决这个问题。

2.4 Adadelta 法

  • Adadelta 法 [6] 是 Adagrad 法的一个延伸,它旨在解决它学习率不断单调下降的问题。相比计算之前所有梯度值的平方和,Adadelta 法仅计算在一个大小为 的时间区间内梯度值的累积和。

2.5 adam法

适应性动量估计法(Adam)[15] 是另一种能对不同参数计算适应性学习率的方法。


2.6 RMSprop 法

  • RNN效果好

results matching ""

    No results matching ""