梯度下降发

筅森魡賤 提交于 2019-11-30 01:34:07

梯度下降法(gradient descent)或最速下降法(steepest descent)是求解无约束最优化问题的一种最常用的方法。梯度下降法是迭代算法,每一步需要求解目标函数的梯度向量。

假设f(x)是Rn上具有一阶连续偏导数的函数,要求解的无约束最优化问题是

x*表示目标函数f(x)的极小点。

提梯度下降法是一种迭代算法。选取适当的初值x(0),不断迭代,更新x值,进行目标函数的极小化,直到收敛。由于负梯度方向是使函数值下降最快的方向,在迭代的每一步,以负梯度方向更新x的值,从而达到减少函数值的目的。

由于f(x)具有一阶连续偏导数,若第k次迭代值为x(k),则可将f(x)在x(k)附近进行一阶展泰勒开:

这里,f(x)在x(k)的梯度。

 求出第k+1次迭代值x(k+1)

 

 

其中,pk是搜索方向,取负梯度方向 ,λk是步长,由一维搜索确定,即λk使得:

 

 

 

 

梯度下降算法如下:

输入:目标函数 f(x),梯度函数 ,计算精度ε

 

 

输出:f(x)的极小点x*

(1)取初值x(0)R,置k=0

(2)计算f(x(k))

(3)计算梯度gk=g(x(k)),当||gk||<ε时,停止迭代,令x*=xk

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!