Dingnuooo's Notes

Back

数学分析 Chapter 9 多元函数微分学Blur image

本章速通:数学分析 记忆佛脚(下) - Chapter 9 多元函数微分学 ↗

Section E 多元函数极值#

对于 ff,若 xUρ(x^)\forall x\in U_\rho( \hat{x})f(x)f(x^)f(x)\leq f(\hat{x}),则称 x^\hat{x}ff 的极大值点。极小值类似定义

9.13 无条件极值#

曰(极值点的必要条件):若 ff 可偏导,则偏导均为零,即 fx1(x^)=fx2(x^)==fxn(x^)=0f_{x_1}(\hat{x})=f_{x_2}(\hat{x})=\cdots=f_{x_n}(\hat{x})=0

证明:

  • φ1(x)=(x,x^2,,x^n)\varphi_1(x)=(x,\hat{x}_2,\cdots,\hat{x}_n),当 x^\hat{x}ff 极值点时,由定义知 x^1\hat{x}_1 也得是 φ1(x)\varphi _1(x) 的极值点,所以 fx1(x^)=φ1(x^1)=0f_{x_1}(\hat{x})=\varphi _1'(\hat{x}_1)=0
  • φ2(x)=(x^1,x,,x^n)\varphi_2(x)=(\hat{x}_1,x,\cdots,\hat{x}_n),当 x^\hat{x}ff 极值点时,由定义知 x^2\hat{x}_2 也得是 φ2(x)\varphi _2(x) 的极值点,所以 fx2(x^)=φ2(x^2)=0f_{x_2}(\hat{x})=\varphi _2'(\hat{x}_2)=0
  • 以此类推。\square

极值情况判定定理。一元情形时:f(x0)=0f'(x_0)=0f(x0)>0f''(x_0)\gt 0 时为极小,f(x0)<0f''(x_0)\lt 0 时为极大,f(x0)=0f''(x_0)=0 时情况不定。这是因为 Taylor 公式 f(x0 ⁣+ ⁣Δx)f(x0)=f(x0)Δx+12f(x0 ⁣+ ⁣θΔx)Δx2f(x_0\!+\!\Delta x)-f(x_0)=f'(x_0)\Delta x+\dfrac12f''(x_0\!+\!\theta \Delta x)\Delta x^2,一阶导为零,所以等号左边是正是负就要看二阶导的正负。

二元情形:

f(x0 ⁣+ ⁣Δx,y0 ⁣+ ⁣Δy)f(x0,y0)=fx(x0,y0)Δx+fy(x0,y0)Δy+12(fxx(ρ~)Δx2+fyy(ρ~)Δy2+2fxy(ρ~)ΔxΔy)\begin{aligned} f(x_0\!+\!\Delta x,y_0\!+\!\Delta y)-f(x_0,y_0)&=f_x(x_0,y_0)\Delta x+f_y(x_0,y_0)\Delta y+\\ &\quad\dfrac12\bigg(f_{xx}(\tilde{\rho})\Delta x^2+f_{yy}(\tilde{\rho})\Delta y^2+2f_{xy}(\tilde{\rho})\Delta x\Delta y\bigg) \end{aligned}

其中 ρ~=(x0 ⁣+ ⁣θΔx,y0 ⁣+ ⁣θΔy)\tilde{\rho}=(x_0\!+\!\theta \Delta x,y_0\!+\!\theta \Delta y)

由连续性,设

  • fxx(ρ~)=fxx(x0,y0)+α,α=o(1)f_{xx}(\tilde{\rho})=f_{xx}(x_0,y_0)+\alpha,\quad\alpha =o(1)
  • fxy(ρ~)=fxy(x0,y0)+β,β=o(1)f_{xy}(\tilde{\rho})=f_{xy}(x_0,y_0)+\beta ,\quad\beta =o(1)
  • fyy(ρ~)=fyy(x0,y0)+γ,γ=o(1)f_{yy}(\tilde{\rho})=f_{yy}(x_0,y_0)+\gamma ,\quad\gamma =o(1)

于是

f(x0 ⁣+ ⁣Δx,y0 ⁣+ ⁣Δy)f(x0,y0)=12(fxx(x0,y0)Δx2+fyy(x0,y0)Δy2+2fxy(x0,y0)ΔxΔy+αΔx2+2βΔxΔy+γΔy2)\begin{aligned} f(x_0\!+\!\Delta x,y_0\!+\!\Delta y)-f(x_0,y_0)&=\dfrac12\bigg(f_{xx}(x_0,y_0)\Delta x^2+f_{yy}(x_0,y_0)\Delta y^2+2f_{xy}(x_0,y_0)\Delta x\Delta y+\\ &\quad\quad\quad\alpha \Delta x^2+2\beta \Delta x\Delta y+\gamma \Delta y^2\bigg) \end{aligned}

  • A=fxx(x0,y0)A=f_{xx}(x_0,y_0)B=fxy(x0,y0)B=f_{xy}(x_0,y_0)C=fyy(x0,y0)C=f_{yy}(x_0,y_0)
  • ρ=Δx2+Δy2\rho=\sqrt{\Delta x^2+\Delta y^2}ξ=Δxρ\xi=\dfrac{\Delta x}{\rho}η=Δyρ\eta=\dfrac{\Delta y}{\rho},这样 ξ2+η2=1\xi^2+\eta^2=1

于是 f(x0 ⁣+ ⁣Δx,y0 ⁣+ ⁣Δy)f(x0,y0)=12ρ2(Aξ2+2Bξη+Cη2+o(1))f(x_0\!+\!\Delta x,y_0\!+\!\Delta y)-f(x_0,y_0)=\dfrac12\rho^2\bigg(A\xi^2+2B\xi\eta+C\eta^2+o(1)\bigg)。括号里头就是一个二次型,所以等号左边的正负就相当于考虑右边二次型的定性(严格来说是在单位圆上的定性,但可以验证 g(kξ,kη)=k2g(ξ,η)g(k\xi,k\eta)=k^2g(\xi,\eta),所以等价于直接考虑在整个平面上的定性)。令二次型

g(ξ,η)=(ξη)(ABBC)(ξη)g(\xi,\eta)= \begin{pmatrix} \xi&\eta \end{pmatrix} \begin{pmatrix} A&B\\B&C \end{pmatrix} \begin{pmatrix} \xi\\\eta \end{pmatrix}
  1. gg 正定时,(x0,y0)(x_0,y_0) 为极小值点
  2. gg 负定时,(x0,y0)(x_0,y_0) 为极大值点
  3. gg 不定时,既不是极大值点 又不是极小值点

回忆:正定负定的判断方法

  • 正定:任一 kk 阶顺序主子式的行列式都 >0>0
  • 负定:任一 kk 阶顺序主子式的行列式的 (1)k(-1)^k>0>0

对于二次型矩阵而言

  • 正定 A>0,AC ⁣ ⁣B2>0\Leftrightarrow A>0,\,AC\!-\!B^2>0,则为极小值点
  • 负定 A<0,AC ⁣ ⁣B2>0\Leftrightarrow A<0,\,AC\!-\!B^2>0,则为极大值点
  • AC ⁣ ⁣B2<0AC\!-\!B^2<0,则不是极值点(鞍点)
  • AC ⁣ ⁣B2=0AC\!-\!B^2=0,则情况不定。例如 f(x,y)=x4f(x,y)=x^4 是极小值、x4-x^4 是极大值、x3x^3 不是极值

对于 n 元情形:那个二次型就是 g(ξ)=i,jfxixj(x^)ξiξjg(\xi)=\sum\limits_{i,j} f_{x_ix_j}(\hat{x})\xi_i\xi_j,二次型矩阵 (fxixj(x^))n×n\big(f_{x_ix_j}(\hat{x})\big)_{n\times n} 就是函数在 x^\hat{x} 的二阶微分,称为 Hessian 矩阵。记它的 kk 阶顺序主子式为 Δk\Delta _k

  • k\forall kdet(Δk)>0\det(\Delta _k)>0 时,gg 正定,x^\hat{x} 为极小值点
  • k\forall k(1)kdet(Δk)>0(-1)^k\det(\Delta _k)>0 时,gg 负定,x^\hat{x} 为极大值点
  • gg 不定时,不是极值点

9.14 条件极值#

例:求原点到直线 l:{x+y+z=1x+2y+3z=6l:\begin{cases}x+y+z=1\\x+2y+3z=6\end{cases} 的距离

f(z,y,z)=x2+y2+z2f(z,y,z)=x^2+y^2+z^2 为目标函数,{G(x,y,z)=x+y+z1=0H(x,y,z)=x+2y+3z6=0\begin{cases}G(x,y,z)=x+y+z-1=0\\ H(x,y,z)=x+2y+3z-6=0\end{cases} 为约束条件。于是问题转化为“求目标函数在约束条件下的最小值”。

ffGGHH 偏导连续,Jacobi (GxGyGzHxHyHz)\begin{pmatrix}G_x&G_y&G_z\\H_x&H_y&H_z\end{pmatrix} 在约束条件下秩为 2。不妨设 (G,H)(y,z)\dfrac{\partial (G,H)}{\partial (y,z)} 在极值点处不为 0,则唯一确定 {y=y(x)z=z(x)\begin{cases}y=y(x)\\z=z(x)\end{cases},于是原问题转化为求 φ(x)=f(x,y(x),z(x))\varphi (x)=f(x,y(x),z(x)) 的无条件极值:

φ(x)=fx+fyy(x)+fzz(x)=(fxfyfz)(1yz)=(gradf)τ=0\begin{aligned} \varphi '(x)&=f_x+f_y\cdot y'(x)+f_z\cdot z'(x)\\ &=\begin{pmatrix} f_x&f_y&f_z \end{pmatrix}\begin{pmatrix} 1\\y'\\z' \end{pmatrix}=(\mathbf{grad}\,f)\cdot\vec\tau=0 \end{aligned}

把约束条件 G=0G=0H=0H=0 也对 xx 求导

{Gx+Gyy(x)+Gzz(x)=0(gradG)τ=0Hx+Hyy(x)+Hzz(x)=0(gradH)τ=0\begin{cases} G_x+G_y\cdot y'(x)+G_z\cdot z'(x)=0\quad\Rightarrow (\mathbf{grad}\,G)\cdot\vec\tau=0\\ H_x+H_y\cdot y'(x)+H_z\cdot z'(x)=0\quad\Rightarrow (\mathbf{grad}\,H)\cdot\vec\tau=0 \end{cases}

这说明 gradf\mathbf{grad}\,f 落在 gradG\mathbf{grad}\,GgradH\mathbf{grad}\,H 张成的平面里(因为事先假设过 Jacobi rank=2,这两个梯度不共线),于是存在常数 λ,μ\lambda,\,\mu 使得

gradf+λgradG+μgradH=0\mathbf{grad}\,f+\lambda \cdot\mathbf{grad}\,G+\mu \cdot\mathbf{grad}\,H=\vec0

展开 x,y,zx,y,z 三个分量 就相当于三个方程,再加上两个约束 G=0G=0H=0H=0,总共五个方程、x,y,z,λ,μx,y,z,\lambda ,\mu 五个未知数,因此原问题相当于求

L(x,y,z,λ,μ)=f(x,y,z)+λG(x,y,z)+μH(x,y,z)L(x,y,z,\lambda ,\mu )=f(x,y,z)+\lambda G(x,y,z)+\mu H(x,y,z)

这个五元函数的无条件极值,其中令 λ,μ\lambda,\mu 偏导为零 等价于 G=0,H=0G=0,\,H=0

上述求条件极值的方法称为 Lagrange 乘子法。其中那个五元函数称为 Lagrange 函数,λ,μ\lambda,\,\mu 称为 Lagrange 乘子。由于还是基于无条件极值,所以这个方法给出的仍然是必要条件。


完整的 Lagrange 乘子法:


条件极值情况判定定理:考虑矩阵 (2Lxixj)n×n\left(\dfrac{\partial ^2L}{\partial x_i\partial x_j}\right)_{n\times n} 在 Lagrange 函数极值点的定性,正定矩阵时为条件极小值点,负定矩阵时为条件极大值点,不定时情况不定。

为什么只看 xx 不看 λ\lambda 呢?因为当满足约束时 G=0G=\vec0,得

L(x,λ)L(x^,λ^)=(f(x)+λTG(x))(f(x^)+λTG(x))=f(x)f(x^)=12ρ2(二次型+o(1))\begin{aligned} L(x,\lambda)-L(\hat{x},\hat{\lambda})&=\big(f(x)+\lambda^TG(x)\big)-\big(f(\hat{x})+\lambda^TG(x)\big)\\ &=f(x)-f(\hat{x})\\ &=\dfrac12\rho^2(二次型+o(1)) \end{aligned}

λ\lambda 无关

无条件极值情形下,矩阵不定表示 x^\hat{x} 不是极值点;为什么这里矩阵不定表示 x^\hat{x} 不定? 因为这里没看 λ\lambda

9.15 不等式约束#

对于优化问题

minxf(x)s.t.g(x)0\begin{aligned} \min\limits_{x}\quad &f(x)\\ s.t.\quad &g(x)\leq0 \end{aligned}

这个 g(x)0g(x)\leq0 就是不等式约束。定义可行域:满足不等式约束的 xx 的集合,记为 KK

我们先强行把 gg 看作等式约束。写出该问题的 Lagrange 函数

L(x,λ)=f(x)+λg(x)L(x,\lambda)=f(x)+\lambda g(x)

由 Lagrange 乘子法,最优解 x^\hat{x} 的必要条件是 f(x^)+λg(x^)=0\nabla f(\hat{x})+\lambda \nabla g(\hat{x})=0。把这个解代回原问题,讨论这个最优解是否受到不等式约束的影响:

  • g(x^)<0g(\hat{x})<0(内部解),此时约束恒成立,相当于没有这个约束(称为松弛的)。说明 x^\hat{x} 已经是 ff 的极小值,也即 f=0\nabla f=0,因此 Lagrange 乘子 λ\lambda 只能 =0=0
  • g(x^)=0g(\hat{x})=0(边界解),说明 g(x)g(x) 约束的存在拦住了 ff 继续变小的道路,使得 x^\hat{x} 停了下来。

也就是说,不管 x^\hat{x} 是否在边界,g(x^)g(\hat{x})λ\lambda 必有一个是 0,即 λg(x^)=0\lambda g(\hat{x})=0。这被称为互补松弛条件。

还不够。对于边界解的 λ\lambda 还要有所限制。如下图所示,其中一圈一圈的代表 ff 的等高线、弧线代表 g(x)=0g(x)=0。最优解 x^\hat{x}g(x)=0g(x)=0 这条墙拦住了去路,说明这个地方 x^\hat{x} 本来还想往下走的,因此 f(x^)\nabla f(\hat{x}) 一定指向 KK 的内部;可行域内部 g(x)<0g(x)<0,所以 g(x^)\nabla g(\hat{x}) 指向 KK 的外部。而 Lagrange 乘子法又说 f+λg=0\nabla f+\lambda \nabla g=0,因此这个 λ\lambda 必须 0\geq0

KKT条件示意图

也就是说,极值点的必要条件为(略去 hat 号,相当于解方程):

  1. Lagrange 函数偏导得 0:f+λg=0\nabla f+\lambda \nabla g=0
  2. 原始约束:g(x)0g(x)\leq0
  3. 互补松弛条件:λg(x)=0\lambda g(x)=0
  4. 梯度方向限制:λ0\lambda \geq0

这四个条件,合称为 KKT 条件(Karush-Kuhn-Tucker)

加入多个不等式约束、再加入等式约束,完整版的 KKT 长这样

数学分析 Chapter 9 多元函数微分学
https://dingnuooo.top/blog/math-analysis/chapter9
Author Dingnuooo
Published at May 4, 2024
Comment seems to stuck. Try to refresh?✨