最陡下降法又称梯度下降法是一个一阶最优化算法。要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。
最陡下降法(steepest descent method)又称梯度下降法(英语:Gradient descent)是一个一阶最优化算法。
要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法。
描述
梯度下降方法基于以下的观察:如果实值函数
因而,如果
对于
,
因此可得到
如果顺利的话序列
图片示例了这一过程,这里假设
算法框图
算法框图如下:
例子
梯度下降法处理一些复杂的非线性函数会出现问题,例如 Rosenbrock 函数:
其最小值在(x,y)=(1,1)处,数值为 0,但是此函数具有狭窄弯曲的山谷
,最小值(x,y)=(1,1)就在这些山谷之中,并且谷底很平。优化过程是之字形的向极小值点靠近,速度非常缓慢。
缺点
梯度下降法的缺点包括:
靠近极小值时速度减慢;
直线搜索可能会产生一些问题;
可能会“之字型”地下降。