梯度下降法又称最速下降法,是求解无约束最优化问题的一种最常用的方法,在对损失函数最小化时经常使用。梯度下降法是一种迭代算法。选取适当的初值x(0),不断迭代,更新x的值,进行目标函数的极小化,直到收敛。由于负梯度方向时使函数值下降最快的方向,在迭代的每一步,以负梯度方向更新x的值,从而达到减少函数值的目的。提到梯度下降法,就不得不提到方向导数与梯度了。
1.方向导数
设函数z=f(x,y)在点p(x,y)的某一邻域U(P)内有定义,自点P引射线l。设x轴正向到射线l的转角为φ,并设P'(x+Δx, y+Δy)为l上的另一个点且P'也在邻域U(P)内。
考虑若,若此极限存在,则称此极限为函数f(x,y)在点P沿方向l的方向导数,记作,即
2.方向导数与偏导数的关系
定理:如果函数z=f(x,y)在点p(x,y)是可微分的,那么函数在该点沿任一方向l的方向导数都存在,且有,其中φ为x轴到方向l的转角。
简要证明:
由此可将该定理推向更高维的函数,例如对于三元函数u=f(x,y,z),定义它在空间一点P(x,y,z)向某方向(设方向的方向角为α,β,γ)的方向导数如下
,
故有
3.梯度
设函数z=f(x,y)在平面区域D内有一阶连续偏导数,则对于区域D内的任一点p(x,y)及任一方向l,有
其中向量称为函数f(x,y)在点P的梯度,记作gradf(x,y)。
4.梯度与方向导数
设是与l方向相同的单位向量,则
5.为什么梯度方向是使函数值增加最快的方向?(负梯度方向是使函数值下降最快的方向?)
方向导数何时取得最大值呢?即为等于1时,即单位向量与梯度向量同向时,方向导数最大,也就是单位步伐,函数值朝这个方向变化最快。同理可知与梯度方向反向时,函数值下降最快。
结论:函数在某点的梯度是这样一个向量,它的方向与取得最大方向导数的方向一致,而它的模为方向导数的最大值。所以可以说,沿着梯度方向,方向导数为正,函数沿着这个方向变化是增加最快的方向。