MENU

拉格朗日乘数法学习笔记

偏导数

偏导数用于描述一个多元函数在某个维度的变化率。

形式化的,如果我们有多元函数 $f(x_1,x_2,\dots,x_n)$,对 $x_i$ 求偏导则有:
$$
f_{x_i}(x_1,x_2,\dots,x_n)=\dfrac{\partial f}{\partial x_i}=\lim_{\Delta x_i\to 0} \frac{f(x_1,\dots,x_i+\Delta x_i,\dots,x_n)-f(x_1,\dots,x_i,\dots,x_n)}{\Delta x_i}
$$
计算时也就是将除了 $x_i$ 之外的自变量都视为常量求导。

举例来说,令 $f(x,y)=x^2+3xy+y^3$,则:
$$
\begin{aligned}
\frac{\partial f}{\partial x}&=2x+3y\\
\frac{\partial f}{\partial y}&=3y^2+3x
\end{aligned}
$$

方向导数

方向导数是一个多元函数延某个方向的变化率。

函数可微时(可微可以理解为光滑)任意方向 $\mathbf{v}$ 的方向导数均存在,且 $f_{\mathbf{v}}(\mathbf{x})=\mathbf{v}\cdot \left(\dfrac{\partial f}{\partial x_1},\dots,\dfrac{\partial f}{\partial x_n}\right)$。

梯度

梯度是函数在某点处值增长最快的方向。

我们只讨论可微函数的梯度。

增长速度最快也即方向导数的值最大,由方向导数的公式我们不难发现 $\mathbf{v}$ 与 $\left(\dfrac{\partial f}{\partial x_1},\dots,\dfrac{\partial f}{\partial x_n}\right)$ 同向时方向导数取到最大值,于是 $f$ 的梯度,记作 $\nabla f$,等于 $\left(\dfrac{\partial f}{\partial x_1},\dots,\dfrac{\partial f}{\partial x_n}\right)$。

拉格朗日乘数法

拉格朗日乘数法用于解决约束下的多元函数极值问题。

若我们有 $f(x_1,x_2,\dots,x_n)$ 与等式形式的限制 $g(x_1,x_2,\dots,x_n)=0$,则构造拉格朗日函数
$$
L(x_1,x_2,\dots,x_n,\lambda)=f(x_1,x_2,\dots,x_n)+\lambda g(x_1,x_2,\dots x_n)
$$
对 $x_1,\dots,x_n$ 分别求偏导并令其等于 $0$,与限制联立得到 $n+1$ 个方程,求解即可得出 $f$ 在限制下的所有极值点,带入计算可以得到最大值和最小值。

这种做法的正确性在于,$f$ 取到极值时一定有 $f$ 的等高线与 $g=0$ 相切,可以说明这等价于 $f$ 与 $g$ 在该点的梯度平行,故每个 $\dfrac{\partial f}{\partial x_i}:\dfrac{\partial g}{\partial x_i}$ 均相等。

多个限制也同理。

需要特殊处理 $\nabla g=0$,或多个限制时 $\nabla g_i$ 线性相关的情况。

扩展

若我们有不等式形式的限制 $h(x_1,x_2,\dots,x_n)\le 0$,那么取到极值只有两种情况,要么 $h(x_1,x_2,\dots x_n)=0$,否则函数在 $h<0$ 限制下的极值点一定也是函数在无限制时的极值点,所以我们只需要忽略 $h$ 的限制计算极值点,然后将解带回 $h$ 看是否满足限制即可。

实际解题时,枚举哪些不等式限制取到边界然后分别进行求解即可。

可以参考 KKT 条件。

References

10幅图帮助理解拉格朗日乘数法的原理 - 知乎 (zhihu.com)

通俗理解方向导数、梯度|学习笔记 - 知乎 (zhihu.com)

Last Modified: March 14, 2024
Archives Tip
QR Code for this page
Tipping QR Code