梯度下降发
作者:互联网
梯度下降法(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)∈Rn ,置k=0
(2)计算f(x(k))
(3)计算梯度gk=g(x(k)),当||gk||<ε时,停止迭代,令x*=xk
标签:函数,迭代,梯度,下降,算法,梯度方向 来源: https://www.cnblogs.com/loveEunha/p/11544131.html