老师们能不能从几何直观的角度解释下为什么拉格朗日乘子法能取到最优值?


@管枫
已邀请:

当我们使用拉格朗日乘子法的时候我们实际上在做什么

拉格朗日乘子法是在求解条件极值的时候使用的一种方法,为了更好的理解这种方法,我们可以考虑如下两个问题:
1. 求函数\(f(x,y)=x^2 + y^2\) 的极小值
2. 求函数\(f(x,y)=x^2 + y^2\) 在约束条件\(y=1\)的极小值

对于问题1我们的做法是求解方程\(\frac{\partial}{\partial x}f=0, \frac{\partial}{\partial y}f=0\). 得到\(x=0,y=0\).

但是对于问题2我们无法直接使用这种方法,实际上因为这个问题比较简单,我们可以直接看出当限制在\(y=1\)上的时候,这个函数在\(x=0\)时达到极小值。也就是说在\((0,1)\)这个点处。显然在此点处,函数\(f(x,y)\)的梯度不是零而是\(\nabla f(0,1) = (0,2)\).

所以在条件极值的问题上,一个函数的极值点不一定能取到梯度为零的位置(因为这个条件很讨厌)!!也就是说那个利用求梯度等于零的方法不能直接用了。这可以说是条件极值之所以困难的一个主要因素。

那么既然极值点的梯度可能不为零,是不是说这个梯度就没有用了呢?23333

然而,事情并没有那么糟!拉格朗日乘子法其实就是在此种情况下尽可能有效的使用梯度来解决条件极值的一种方法。下面我们来看看,拉格朗日乘子到底干了一件什么事情。

我们仍然以前面的例子为参考,我们发现在问题2的极值点处,虽然梯度不等于零,但是梯度与约束条件的曲线\(y=1\)是垂直的。而且这并不是一个巧合,实际上如果梯度与约束条件不垂直的话,那么在约束条件的方向上我们就可以进一步使函数值变小,这与 这个点作为极值点 矛盾。

这个“极值点处梯度与约束曲线垂直”的现象,就是拉格朗日乘子法的直观基础。

与约束曲线垂直的另一种说法就是说,梯度落在了约束曲线的法空间内部,而对于约束条件\(h_i=0\)来说,约束曲线的法空间就是由\(\nabla h_i\)张成的那个空间。

也就是说如果约束条件写成\(h_i=0\)的话,那么在这个极值点处,虽然\(\nabla f\)不一定是0向量,但是总存在\(\lambda_i\)使得
$$\nabla f + \sum\limits_{i=1}^p\lambda_i \nabla h_i = 0$$
或者说 这个函数 \( f + \sum\limits_{i=1}^p\lambda_i h_i\)的梯度为0.
$$\nabla (f + \sum\limits_{i=1}^p\lambda_i h_i) = 0$$

于是如果能找到合适的\(\lambda_i\)我们就可以像求解问题1一样来利用梯度等于零来求解这个变换过的条件极值问题了,以问题2为例,\(h_i(x,y)=y-1\),我们要求解方程组
$$\nabla (f + \sum\limits_{i=1}^p\lambda_i h_i) = (2x,2y+\lambda)= 0$$
$$y=1$$
得到
$$\lambda=-2, x=0$$

这个问题相对应的几何图像如下

拉格朗日乘数法.JPG


那么不等式约束的乘数法又是什么意思呢?其实不等式约束意味着可行域为定义域里的一个区域。如果极值点取在了这个区域的内部,那么条件极值就与原问题类似,都可以用梯度为零的方法来求解。而当极值点落在了区域的边界上的时候,那么不等式约束就等效于一个等式约束了,所以几何意义仍然由上面的例子给出。从这个lagrange 乘子法的几何解释我们可以看出,不论是这种方法,还是对偶方法或者KKT条件他们实际上关心的都是目标函数在边界上的性质——利用拉格朗日乘子,来把一个在边界上不太好的函数变得好一些

要回复问题请先登录注册

返回顶部