- 在一般的梯度下降法中,对于每一个参数的训练都使用了相同的学习率α。Adagrad算法能够在训练中自动的对学习率进行调整,对于出现频率较低参数采用较大的α更新;相反,对于出现频率较高的参数采用较小的α更新。
- 因此,Adagrad非常适合处理稀疏数据。
- Adagrad在每轮训练中对每个参数θi的学习率进行更新(将每一个参数的每一次迭代的梯度取平方累加再开方,用基础学习率除以这个数),参数更新公式如下:
- Gt为对角矩阵,每个对角线位置i,i为对应参数θi从第1轮到第t轮梯度的平方和。ϵ是平滑项,用于避免分母为0。
- Adagrad的缺点是在训练的中后期,分母上梯度平方的累加将会越来越大,从而梯度趋近于0,使得训练提前结束。