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