随机梯度下降中的优化算法

1、动量法

加入历史梯度累积,作为下降方向。

随机梯度下降中的优化算法_第1张图片

2、Nesterov 加速梯度法

在之前的累积梯度上前进一步,根据当前情况进行修正。相较于动量法,增加了当前情况的修正。动量法容易在梯度的来回震荡中抵消一部分动量作用,Nesterov加速梯度法有效改进了不足之处。

随机梯度下降中的优化算法_第2张图片

3、Adagrad算法

以上两种动量法都是对不同的参数进行同样的调整,对于稀疏矩阵,往往一些参数更新频繁,另一些参数更新较少。对这些参数的更新需要做到高频更新参数步长较小,低频更新参数步长较大。Adagrad通过各个参数的历史梯度累积,来控制步长大小,在分母中添加了历史平方梯度和的开方。

随机梯度下降中的优化算法_第3张图片

4、Adadelta算法

Adadelta的提出由于两方面原因:1、adagrad学习率单调下降2、更新值的量纲与参数量纲不一致。针对原因1,adadelta将梯度平方累积值变为衰减平均值

 

针对原因2,在分子上增加参数更新平方的衰减平均值

 

最终更新如下:

 随机梯度下降中的优化算法_第4张图片

Adadelta由于加入历史参数更新的衰减均值,代替整学习率,所以不需要设置学习率。

5、adam算法的提出

Adam主要将动量法与自适应学习率算法相结合,既存储历史梯度累积,也计算历史梯度平方累积作为自适应学习率。

 随机梯度下降中的优化算法_第5张图片

由于初始化为0时,衰减率较小,因此加入修正项。

 随机梯度下降中的优化算法_第6张图片

最终更新公式为


你可能感兴趣的:(机器学习)