多元函数微分学
基本概念
平面与点
平面点集
定义:在平面上建立直角坐标系,则平面上的点可用两个实数组的有序数组表示,而二元函数的定义域是为元素的几何,所以的定义域就是平面上的点集。
距离
定理:平面上任意两点与之间距离定义为。
满足:
- 非负性:。
- 对称性:。
- 三角不等式:。
邻域
设为平面上一点,,则平面上以为圆心,为半径的圆的内部称为的邻域,记为。
若邻域中去掉圆心,称为的去心邻域,记为。
点的分类
定义:设为平面上一个点,若存在,使得,则为点集的内点。
定义:若存在,使得,则为点集的外点。
定义:若对任意,即有内的点也有外的点,则为点集的边界点。
定义:所有边界点的集合称为的边界,记为。对于任意一个点集与其余集有公共边界,即。
集合
定义:设为一个平面点集,若存在常数,使得,则为有界集,否则为无界集。
定义:若中的每个点都是的内点,则为开集,若的边界点都是的点,则为闭集。若一个点集是开集,则其余集为闭集,若一个点集为闭集,则其余集为开集。
定义:若中任意两点,都可用一条完全属于的曲线将其两点连接,则为(道路)连通集,连通的开集为开区域,一个开区域和其边界点的并集为闭区域,统称区域。
定义:若内任意一条简单闭曲线的内部还在内,则为单连通区域,否则为多连通区域。
聚点
定义:对一个平面点集,为平面上一点,若对任意,总有,即的任意邻域中都含有异于的中的点,则为的聚点。
定理:非空开集的内点余边界点都是这个点集的聚点,闭区域的任意一点都是其聚点。
定义:若存在,使得,即如果的某一邻域与点集的交集是一个孤立的点,则称为的孤立点。边界点要么是聚点要么是孤立点。
极限
对于一元函数的极限可用列举法,从两端逼近该点取极限,但是对于多元函数所处的邻域,逼近方向为无穷,所以不可能再通过取两个方向逼近的方式求极限。
从点集来看定义:设二元函数的定义域为,为聚点。若存在常数,对于任意给定正数,总存在正数,使得当时,都有成立,则常数为当时的极限,记为或。
如排除轴:。
从邻域来看定义:若二元函数在的去心邻域内有定义,且以任意方式趋向时,均趋向于,则。
根据邻域的定义,由于函数在坐标轴上无定义,则极限不存在。
此时两种定义就会有两种结论,所以为了避免这种定义不同的矛盾,就只会出现哪种定义下极限存在或都不存在的函数,如。
从现实角度来看,点集定义是更合理的,若要求一根弯曲铁丝在某点的导数,第二种定义无法求,所以不合理。而第二种定义是从一元极限定义直接升级过来,所以有一定局限性。
连续
定义:若则称在点处连续。
若不连续,则不讨论间断类型。
偏导数
当含有两个以及三个变量时,若求一个极限,则有多个变量同时趋向,所以多个变量同时在变。为了运算简单,就假定只有一个变量在变,其他变量固定,从而直接降低成一元变量,只对一个变量求导,从而就是偏导数。
定义:设函数在点的某邻域内有定义,若极限存在,则称此极限为函数在点处对的偏导数,记为,,或。
。
。
定义:若函数在区域内的偏导数、仍具有偏导数,则其偏导数为函数的二阶偏导数。按照求导次序不同,有如下四个二阶偏导数。
,,
,。
其中和为混合偏导数。二阶以及以上的偏导数均为高阶偏导数。
偏导数 = 多元函数对单个变量的敏感度,神经网络靠它学习。 把其他变量当常数、只对一个变量求导,得到的偏导数衡量「单独微调这个输入,输出会变多少」。深度学习里损失函数有几百万个参数,训练就是算损失对每个参数的偏导(梯度的分量),再据此更新——反向传播本质就是高效地批量求偏导。把所有一阶偏导排成矩阵就是雅可比矩阵(Jacobian)。
一句话:偏导数就是「只让一个变量动、其他都摁住」时的导数。 求 时,把 完全当成常数,就退化成熟悉的一元求导。所以多元求导没有新方法,只是「轮流盯着一个变量」。二阶偏导里 表示先对 再对 求;当偏导连续时,求导先后顺序不影响结果()。
全微分
定义:若函数在点的全增量可表示为,其中,不依赖,而仅与相关,则称函数在点可微,而称为函数在点的全微分,记为。
。
全微分 = 用「切平面」做局部线性近似,误差分析的基础。 说明:在一个点附近,复杂的曲面可以用平面来近似。工程上的「误差传播」就靠它——各输入的测量误差 乘以对应偏导再相加,估计输出误差;这也是数值计算里一阶 Taylor 展开、敏感度分析的核心。
一句话:全微分就是把「各方向的微小变化」线性地加起来估计总变化。 当 变一点、 也变一点时, 的总变化约等于「 方向的偏导 」加「 方向的偏导 」。注意:偏导都存在不等于可微,必须验证那个余项极限趋于 0 才算真正可微——这是多元微分里最容易踩的坑。
判断可微的步骤:
- 写出全增量。
- 写出线性增量,,。
- 写出极限,若极限等于0,则在点可微,否则不可微。
偏导数连续性
对,讨论其在某特殊点处偏导数是否连续的步骤:
- 用定义法求,。(求某点偏导数)
- 用公式法求,。(求偏导函数)
- 计算,。(偏导函数求极限)
- 若,若成立则连续,否则不连续。
例题:设,则四个结论中正确的个数为()。
①在处连续。 ②,存在。
③,在处连续。 ③在可微。
解:。所以正确。
。同理。
判断连续性,首先计算偏导数值,之前计算过:;然后求偏导函数,同理得;最后一步查看偏导函数值与偏导数值是否相等,,且震荡,所以总的来说极限值不存在,就不会等于偏导数值,同理可得函数的偏导数在该点不连续。
要求一个函数在某点可微,首先。然后。最后求极限,所以在此点可微。
综上正确的结论有①②④三个,所以选。
多元函数微分法则
链式求导法则
主要对显函数的微分。
多元函数链式求导法则与一元函数的求导法则类似。都是从因变量从中间变量走到自变量。一条路径是一个加项,多少条从因变量到所有自变量的路就有多少个加项。每条路上由不同的路段组成,若有层中间变量,则有路段,路段之间项是乘积形式,若变量只与一个变量有一条路,则是导数,若一个变量到多个变量有多条路,则是偏导数。
因变量到一共有两条路,所以两个和项。每条路都有两端,所以和项中有两个乘项。到两个中间变量,所以是两个偏导和。都只有一条路直接连通,所以都是导数和。一条路的每个路段的项相乘:和。最后将每条路段相加:。
因为因变量到自变量有较多条路径,所以分开分析。
对于,有,所以这条路为,还有一条,由于只与连通,所以是导数,该路为,所以。、
同理对于,有和,且有两条出路,只有一条,所以偏导,导数,。
无论对谁求导也无论求了几阶到,求导过后的新函数仍具有与原函数完全相同的复合结构。
多元链式法则 = 反向传播(backpropagation)的数学本体。 「沿每条路径连乘、对所有路径求和」正是神经网络求梯度的规则:一个深层网络就是函数套函数的复合,损失对前层参数的梯度,等于沿计算图所有路径把偏导连乘再相加。PyTorch、TensorFlow 的 autograd 就是把这条链式法则在计算图上自动、高效地执行(反向模式自动微分)。
一句话:复合函数求导就是「画出变量依赖图,每条路连乘、多条路相加」。 因变量到某个自变量有几条路径,结果就有几个加项;每条路径上把沿途的(偏)导数乘起来。只与一个变量相连用导数 ,与多个相连用偏导 。把依赖关系画成树或图,照着「连乘 + 相加」抄就不会漏项。
例题:设,其中具有二阶连续偏导数,求。
解:,。
在求偏导时,将第一个中间变量记为即之前的,第二个中间变量记为即之前的。记对求偏导为,对求偏导为同理二阶导也如此,下标为求导顺序。
。
其中。所以难点就是。
求导路径和:。
其中,求导路径和:。
。
若具有二阶连续偏导数,所以可以交换求导顺序,。
化简:。
隐函数存在定理
主要对隐函数的微分。隐函数的最大问题就是变量纠缠在一起,而公式法所得到的式子中变量都是独立的。
若对每个对应的函数值总是唯一的,这样定义的函数为单值函数。若给定一个对应法则,按法则对总有与之对应,但是不唯一,此时就不是函数,而确定一个多值函数。
只要满足着定义域的条件下,形如的函数就是显函数,如。由方程确定的函数为隐函数,如显式表示为。
定义:设函数在点的某一邻域内具有连续偏导数,,,则方程在点的某一邻域内能唯一确定一个连续且具有连续导数的函数,满足。
定义:二元隐函数求导公式:。
因为,所以对进行求导:,就解出隐函数求导公式,是定理关键。
隐函数求导 = 处理「解不出来的方程」,机器人和优化里很常见。 很多约束写成 却没法显式解出 ,这时用 直接求导。机器人逆运动学、隐式曲面(等值面)渲染、以及优化里的「隐函数定理」(用它分析最优解随参数如何变化、做灵敏度分析),用的都是这套思想。
一句话:解不出 时,就把 看成 的函数,整体求导再解出 。 对 两边关于 求导,记得 是 的函数要带链式法则,整理就得到 。前提是分母 (几何上即该点切线不竖直),否则公式失效。
如给出一个圆的方程,,,,。所以在和是单值的,从而能确定一个连续导数的隐函数,而在的邻域内不存在,因为其切线是竖直的。
定义:设函数在点的某一邻域内具有连续偏导数,,,则方程在点的某一邻域内能唯一确定一个连续且具有连续导数的函数,满足。
定义:三元隐函数求导公式:,。
因为是的函数,是的函数,是的函数。所以,解得。同理也可得。
例题:设是由方程所确定的二元函数,求。
解:。其中,,。
直接代入:。
例题:已知函数的全微分且,求。
解:,,。
对偏导进行积分:,。
又,,代入。
,。
多元函数极值最值
概念
定义:若存在的某个邻域,使得在该邻域内的任意一点均有或成立,则称为的广义的极大值点/极小值点,为的广义的极大值/极小值。
定义:若存在的某个去心邻域,使得在该邻域内的任意一点均有或成立,则称为的真正的极大值点/极小值点,为的真正的极大值/极小值。
定义:设为定义域内一点,若对于的定义域内任意一点均有或成立,则称为的广义的最大值点/最小值点,为的广义的最大值/最小值。
定义:设为定义域内一点,若对于的定义域内任意一个异于的点均有或成立,则称为的真正的最大值点/最小值点,为的真正的最大值/最小值。
定义:函数的一阶导数为0的点(驻点也称为稳定点,临界点)。对于多元函数,驻点是所有一阶偏导数都为零的点。
极值点不一定是驻点:只有可导的极值点才可能是驻点;驻点也不一定是极值点:只有驻点两端变号才能成为极值点。
驻点 = 优化算法要找的「梯度为零」的点,但不一定是想要的最优。 训练模型时,梯度下降停在梯度为零处——可能是极小值,也可能是极大值或鞍点。高维损失函数里鞍点(某些方向上升、某些方向下降)极多,是优化的主要障碍;动量法、Adam 等优化器很大程度上就是为了逃离鞍点、加速穿过平坦区。
一句话:驻点是「所有偏导都为零」的点,但它未必是极值点。 一元里导数为零可能是极值也可能是拐点;多元里梯度为零可能是极大、极小,或者「鞍点」(像马鞍,一个方向是谷、另一个方向是峰)。所以找到驻点只是第一步,还要用充分条件(下面的 )进一步判定它到底是哪一种。
定理:若在处取得极大/极小值,则在取得极大/极小值,在取得极大/极小值。
无条件极值
定理:二元函数取极值的必要条件:设在点一阶偏导数存在且取极值,则,。三元及以上可以类推。
定理:二元函数取极值的充分条件:若对函数求二阶偏导,则。只适用于二元函数极值。
判别法 = 二阶导数矩阵(Hessian)的「正定性判断」。 这里的 正是二阶偏导排成的 Hessian 矩阵的元素, 就是它的行列式。判别法的本质是看 Hessian 是否正定/负定——这正是数值优化里牛顿法、判断收敛点是不是极小值的依据。高维时则推广为「Hessian 的所有特征值同号」。
一句话:求出二阶偏导 ,用 的正负判断驻点类型。 是极值(再看 : 极小、 极大); 不是极值(是鞍点); 判别法失效,得回到定义、或沿不同路径试探。注意这套口诀只对二元函数适用。
显函数
可以先直接求出、、,再令一阶偏导为0求出点,把点代入。
例题:求函数的极值。
解:,,解得。
,,。各自代入:
,极小。
同理也是极小值点。极小值为-2。
。该方法失效。
取的路径,。
取的路径,。而。
所以不同的路径上有大于该值的也有小于该值的,所以该点不为极值点。
隐函数
由于无法、、,所以先令一阶偏导为0求出可疑点,把点代入,并代入、、。
条件极值与拉格朗日乘数法
求目标函数在一组条件函数下的最值,则:
- 构造辅助函数带:,其中为拉格朗日乘数。
- 对函数依次对求偏导并令为0:,,,。一共个方程。
- 解上述方程组得备选点,,并求并取其最大值和最小值。
例题:求函数在约束条件()下的最小值。
解:令。
令,,,。
解得,从而最小值为。
拉格朗日乘数法 = 带约束优化的通用武器,SVM 和正则化都用它。 求「在约束 下的极值」时,构造 再令各偏导为零。机器学习里支持向量机(SVM)的对偶问题、带等式约束的最优化、乃至正则化的拉格朗日对偶视角,全靠它;乘子 还有「约束每放松一点、目标能改善多少」的经济学含义(影子价格)。
一句话:有约束的极值,就把约束乘上一个新变量 加进目标里,再当无约束问题求驻点。 构造 ,然后对所有变量(包括 )求偏导并令为零,解这个方程组得到候选点,最后比较函数值挑出最大/最小。对 求偏导得到的那个方程,其实就是把原约束又写了一遍。