梯度下降法

梯度下降法（）是一个一阶最优化算法，通常也称为最陡下降法，但是不該與近似積分的最陡下降法（）混淆。
要使用梯度下降法找到一个函数的局部极小值，必须向函数上当前点对应梯度（或者是近似梯度）的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索，则会接近函数的局部极大值点；这个过程则被称为梯度上升法。

描述

梯度下降方法基于以下的观察：如果实值函数在点处可微且有定义，那么函数在点沿着梯度相反的方向    下降最多。

因而，如果

对于一個足够小数值時成立，那么。

考虑到这一点，我们可以从函数的局部极小值的初始估计出发，并考虑如下序列
使得

。

因此可得到

如果顺利的话序列收敛到期望的局部极小值。注意每次迭代步长可以改变。

右侧的图片示例了这一过程，这里假设定义在平面上，并且函数图像是一个碗形。蓝色的曲线是等高线（水平集），即函数为常数的集合构成的曲线。红色的箭头指向该点梯度的反方向。（一点处的梯度方向与通过该点的等高线垂直）。沿着梯度下降方向，将最终到达碗底，即函数局部極小值的点。

例子
梯度下降法处理一些复杂的非线性函数会出现问题，例如Rosenbrock函數

 

其最小值在处，数值为。但是此函数具有狭窄弯曲的山谷，最小值就在这些山谷之中，并且谷底很平。优化过程是之字形的向极小值点靠近，速度非常缓慢。

下面这个例子也鲜明的示例了"之字"的上升（非下降），这个例子用梯度上升（非梯度下降）法求的局部极大值（非局部极小值）。

缺点
梯度下降法的缺點包括：
靠近局部極小值时速度减慢。
直線搜索可能會產生一些問題。
可能會“之字型”地下降。

上述例子也已体现出了这些缺点。

参阅

 共轭梯度法
 
 最优化

 线搜索
 反向傳播算法
 量子退火

参考文献

 Mordecai Avriel (2003). Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN 0-486-43227-0.
 Jan A. Snyman (2005). Practical Mathematical Optimization: An Introduction to Basic Optimization Theory and Classical and  New Gradient-Based Algorithms. Springer Publishing. ISBN 0-387-24348-8

外部链接 
 Interactive examples of gradient descent and some step size selection methods 
 Using gradient descent in C++, Boost, Ublas for linear regression 

數學最佳化
一阶方法
优化算法和方法
梯度法