导数和梯度,切线和法向量

2024-02-18 02:08
文章标签 梯度 向量 导数 切线

本文主要是介绍导数和梯度,切线和法向量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自:http://www.cnblogs.com/jerrylead/archive/2011/03/09/1978280.html

作者讲得很清楚


记得在高中做数学题时,经常要求曲线的切线。见到形如clip_image002之类的函数,不管三七二十一直接求导得到clip_image004,这就是切线的斜率,然后clip_image006就得到了clip_image008处的切线。

上大学又学习了曲面切线和法向量的求法,求偏导是法向量,然后套公式求出切线。

一个经典例子如下:

clip_image001

(来自web上某个《几何应用》ppt)

其中的向量n是F(x,y,z)的偏导数。

然而,这两者求法看似无关啊,clip_image003中求得的clip_image005是切线,然而下面的求偏导后却是法向量,为啥都是求导,差别这么大呢?切平面的方程为啥又是与法向量有关呢?

当然这些问题的问答都可以通过严格的数学推导完成。这里想从更加直白的角度来说明道理。

首先,法向量(梯度)是F(X)(其中X={x0,x1,x2,…xn}是n维向量)对各个分量求偏导后的结果,代表了F(X)在各个方向的变化率,整个法向量就是F(X)在各个方向上变化率叠加出来的向量。如对于一维的F(x)=clip_image007,在x上导数是2x,意味着在x方向上是以2x的速度变化,比如当x=2时,F(x)变化率为4大于当x=1时(变化率为2)的变化率,法向量的方向只能是x方向,因为F(X)是一维。这里的F(X)称为隐函数,如我们平时使用的clip_image003[1]使用隐函数就可以表示成F(x,y)=f(x)-y,这样其实F(x,y)是二维的。至于为什么导数就是变化率,可以通过导数的定义就可以知道了(微小的dx变化引起多大的dy变化)。

那么我们明白了,隐函数F(X)的法向量就是F(X)对各个分量的偏导数的向量。那么为何clip_image003[2]中求得的clip_image005[1]是切线,而不是法向量?其实我们不能搞混了隐函数F(X)和clip_image003[3]。隐函数是一个函数,它的值根据X的取值不同而不同。而clip_image003[4]只是x和y之间满足的约束关系,如建立x-y坐标,两者的约束关系可以通过图形(直线、曲线等)来表示。比如我们可以用clip_image009来表示一条抛物线,而且能够在x-y坐标系下画出来。而换用隐函数表示就是F(x,y)=clip_image011,只有当F(x,y)等于一个给定值(比如0时),它才是一条抛物线,否则它只是一个函数,如果用z来代替F(x,y),那么F(x,y)其实是一个曲面,维度上升了1。我们对F(x,y)求偏导后的结果其实就是F(x,y)的值z的变化率。

clip_image002[4]

说明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上以线性方式变化,这个要根据具体的表达式了),而我们想知道他们叠加在一块是怎么变化的。我们使用全微分公式(比如上面的clip_image002[6],可以知道他们之间的叠加系数就是偏导数,叠加结果就是变化率,而方向就是x0,x1,x2…相应的变化方向i,j,k…等线性组合得到的方向。

回到为什么“clip_image003[5]中求得的clip_image005[2]是切线”的问题,其实这是最终结论了,是推导出来的。第一步我们将clip_image003[6]写成隐函数(这里的x,y都是实数了,上面的X是向量),clip_image017

然后求F对x的偏导得clip_image019=clip_image005[3]

求F对y的偏导得-1。

即梯度是clip_image021

由于切线和法向量是垂直的,因此切线和法向量内积为0。

设切线方向向量为(m,n),那么clip_image023,即clip_image002[8]

可见,切线斜率是clip_image027

回到上面蓝色图片中的曲面求切平面问题,求出某点的法向量后,在该点的切平面要满足两个条件,一是要过切点,而是要反映出该点的变化方向(这里不是该点F(X)值的变化方向,而是该点自己的变化方向)。然而该点的变化最终要反映出该点F(X)值的变化,也就是切平面的变化要反映出法向量的变化,而偏导数正是反映出了F(X)值的变化。因此切平面的偏导数与F(X)的偏导数是一样的。我们从蓝色图片中看到,切平面正是利用了F(X)的偏导数。

有上面的全微分公式,我们可以更好地理解极值,为什么常说函数取得极值的时候导数为0呢。假设一维情况,clip_image029吧,要求极小值,两边微分后得clip_image031,当x=0时,导数2x为0,取得极值。否则,如果x为正数,那么dx只需向左调整(dx<0),就能使F(x)值变小,如果x为负数,那么dx只需向右调整(dx>0),就能使F(x)变小。因此最后调整结果是x=0。对于二维情况,clip_image002[4]

clip_image033的值在计算后会有正负值,但我们应该注意到dx可正可负,dy也可正可负,只要clip_image033[1]有一个不为0,那么通过调整dx,dy的正负号(也就是确定怎么移动x和y)就可以使clip_image015[1]的值变大变小。只有在偏导数都是0的情况下,无论如何调整dx和dy,clip_image002[6]都是0,取得极值。

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



*下面是个人更为通俗的理解:

如果函数是一维的变量,则梯度就是切线的方向

如果是大于一维的,梯度就是在这个点的法向量,并指向数值更高的等值线,这就是为什么求最小值的时候要用负梯度

这篇关于导数和梯度,切线和法向量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/719706

相关文章

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

Vector3 三维向量

Vector3 三维向量 Struct Representation of 3D vectors and points. 表示3D的向量和点。 This structure is used throughout Unity to pass 3D positions and directions around. It also contains functions for doin

8. 自然语言处理中的深度学习:从词向量到BERT

引言 深度学习在自然语言处理(NLP)领域的应用极大地推动了语言理解和生成技术的发展。通过从词向量到预训练模型(如BERT)的演进,NLP技术在机器翻译、情感分析、问答系统等任务中取得了显著成果。本篇博文将探讨深度学习在NLP中的核心技术,包括词向量、序列模型(如RNN、LSTM),以及BERT等预训练模型的崛起及其实际应用。 1. 词向量的生成与应用 词向量(Word Embedding)

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

1️⃣线性回归(linear regression) f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b​(x)=wx+b 🎈A linear regression model predicting house prices: 如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^

AI学习指南深度学习篇-带动量的随机梯度下降法的基本原理

AI学习指南深度学习篇——带动量的随机梯度下降法的基本原理 引言 在深度学习中,优化算法被广泛应用于训练神经网络模型。随机梯度下降法(SGD)是最常用的优化算法之一,但单独使用SGD在收敛速度和稳定性方面存在一些问题。为了应对这些挑战,动量法应运而生。本文将详细介绍动量法的原理,包括动量的概念、指数加权移动平均、参数更新等内容,最后通过实际示例展示动量如何帮助SGD在参数更新过程中平稳地前进。

用Python实现时间序列模型实战——Day 14: 向量自回归模型 (VAR) 与向量误差修正模型 (VECM)

一、学习内容 1. 向量自回归模型 (VAR) 的基本概念与应用 向量自回归模型 (VAR) 是多元时间序列分析中的一种模型,用于捕捉多个变量之间的相互依赖关系。与单变量自回归模型不同,VAR 模型将多个时间序列作为向量输入,同时对这些变量进行回归分析。 VAR 模型的一般形式为: 其中: ​ 是时间  的变量向量。 是常数向量。​ 是每个时间滞后的回归系数矩阵。​ 是误差项向量,假

AI学习指南深度学习篇-带动量的随机梯度下降法简介

AI学习指南深度学习篇 - 带动量的随机梯度下降法简介 引言 在深度学习的广阔领域中,优化算法扮演着至关重要的角色。它们不仅决定了模型训练的效率,还直接影响到模型的最终表现之一。随着神经网络模型的不断深化和复杂化,传统的优化算法在许多领域逐渐暴露出其不足之处。带动量的随机梯度下降法(Momentum SGD)应运而生,并被广泛应用于各类深度学习模型中。 在本篇文章中,我们将深入探讨带动量的随

利用向量积(叉积)计算三角形的面积和多边形的面积(hdu2036)

开始撸计算几何题目了。。。。。。。 预备知识:叉乘求多边形面积 参考证明资料: 公式证明: http://www.cnblogs.com/xiexinxinlove/p/3708147.html 高中知识: http://wenku.baidu.com/view/867e6edfad51f01dc281f11a.html #include<stdio.h>#inclu

计算几何之向量旋转

实际做题中我们可能会遇到很多有关及计算几何的问题,其中有一类问题就是向量的旋转问题,下面我们来具体探讨一下有关旋转的问题。 首先我们先把问题简化一下,我们先研究一个点绕另一个点旋转一定角度的问题。已知A点坐标(x1,y1),B点坐标(x2,y2),我们需要求得A点绕着B点旋转θ度后的位置。 A点绕B点旋转θ角度后得到的点,问题是我们要如何才能得到A' 点的坐标。(向逆时针方向旋转角度正,

深度学习速通系列:如何生成句向量?

生成句向量(Sentence Embedding)是自然语言处理(NLP)中的一项重要技术,它将文本句子转换为固定长度的数值向量,这些向量能够捕捉句子的语义信息。以下是一些生成句向量的方法: 词袋模型(Bag of Words, BoW): 将句子中的每个词转换为一个特征向量,并将所有词的特征向量平均或求和,以生成句子的向量表示。 TF-IDF: 使用词频-逆文档频率(Term Freque