android 5个手指点 求中心点坐标_更严格的多元函数求极值步骤

b8b638db9044979bb0a4a3b8c161ad46.png

更严格的

多元函数求极值

步骤

本文证明引自:

Г.М.菲赫金哥尔茨,微积分学教程[M].

高等教育出版社.

(有部分复杂过程进行了简化)

1

什么是极值?什么是最值?

1.1

极值的定义

多元函数极值的定义如下:多元函数

4f78ce2449fdfe8eb66573feca023bda.png

定义于区域D中,且点

ae19352230d7fe5ff51f413fe3b023e7.png

是区域D的内点,若该点有邻域

75773e988c86475b46471764b4f1448f.png

如果在该邻域内,除了点

ae19352230d7fe5ff51f413fe3b023e7.png

以外,所有的点都能成立严格不等式

3f6c19feca5a1293991a8f503a1efa1e.png

那么我们就说,函数

4f78ce2449fdfe8eb66573feca023bda.png

在点

ae19352230d7fe5ff51f413fe3b023e7.png

处有极大值(极小值)。

简单来说,极值的定义就是:

这个点附近所有其他点的函数值都大于(或小于)该点的函数值。

1.2

极值和最值的区别

首先需要明确,当我们讨论“最值”时,必须有某一函数的定义域作为大前提,即:在某个区域内函数的最值是多少。

这时就不难发现,极值不一定是最值,最值也不一定是极值。

以一个简单的定义域为  (-∞, 3]  的一元三次函数为例:

9ba76d65e377d803cda65d088ea7cd80.png

上图中,函数的极大值点是A点,但是考虑到函数的定义域,在这个范围内函数最大值点是B点。

但是在一些本科生课程,特别是部分经济学本科课程中,我们都忽略了最值和极值的区别,一般求出极值,直接就当最值用了(虽然大部分习题中这些函数的极值刚好就是最值)。

2

多元函数取极值的必要条件·极值点和稳定点的区别

在部分本科课程(特别是经济学本科课程)里,对于多元函数

4f78ce2449fdfe8eb66573feca023bda.png

求极值点的方法,基本上都只要求:函数对于每个自变量的一阶偏导为0,再联立,即可求出坐标,即:

3ff43050802c930aa076b0aa5836c513.png

然而事实上,上述条件只是极值点的必要条件,并不是充分条件或充要条件,通过所有一阶偏导为0,求出来的点只能称为“稳定点”。

换言之,极值点一定是静止点,而静止点不一定是极值点。极值点是稳定点的子集。

稳定,但不是极值点的经典例子就是二元函数的鞍点(saddle point):

dfa2c0fb2b1c3f07b6ad20871941c049.png

上面这个二元函数图像中,在白色点处,一阶偏导都为0。但是沿着黑色路径看,这是个最小值;沿着黄色路径看,这却是个最大值。所以这个白色点并非极值点。

3

多元函数取极值的充分条件 

如果在必要条件之外,还有充分条件作为保障,则可以确保该点为极值点。这一充分条件就是:

多元函数 4f78ce2449fdfe8eb66573feca023bda.png 在该点处的二阶偏导组成的海森矩阵 (Hessian Matrix,也译作海塞、黑塞、海瑟等) 正定或负定。其中:

海森矩阵正定 对应 极小值点

海森矩阵负定 对应 极大值点

不过需要指出的是,海森矩阵正定/负定也只是极值点的充分条件,并非充要条件,充要条件需要考虑更高阶的偏导。

3.1

海森矩阵(Hessian Matrix)

海森矩阵定义为:

对于实值函数4f78ce2449fdfe8eb66573feca023bda.png

如果的所有二阶偏导数都存在并在定义域内连续,那么函数的海森矩阵就是

914969a2d8b12b6c1f6ee3f900ec7e4c.png

海森矩阵记作H,是一个n×n的方阵。

由所有二阶偏导数连续,则二阶混合倒数数值与次序无关,H也是一个实对称矩阵。

令n×n的海森矩阵第i行第j列个元素为

aij

3.1.1. 海森矩阵 正定 就等价于:

以下n个不等式必须全部成立(不等号的左侧为行列式):

440121c7cbe4719b5cf3862c49c2d8af.png

3.1.2. 海森矩阵 负定 就等价于:

以下n个不等式必须全部成立(不等号的左侧为行列式):

c1f33d3460ea1faae4614be07971e2c0.png

3.2

证明

我们要证明的命题如下:

当一个函数

4f78ce2449fdfe8eb66573feca023bda.png

的某一稳定点 (一阶偏导均为0的点) 坐标为:

ae19352230d7fe5ff51f413fe3b023e7.png

且函数在该稳定点的邻域内定义着,连续,并有一阶及二阶连续导数时;

如果该点处海森矩阵正定,则此稳定点为极小值点。(矩阵负定、极大值点同理)

证明过程如下:

本证明的核心是多元函数的泰勒展开,展开至2阶的拉格朗日余项即可。

3.2.1. 第一步:多元函数的泰勒展开(熟悉第一步的可以直接跳过,到第二步)

在我们熟悉的一元函数中,佩亚诺(Peano)余项的泰勒展开如下:

6593c1c175380dc13aa513bab81ce714.png

一元函数拉格朗日余项的泰勒展开如下:

fc8ba04e0a80de5293c71230b5997577.png

把多元函数泰勒展开至2阶拉格朗日余项的方法,其实和一元函数是一样的,只不过此处的一元函数是一个专门构造出来的辅助函数。

需要说明的是:为了表示简洁,此处的泰勒展开使用的多元函数是三元函数,n元函数与之方法相同。

设存在一个三元函数

3c62bc0b5a866f7a8c0e613e917c0f49.png

我们构造一个关于 t 的一元函数 F(t):

a9d9bdfba63e6b02767737a1c0e5d406.png

F(t)中,只有t是自变量,其他字母均可视为给定常数。

令:

ed8478ec2ba795a4b70e3ab79e31da10.png 0f4cf9bf4771543ee14c22d9c97d3a20.png

那么 F'(t) 和 F''(t) 可以写成:

12825b5ef93128f447f8bcd87efeee11.png 440f5525430bcae4b6afc9aa47f9de59.png

下面我们将 F(t) 在 t = 1 和 t = 0之间进行含拉格朗日余项的泰勒展开,就得到:

eb274d9003681fbef83d6592eb29f203.png b66e708e6ae6111031793d21862e09f2.png

上式中,所有的一阶导都在同一点

91460e158a750ff74380bbad489fcc24.png

取到,

而所有二阶导都在同一点

b169c4f1b5759c0ff8269a6c2d2239c1.png

取到。

3.2.2. 第二步:写出n元函数在稳定点处的含二阶拉格朗日余项的泰勒展开式

假设n元函数

4f78ce2449fdfe8eb66573feca023bda.png

的一个稳定点为

ae19352230d7fe5ff51f413fe3b023e7.png

在此明确,我们的研究对象是函数在静止点附近的变化量(记作Delta),即:

58ea227a869371ccc5990d957560b180.png

因为是稳定点,所以此处所有的一阶导均为0,泰勒展开的一阶项都不存在,只剩下二阶的拉格朗日余项,即:

dedad92eca0859c1cafe6b90223b4fd6.png

尤其需要注意的是,按照多元函数的含有二阶拉格朗日余项的泰勒展开式,上式中所有的二阶导数都是在同一个点

2f946404fcee7cf8106df82c54aa1468.png

取到的。不妨将这个点记为θ点。

那么现在,我们的关注点和所求的问题就转化为:当

b66cfcda07f1a4873c10d6b4b6c518c7.png

时,如何保证下面这个式子是恒大于0的(二阶导数都在θ点取):

978b2ca5de1b62922f93ddf123984578.png

下面,我们把稳定点处的二阶导数都记作:

f0e32ed9da7934ded8cd884ff05a1a15.png

另外,我们假设θ点和稳定点处的二阶导数具有这样的关系:

c544e4ce93d3cd1fc37577b2048c8b4f.png

因为原多元函数的二阶偏导数在稳定点附近都是连续的,所以当:

b66cfcda07f1a4873c10d6b4b6c518c7.png

时,所有的bik →0。

那么我们所关注的那个式子就拆成了这样两项:

b738e48970772e3b35b7351cde92e8cb.png

上面这两项中,因为所有的bik →0,所以右边蓝色的这项是比左边黑色这项更高阶的无穷小。所以我们只需要保证左边黑色这项恒大于0就行了,即:

e0fefbdf15447a891ee64636236777d8.png

恒大于0

到这一步已经很明显了,上面这个式子是一个二次型,它对应的矩阵就是海森矩阵。

所以当海森矩阵正定时,这个二次型就恒大于0。这个静止点也就是一个极值点。

证毕

4

总结——

多元函数求极值的步骤 

因此,对于多元函数

4f78ce2449fdfe8eb66573feca023bda.png

更严格的多元函数求极值步骤应该依次为:

第(1)步: 

求出多元函数 f 关于所有自变量的一阶偏导数;

第(2)步:

在一阶导数的基础上再求导一次,再求出函数 f 的所有二阶偏导数(包括混合偏导);

第(3)步:

令所有一阶偏导数都为0,然后联立形成方程组,即

3ff43050802c930aa076b0aa5836c513.png

解上面这个方程组,就解出了所有稳定点的坐标;

第(4)步:

由于前面已经求出了所有二阶偏导,所以只需要将稳定点的坐标代入下面这个Hessian矩阵:

914969a2d8b12b6c1f6ee3f900ec7e4c.png

这样每一个稳定点都能求出一个自己的Hessian矩阵,而且矩阵所有的元素都是常数;

第(5)步:

对于每个Hessian矩阵,都可能有5种情况:

正定 / 负定 / 半正定 / 半负定 / 不定

而我们需要判断矩阵到底属于哪一种。

令n×n的Hessian矩阵第 i 行第 j 列个元素为

aij

(5)① 该Hessian矩阵正定的判别依据是以下n个不等式(不等号左侧依次为:Hessian矩阵的第1到第n个顺序主子式)全部同时成立:

440121c7cbe4719b5cf3862c49c2d8af.png

Hessian矩阵正定,则该稳定点处有极小值。

(5)② 矩阵负定的判别依据是以下n个不等式(不等号左侧依次为:Hessian矩阵的第1到第n个顺序主子式)全部同时成立:

c1f33d3460ea1faae4614be07971e2c0.png

Hessian矩阵负定,则该稳定点处有极大值。

(5)③ 矩阵半正定的判别依据是以下n个不等式(不等号左侧依次为矩阵的第1到第n个顺序主子式)同时成立:

2d92bf6e77b2d142687805816b2466a6.png

不难看出,正定是半正定条件全部取严格不等时的情况。

换言之,只要上面这n个不等式都成立,且其中至少有一个取到了 “=”,那么我们就不能说矩阵是正定的,只能说矩阵是半正定的。在这种情况下,如果要判断是不是极值点,还需要更高阶的导数,即三阶导甚至更高,但那样的话工作量可能就比较大了……

(5)④ 矩阵半负定的判别依据是以下n个不等式(不等号左侧依次为矩阵的第1到第n个顺序主子式)全部同时成立:

f12228e99c261ea373fa979e127393f0.png

不难看出,负定是半负定条件全部取严格不等时的情况。

换言之,只要上面这n个不等式都成立,且其中至少有一个取到了 “=”,那么我们就不能说矩阵是负定的,只能说矩阵是半负定的。在这种情况下,如果要判断是不是极值点,依然需要三阶甚至更高阶的导数……

(5)⑤ 矩阵不定的判别依据是:

矩阵既不是半正定,也不是半负定。

举个例子,只要出现以下情况中的一种:

8c28983c6f218e7539c227cf224c25b1.png

ba5aa6147c37c72aa7a23d9f580a657d.png

那么矩阵就是不定的。

Hessian矩阵不定,则这个稳定点一定不是极值点。可能就是鞍点之类的了。

证明和前面正定对应极小值的证明类似,也是泰勒展开至二阶,然后找出反例。说明这个点的邻域内,既存在函数值比它大的点,也存在比它小的就行了。

第(6)步:

把每个极值点的坐标代入原函数 f ,就求出了函数的极值。

以上就是求多元函数极值的步骤

但是如果我们求的不仅是极值点,还要求最值点,那就需要证明函数在定义域上的其他所有的值,和我们已经求出的最值之间,大小关系如何。这个可能就需要函数凹凸性之类了……

附录

A

条件极值中的Hessian

矩阵判别——

以Cobb-Douglas为例

条件极值,很多情况下表现为约束条件下的最优化问题,而拉格朗日乘子法是其中最常用的方法之一。

但是在构造拉格朗日函数时,会出现这样的特殊情况:

① 我们将拉格朗日函数对包括乘子λ在内的所有变元进行二阶求导得到的Hessian矩阵一般却是个半正定或半负定的。

② 此外,我们求出的稳定点一般都不是拉格朗日函数的极值点,但可能是拉格朗日函数的最值点。

③ 或者我们可以这么理解:原函数的条件极值点并不是拉格朗日函数的绝对极值点。

但是需要指出的是:(引自尼科尔森《微观经济理论:基本原理与拓展》,第2章附录)

此时条件极值点的判定依然依靠拉格朗日函数在稳定点处的Hessian矩阵,只是判定是从第一个不为0的顺序主子式开始的。

下面以Cobb-Douglas生产函数为例进行分析:

设有关于自变量K(资本量)和L(劳动力)的二元生产函数 f(K, L):

cb4a272a528d782c0765f6fd73fe1f10.png

上式中,A(技术参数)、α(资本密集度)、β(劳动密集度)均为大于0的给定常数,只有K和L是变量。

假设工资为给定常数w,资本租金为给定常数r,而企业最多能负担的成本是给定的常数C,显然在wL + rK = C时,企业能动用的资源最多。

所以我们就是在求以下条件极值问题:

54ac80050acb61dc0b22cbb52fc5bd61.png

用拉格朗日乘子法,构造拉格朗日函数为:

e89d058f591f4c1e7e520669e0647e26.png

这是个三元函数,求一阶偏导数得:

b0922c8f760b557e62c6b2cafb4166a2.png

求二阶偏导数得:

9624294bcf336b7a46bbaa689469e26d.png 186f9b11c0b27a8279e4bf7ad1a86462.png

Hessian矩阵列出来就是:

6261f2ab6289d4eda0de72e91d9d6156.png

1229c0b177c4849ec19da9a63ee72eb8.png

然后悲剧发生了:

第一个顺序主子式,也就是左上角的那个是0,也就是说这个矩阵只能被判断为半负定。

但是这是必然的。

因为拉格朗日函数中得那个我们强行引入得乘子λ的次数是1次,所以只要拿拉格朗日函数对它求个二阶偏导,就一定是0。

进一步想,既然在拉格朗日函数的稳定点处,对乘子λ的一阶和二阶偏导都是0,那么也就是说,如果在关于K,L,λ的三元拉格朗日函数中,我固定K和L在稳定点处的值不变,只改变λ,那么整个拉格朗日函数的值都是不变的。而这样的话,就存在附近的点和该点的函数值相同,显然不满足极值点的“附近点的函数值都大于或小于该点的值”的要求。因此这个稳定点最多是个最值点,不可能是极值点。

既然不可能是拉格朗日函数的极值点,那么我们求的又是啥?答曰:依然是极值点。

因为我们求的是原函数的条件极值点,而不是强行构造的只是作为辅助函数的拉格朗日函数的绝对极值点。

所以回到我们的Cobb-Douglas函数上,就出现了“从第一个不为0的顺序主子式开始判别”的方法(这个方法的证明我也不会),即:

Hessian矩阵为

1229c0b177c4849ec19da9a63ee72eb8.png

顺序主子式依次为:

0f6cedbe0de95b89e92d5a7da67588fe.png 442b475b74da870abd438f4a08d7bccb.png 011fee8a072dd56ad2e52ac0dc9017fa.png

在上面这个式子中,乘号前面那一堆都是正的,所以只需要判断乘号后面的行列式的正负,而

576e0febf8dbf51304602177feceb3c3.png

在我们做的大部分微观经济的题里面,α和β都为正,且由于规模报酬递减,α+β≤1,所以上面这个式子基本上肯定大于2,更大于0,所以做Cobb-Douglas的题的时候,我们几乎不用担心二阶条件,只需要把一阶算出来就不用管了。

另外更重要的是,一般老师不会无聊到考极值点的二阶条件,考试时学生也没时间算,考完之后助教也不好改。

欢迎留言吐槽或指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值