近期的论文与实验提到了 SAGA优化方法 , 这里记录下来。
SGD (Stochastic Gradient Descent ) 随机梯度下降算法
对于目标函数:
目标函数优化步骤:
1.随机旋转索引j,即函数fj(x);
2.更新参数x,采用sgd公式为:
SAGA(STOCHASTIC VARIANCE REDUCTION METHODS) 随机方差缩减方法
方法出自论文:
Aaron Defazio, Francis Bach, Simon Lacoste-Julien: SAGA: A Fast Incremental Gradient Method With Support for Non-Strongly Convex Composite Objectives.
具体可参考:https://sklearn.apachecn.org/docs/master/2.html?h=saga
目标函数优化步骤:
1.随机旋转索引j,即函数fj(x);
2.对于上述目标函数,采用SAGA参数更新公式为:
SAGA代码:https://github.com/adefazio/point-saga
相比SGD,SAGA有完全不同的收敛性.对于强凸的问题,SAGA可以线性收敛,即计算量为O(log(1/k)),而在现有的随机方法中,例如SGD需要计算量为O(1/k),都未达到线性收敛.
图中Incremetal Gradient为SAGA方法.由图可知,在训练过程中,采用SAGA梯度下降法可以使模型快速收敛.