梯度下降法 (一): 方向导数 和 梯度

方向导数和梯度在高等数学偏导数那一部分提到,两者相互关联,可能会弄混,简单来说方向导数是一个值而梯度是一个向量。了解梯度的概念可以在以后的机器学习或者深度学习模型优化用到梯度下降时更容易理解,接下来让我们看看一些关于方向导数和梯度的细节。

一、方向导数

    对于多元函数,如果说偏导数表示的是多元函数在沿坐标轴的变化率,那么可以说方向导数是沿着任意一指定方向的变化率,不一定是沿着坐标轴。

    这里给出方向导数的数学表达式:

                                   

    看起来这个公式很吓人,其实其中,对于L 的单位向量是e=(cos α,cos β),而这正表示函数 f 沿着 L 方向的变化率。当我们让e=(1,0)时上述式子其实是 f 对于 x 的偏导数,即沿着 x 轴的变化率,而当让e=(0,1)时,上述式子便是 f 对于 y的偏导数,即沿着 y 轴的变化率(读者可以自行验证)。

     明白了方向导数表示的意义,那么方向导数怎么求呢?很简单的一个式子,对于二元函数,给出求方向导数的公式:

                                   

      解释一下这个式子,方向导数等于函数在 x 处的偏导数乘以单位向量的 x 部分加上在 y 处的偏导乘以单位向量的 y 部分,得到的值就是方向导数。从中也可以看出要求方向导数要先求它在 x 和 y 的偏导数,然后再求它方向的单位向量,最后做乘积加和得到结果。

 

二、梯度

    看完方向导数之后接下来看梯度是怎么一回事。在二元函数的情形下,如果函数 f(x,y) 具有一阶连续偏导,对于函数任意一点  都有这样一个向量:,那么这个向量就称为f(x,y)在 p 这一点的梯度。

记作

    可以通过公式直观地看方向导数和梯度的关系:

                                     

   当 Θ = 0 时,e 与梯度方向相同时,方向导数最大,函数增加最快

   当 Θ = pi 时,e 与梯度方向相反时,方向导数最小,函数减少最快

   当 Θ = pi/2 时,e 与梯度方向垂直时,方向导数为0, 函数变化率为零

 

三、总结

    其实现在可以知道,方向导数是函数在各个方向的斜率,而梯度是斜率最大的那个方向,梯度的值是方向导数最大的值。因此我们如果沿着梯度反方向能够下降的最快。

你可能感兴趣的:(math,basis)