Processing math: 2%

[ML Notes] 拉格朗日函数:推导过程

1. 推导过程

  以二元函数为例,要寻找 f(x,y) 在约束条件 g(x,y)=0 下的极值,如

min

  假设 f(x, y)(x_0, y_0) 处取得极值,则有

g(x_0, y_0) = 0 \tag{2}

  假设在 (x_0, y_0) 的某一邻域内 f(x, y)g(x, y) 都有连续的一阶偏导数,且 g_y(x_0, y_0) \neq 0,由隐函数存在定理可知,g(x, y) 确定一个连续且具有连续导数的函数 y = \phi(x),此时 f(x, y) 变为变量 x 的函数

z = f(x, \phi(x))

f(x, y)(x_0, y_0) 处取得极值,有

\left. \frac{\mathrm{d}z}{\mathrm{d}x} \right\vert_{x=x_0} = f_x(x_0, y_0) + f_y(x_0, y_0) \left.\frac{\mathrm{d} y}{\mathrm{d} x}\right\vert_{x=x_0} = 0 \tag{3}

由式 (2) 和隐函数求导公式,有

\left.\frac{\mathrm{d} y}{\mathrm{d} x}\right\vert_{x=x_0} = – \frac{g_x(x_0, y_0)}{g_y(x_0, y_0)} \tag{4}

将式 (4) 代入式 (3),得到

f_x(x_0, y_0) – f_y(x_0, y_0) \frac{g_x(x_0, y_0)}{g_y(x_0, y_0)} = 0 \tag{5}

\frac{f_y(x_0, y_0)}{g_y(x_0, y_0)} = -\lambda \tag{6}

将式 (6) 代入式 (5),得到

f_x(x_0, y_0) + \lambda g_x(x_0, y_0) = 0 \tag{7}

由式 (5) 本身,有

f_y(x_0, y_0) + \lambda g_y(x_0, y_0) = 0 \tag{8}

  引进辅助函数

L(x, y) = f(x, y) + \lambda g(x, y) \tag{9}

其中 L(x, y) 称为拉格朗日函数,\lambda 称为拉格朗日乘子。

  结合拉格朗日函数,式 (7)(8)(2) 构成方程组

\begin{cases} f_x(x_0, y_0) + \lambda g_x(x_0, y_0) = 0 \\ f_y(x_0, y_0) + \lambda g_y(x_0, y_0) = 0 \\ g(x, y) = 0 \end{cases} \tag{10}

求解上述方程组,即可得到 x_0y_0\lambda

2. 拉格朗日乘数法

  要找函数 z = f(x, y) 在附加条件 g(x, y) = 0 下的可能极值点,可以先作拉格朗日函数

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

其中 \lambda 为参数。求其对 xy 的一阶偏导数并使之为零,然后与约束条件 g(x, y) = 0 联立起来

\begin{cases} f_x(x_0, y_0) + \lambda g_x(x_0, y_0) = 0 \\ f_y(x_0, y_0) + \lambda g_y(x_0, y_0) = 0 \\ g(x, y) = 0 \end{cases}

由该方程组解出 xy\lambda,由此得到的 (x, y) 就是函数 f(x, y) 在附加条件 g(x, y) = 0 下的可能的极值点。

  对于有多个自变量的场景,如要求函数

u = f(x, y, z, t)

在附加条件

\begin{aligned} g(x, y, z, t) = 0 \\ h(x, y, z, t) = 0 \end{aligned}

下的极值,可以先作拉格朗日函数

L(x, y, z, t) = f(x, y, z, t) + \lambda g(x, y, z, t) + \mu h(x, y, z, t)

其中 \lambda\mu 均为参数。求上式的一阶偏导数并使之为零,与两个约束条件联立求解即可。


  隐函数存在定理 设函数 F(x, y) 在点 (x_0, y_0) 的某一邻域内具有连续偏导数,且 F(x_0, y_0) = 0F_y(x_0, y_0) \neq 0,则方程 F(x, y) = 0 在点 (x_0, y_0) 的某一邻域内恒能唯一确定一个连续且具有连续导数的函数 y = f(x),它满足条件 y_0 = f(x_0),并有

\frac{\mathrm{d} y}{\mathrm{d} x} = – \frac{F_x}{F_y}