梯度下降优化算法综述
Posted 一只鸟的天空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了梯度下降优化算法综述相关的知识,希望对你有一定的参考价值。
梯度下降优化算法综述
该文翻译自An overview of gradient descent optimization algorithms。
总所周知,梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。几乎当前每一个先进的(state-of-the-art)机器学习库或者深度学习库都会包括梯度下降算法的不同变种实现。但是,它们就像一个黑盒优化器,很难得到它们优缺点的实际解释。
这篇文章旨在提供梯度下降算法中的不同变种的介绍,帮助使用者根据具体需要进行使用。
这篇文章首先介绍梯度下降算法的三种框架,然后介绍它们所存在的问题与挑战,接着介绍一些如何进行改进来解决这些问题,随后,介绍如何在并行环境中或者分布式环境中使用梯度下降算法。最后,指出一些有利于梯度下降的策略。
梯度下降算法是通过沿着目标函数
J(θ)
参数
θ∈ℜ
的梯度(一阶导数)相反方向
−∇θJ(θ)
来不断更新模型参数来到达目标函数的极小值点(收敛),更新步长为
η
。详细的介绍参见:梯度下降。
三种梯度下降优化框架
有三种梯度下降算法框架,它们不同之处在于每次学习(更新模型参数)使用的样本个数,每次更新使用不同的样本会导致每次学习的准确性和学习时间不同。
- 全量梯度下降(Batch gradient descent)
每次使用全量的训练集样本来更新模型参数,即:
θ=θ−η⋅∇θJ(θ)以上是关于梯度下降优化算法综述的主要内容,如果未能解决你的问题,请参考以下文章