首页 > 代码库 > 【转载】小谈导数、梯度和极值
【转载】小谈导数、梯度和极值
小谈导数、梯度和极值
[转载请注明出处] http://www.cnblogs.com/jerrylead
记得在高中做数学题时,经常要求曲线的切线。见到形如之类的函数,不管三七二十一直接求导得到,这就是切线的斜率,然后就得到了处的切线。
上大学又学习了曲面切线和法向量的求法,求偏导是法向量,然后套公式求出切线。
一个经典例子如下:
(来自web上某个《几何应用》ppt)
其中的向量n是F(x,y,z)的偏导数。
然而,这两者求法看似无关啊,中求得的是切线,然而下面的求偏导后却是法向量,为啥都是求导,差别这么大呢?切平面的方程为啥又是与法向量有关呢?
当然这些问题的问答都可以通过严格的数学推导完成。这里想从更加直白的角度来说明道理。
首先,法向量(梯度)是F(X)(其中X={x0,x1,x2,…xn}是n维向量)对各个分量求偏导后的结果,代表了F(X)在各个方向的变化率,整个法向量就是F(X)在各个方向上变化率叠加出来的向量。如对于一维的F(x)=,在x上导数是2x,意味着在x方向上是以2x的速度变化,比如当x=2时,F(x)变化率为4大于当x=1时(变化率为2)的变化率,法向量的方向只能是x方向,因为F(X)是一维。这里的F(X)称为隐函数,如我们平时使用的使用隐函数就可以表示成F(x,y)=f(x)-y,这样其实F(x,y)是二维的。至于为什么导数就是变化率,可以通过导数的定义就可以知道了(微小的dx变化引起多大的dy变化)。
那么我们明白了,隐函数F(X)的法向量就是F(X)对各个分量的偏导数的向量。那么为何中求得的是切线,而不是法向量?其实我们不能搞混了隐函数F(X)和。隐函数是一个函数,它的值根据X的取值不同而不同。而只是x和y之间满足的约束关系,如建立x-y坐标,两者的约束关系可以通过图形(直线、曲线等)来表示。比如我们可以用来表示一条抛物线,而且能够在x-y坐标系下画出来。而换用隐函数表示就是F(x,y)=,只有当F(x,y)等于一个给定值(比如0时),它才是一条抛物线,否则它只是一个函数,如果用z来代替F(x,y),那么F(x,y)其实是一个曲面,维度上升了1。我们对F(x,y)求偏导后的结果其实就是F(x,y)的值z的变化率。
说明F(x,y)的值究竟将在(x,y)的小范围能变化多少,这个变化率决定于x方向上的微小变换dx和y方向上微小变换dy的线性组合,而他们的系数就是偏导数。将dx和dy换成单位向量i和j就是法向量了。那么梯度也就反映了F(X)在某一点的变化率和变换方向。
说的有点绕口,简而言之,对于一个隐函数F(X),我们想知道在给定X附近F(X)的变化方向和大小。怎么去刻画?由于X的各个方向(x0,x1,x2…xn)上变化速率和方向都不同(比如在x0上以平方级别变化,在x1上以线性方式变化,这个要根据具体的表达式了),而我们想知道他们叠加在一块是怎么变化的。我们使用全微分公式(比如上面的,可以知道他们之间的叠加系数就是偏导数,叠加结果就是变化率,而方向就是x0,x1,x2…相应的变化方向i,j,k…等线性组合得到的方向。
回到为什么“中求得的是切线”的问题,其实这是最终结论了,是推导出来的。第一步我们将写成隐函数(这里的x,y都是实数了,上面的X是向量),。
然后求F对x的偏导得=
求F对y的偏导得-1。
即梯度是
由于切线和法向量是垂直的,因此切线和法向量内积为0。
设切线方向向量为(m,n),那么,即。
可见,切线斜率是。
回到上面蓝色图片中的曲面求切平面问题,求出某点的法向量后,在该点的切平面要满足两个条件,一是要过切点,而是要反映出该点的变化方向(这里不是该点F(X)值的变化方向,而是该点自己的变化方向)。然而该点的变化最终要反映出该点F(X)值的变化,也就是切平面的变化要反映出法向量的变化,而偏导数正是反映出了F(X)值的变化。因此切平面的偏导数与F(X)的偏导数是一样的。我们从蓝色图片中看到,切平面正是利用了F(X)的偏导数。
有上面的全微分公式,我们可以更好地理解极值,为什么常说函数取得极值的时候导数为0呢。假设一维情况,吧,要求极小值,两边微分后得,当x=0时,导数2x为0,取得极值。否则,如果x为正数,那么dx只需向左调整(dx<0),就能使F(x)值变小,如果x为负数,那么dx只需向右调整(dx>0),就能使F(x)变小。因此最后调整结果是x=0。对于二维情况,
的值在计算后会有正负值,但我们应该注意到dx可正可负,dy也可正可负,只要有一个不为0,那么通过调整dx,dy的正负号(也就是确定怎么移动x和y)就可以使的值变大变小。只有在偏导数都是0的情况下,无论如何调整dx和dy,都是0,取得极值。
以上只是一些个人浅显理解,目的是建立感性认识,会存在一些纰漏。
【转载】小谈导数、梯度和极值