—————整理自DeepLearning chapter8,主要是方便做算法的对比。
1.基础算法
1.1 随机梯度下降(SGD,Stochastic Gradient Descent)
随机梯度下降可以通过从数据生成分布中独立地抽取的m个样本组成的minibatch的平均梯度来无偏地估计梯度。
还有很多其他的点,比如SGD的收敛条件等,详情请参考原书。
1.2 动量SGD(SGD with momentum)
动量方法的提出至少在1964年,与原SGD相比,主要区别在于添加了速度v。
1.3 Nesterov动量SGD(SGD with Nesterov momentum)
Nesterov Momentum是2013年提出来的。
2.自适应学习率算法(Algorithms with Adaptive Learning Rates)
2.1.AdaGrad
2011年提出的,控制梯度方便有所创新。
2.2.RMSProp
RMSProp算法(Hinton,2012)通过将梯度累积更改为指数加权移动平均值,改进AdaGrad以使它在0非凸设置中表现更好。
还有添加动量因素的RMSP算法:
2.3.Adam
2014年提出,“Adam”源自“adaptive moments”。
3.二阶优化算法
3.1 牛顿法(Newton’s Method)
牛顿法是最常用的二阶优化算法。
3.2 共轭梯度法(Conjugate Gradients)