[转载请注明出处] 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,取得极值。

以上只是一些个人浅显理解,目的是建立感性认识,会存在一些纰漏。

小谈导数、梯度和极值相关推荐

  1. PHP的echo和print小谈

    自学php快2个多月了.学着做点东西,基本函数用的还凑合,用help点开加search找.基本没问题 不过那个php主页的说明实在是很模糊,很多参数说完了还是看不懂,有实践才有真理.这点到哪里都没有错 ...

  2. HTTP的⼏种请求⽅法及⽤途小谈(面试)

    HTTP的⼏种请求⽅法及⽤途小谈(面试) 1.GET ⽅法 其目的发送⼀个请求来取得服务器上的某⼀资源. 2.POST ⽅法 向 URL 指定的资源提交数据或附加新的数据. 3.PUT ⽅法 跟 PO ...

  3. 日常小工具使用经验小谈

    日常小工具使用经验小谈 随时补充-- 1.什么PDF阅读器最好用? 知乎上总结推荐 福昕阅读器(Foxit Reader) Sumatra PDF PDFelement 轻快PDF阅读器 2.如何下载 ...

  4. 我们需要一颗强劲的心脏--小谈机房建设工程

    已发表在<网管员世界>   转载支持,批评更支持,另投就不支持喽!   我们需要一颗强劲的心脏<?xml:namespace prefix = o ns = "urn:sc ...

  5. 动手学深度学习——基础优化算法梯度下降,小批量随机梯度下降

    一.梯度下降算法 挑选一个初始值w0: 重复迭代参数t=1,2,3: 在接下来不断的更新w0,使它接近最优解: 具体来说,法则如下: wt等于wt的上一时刻减去η乘以损失函数关于wt的上一时刻的梯度. ...

  6. 小批量随机梯度下降法

    文章目录 写在前面 小批量随机梯度公式 代码 参考文献 写在前面 小批量随机梯度下降法(Mini-batch Stochastic Gradient Decent)是对速度和稳定性进行妥协后的产物 小 ...

  7. Delphi 小谈之TList 篇

    Delphi 小谈之TList 篇 2010年08月23日 看了这里标题,大家可能以为我会谈TListBox控件,那就错了.我要谈的是Delphi提供给我们的具有列表性质的类:TstringList. ...

  8. java jquery 框架_[Java教程]小谈Jquery框架

    [Java教程]小谈Jquery框架 0 2013-12-23 18:01:16 现在Jquery框架对于开发人员基本上是无人不知,无人不晓了,用起来十分的方便,特别是选择器十分强大,提高了我们的开发 ...

  9. 字体小谈:CreateFont和LOGFONT

    字体小谈:CreateFont和LOGFONT 2014年02月24日 ⁄ 综合 ⁄ 共 3719字 ⁄ 字号 小 中 大 ⁄ 评论关闭 typedef struct tagLOGFONT { LON ...

最新文章

  1. MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet
  2. python学习笔记 --- print (输出到文件 file)
  3. sqlplus执行mysql_在SQLPLUS启动和停止Oracle数据库
  4. 怎么查看python是32位还是64位的
  5. iOS开发点击UIButton实现UIView的旋转
  6. Demosaic算法学习
  7. 太强了!仿京东电商项目终于开源了~
  8. java jdbc jar包_通过 Spring 框架如何进行JDBC操作呢?
  9. C++11::遍历tuple中的元素
  10. Linux内核基础设施
  11. pythotn基础篇——条件分支与循环--4
  12. 免费好用的视频格式转换器是哪个呢
  13. Windows 10桌面空白处鼠标右键转圈
  14. [Python从零到壹] 四十二.图像处理基础篇之图像金字塔向上取样和向下取样
  15. 求职面试自我介绍技巧
  16. JAVA 16方格排序游戏
  17. 虚拟机包OVF和OVA的区别
  18. Android 手机上利用adb shell模拟手机相关操作
  19. 25道Python工程师面试必备知识点!
  20. PDF修改目录和跳转

热门文章

  1. Windows vbs脚本获取系统信息
  2. 深度学习在windows和linux,【AI白身境】深度学习从弃用windows开始
  3. 我的世界html如何安装mod,网易我的世界怎么装mod(mod安装详细教程)
  4. 计算机网络全部实验,计算机网络实验(全).doc
  5. 【标准】:ISO26262
  6. 别说了,世界那么大我想去看看!(最短路径-迪杰斯特拉算法弗洛伊德算法)
  7. java xml转json数组,java-如何将单个子xml元素转换为Json Array
  8. css-loader、style-loader、sass-loader作用
  9. Java写家庭记账软件
  10. java语音_JAVA 实现语音播报