拉格朗日乘子
1 拉格朗日乘子又称未定乘子,用于求解有一个或多个约束条件的函数驻点。考虑求 (f(mathbf{x})) 的最大值,约束条件为 (g(mathbf{x})=0) ,我们观察这样的驻点 (mathbf{x}^*) 满足什么样的条件。显然 (mathbf{x}^*) 在 (D) 维空间中由约束条件 (g(mathbf{x})=0) 确定的 (D-1) 维表面上,并且梯度 ( abla g(mathbf{x})) 必然垂直于该表面(该点处微平面的法向量)。
考虑 (g(mathbf{x})) 的泰勒展开,由于 (mathbf{x}) 在曲面 (g(mathbf{x})=0) 上,对于同在该曲面上的 (mathbf{x}+oldsymbolepsilon) ,有
[g(mathbf{x}+oldsymbolepsilon)= g(mathbf{x})+oldsymbolepsilon^ ext{T} abla g(mathbf{x})+o(VertoldsymbolepsilonVert), ]另一方面
[g(mathbf{x}+oldsymbolepsilon)=g(mathbf x)=0, ]从而
[lim_{VertoldsymbolepsilonVert ightarrow 0}oldsymbolepsilon^ ext{T} abla g(mathbf{x})=0. ]值得注意的是,这里 (oldsymbolepsilon) 在微平面 ((mathbf x, abla g(mathbf x))) (点法式)上,因为我们已经限定 (g(mathbf x)equiv 0) ,从而 (oldsymbolepsilon) 的维度也受到了限制。
由于 (mathbf{x}^*) 是 (f(mathbf{x})) 的驻点,且 (mathbf{x}^*) 在曲面 (g(mathbf{x})=0) 上,因此 ( abla f(mathbf{x}^*)) 必然也与该曲面垂直。故而存在某个常数 (lambda) 满足
这里 (lambda eq 0) 即为拉格朗日乘子,对应地,拉格朗日函数为
( abla_{mathbf{x},lambda}L=0)等价表示了约束条件下函数驻点的求解。
直观上讲,所谓拉格朗日乘子和最简单的设未知数求方程没有本质区别。这里我们知道 (lambda) 存在,从而先设出来而不是直接求出来,再利用方程组隐式表达所有约束或最值条件。
考虑约束条件是不等式时的情况,不失一般性地,假定约束条件为(g(mathbf{x})geq 0),最大化函数为(f(mathbf{x}))。分别考虑等号是否取得,可构造相同的拉格朗日函数,约束条件如下
即KKT(Karush-Kuhn-Tucker)条件。
显然这里对 (lambda) 符号的约束仍然是一阶条件。
若最小化函数是(f(mathbf{x})),此时拉格朗日函数为
KKT条件不变。