关于梯度下降的一下技巧
1. 调整学习率
若学习率太大,可能会错过最小值;若学习率太小,有可能收敛速度太慢。
可变学习率
为了让梯度下降可以收敛到最小值,一般来说学习率要跟随迭代次数变小。一种常见的做法是让
Adagrad
Adagrad 是一种常用的可变学习率的做法,它还考虑了历史梯度均值。
Adagrad 实际上是考虑了历史梯度造成的影响。如果再考虑损失函数对参数的二阶微分的话,可以更加准确地算出合适的学习率,例如 Adem,这些以后再说;
2. 随机梯度下降(SGD)
随机选取一个样本,只考虑这个样本产生的梯度来更新参数,使用随机梯度下降的速度更快,但有可能收敛不到最小点。
3. 特征缩放(Feature Scaling)
将特征都缩放到一个近似的区间,可以消除量纲对梯度的影响,有效提高迭代效率。