机器学习五要素 optimization
作者:lambdaji
机器学习的终极问题都会转化为目标函数的优化问题,借用文献[8]中的一幅图来看一下优化算法的发展脉络。
本文仅讨论工业界常用的sgd及其variants之间的区别与联系 GD/SGD/Momentum/Nesterov/SVRG/Adagrad/Adadelta/RMSprop/Adam/Downpour SGD/Hogwild!
SGD的变种主要围绕3个方向展开
#1 优化learn_rate → 自适应学习率
--Annealing 全局共享learn_rate 所有的参数以相同的幅度进行更新
* 随步数衰减
* 指数衰减
* 1/t衰减
--Adagrad 参数独立learn_rate 更新幅度取决于参数本身
#2 优化梯度方向 → 方向感,减小震荡
--动量Momentum,Nesterov
--SAG/SVRG/...
#3 并行化 → Scalable
--Hogwild!
--Downpour SGD
参考文献:
[1] http://sebastianruder.com/optimizing-gradient-descent/?url_type=39&object_type=webpage&pos=1
[2] http://www.cnblogs.com/neopenx/p/4768388.html
[5] https://zhuanlan.zhihu.com/p/21798784
[6] https://zhuanlan.zhihu.com/p/21539419
[7] http://www.datakit.cn/blog/2016/07/04/sgd_01.html
[8] 王太峰-浅谈分布式机器学习算法和工具.pdf
[9] A Stochastic Gradient Method with an Exponential Convergence Rate for Finite Training Sets
[10] Accelerating Stochastic Gradient Descent using Predictive Variance Reduction
[11] A Fast Incremental Gradient Method With Support for Non-Strongly Convex Composite Objectives
[12] Less than a Single Pass Stochastically Controlled Stochastic Gradient Method
2 Comments