与原点的最短距离
假如有方程:
图像是这个样子滴:
现在我们想求其上的点与原点的最短距离:
这里介绍一种解题思路。首先,与原点距离为$a$的点全部在半径为$a$的圆上:
那么,我们逐渐扩大圆的半径:
显然,第一次与$x^2y=3$相交的点就是距离原点最近的点:
此时,圆和曲线相切,也就是在该点切线相同:
至此,我们分析出了:
在极值点,圆与切片相切
等高线
为了继续解题,需要引入等高线。这些同心圆:
可以看作函数$f(x,y)=x^2+y^2$的等高线:
根据梯度的性质(关于梯度可以查看如何通俗地理解梯度?),梯度向量:
是等高线的法线:
另外一个函数$g(x,y)=x^2y$的等高线为:
之前的曲线$x^2y=3$就是其中值为3的等高线:
因此,梯度向量:
也垂直于等高线$x^2y=3$
梯度向量是等高线的法线,更准确地表述是:
梯度与等高线的切线垂直
拉格朗日乘子法
求解
根据之前的两个分析:
综合可知,在相切点,圆的梯度向量和曲线的梯度向量平行。
也就是梯度向量平行,用数学符号表示为:
还必须引入$x^2y=3$这个条件,否则这么多等高线,不知道指的是哪一根:
因此联立方程:
求一下试试:
这就是拉格朗日乘子法。
定义
要求函数$f$在$g$约束下的极值这种问题可以表示为:
s.t. 意思是subject to,服从于,约束于的意思。
可以列出方程组进行求解:
用这个定义来翻译下刚才的例子,要求:
令:
求:
联立方程进行求解:
变形
这个定义还有种变形也比较常见,要求:
定义:
求解下面方程组即可得到答案:
把等式左边的偏导算出来就和上面的定义是一样的了。
$\lambda$的含义
由$({1})$式可知$λ$在共线的基础上描述了目标函数和约束函数的梯度的长度比值。
我们取其中对$x$偏导的分量进行分析,另外对该式子取绝对值:
如图,这里首先补充一点知识,当取消近似垂直上升或者垂直下降的时候,梯度较大,当梯度进行平行的时候,梯度较小。
可以发现,当$|λ|$越小,$∇g(x)$的模就越大于$∇f(x)$。极端情况下,$|λ→0|$,此时$|∇g(x)|→∞$。这意味着在$x$点,$g(x)$几乎是垂直的,对增量非常敏感:当最优值不小心变一点点,条件$g(x)=0$将严重偏离;若$|λ|$很大,$g(x)$几乎是水平的,则其对增量不敏感(若$g(x)$的轻微偏离不会造成太大的损失,可以适当牺牲约束条件的精确性,来换取更优的解)。
换句话说,$|λ|$越小,其求得的结果灵敏度越高,反之越低;可以说$|λ|$是衡量最优解灵敏度的一种方法。(当然也可以直接求$∇g(x)$来衡量灵敏度,这样更绝对一点)
多个约束条件
如果增加一个约束条件呢?比如说:
求:
从图上看约束条件是这样的:
很显然所求的距离是这样的:
那这三者的法线又有什么关系呢?$x^2+y^2$的法线是$x^2y-3$和$x-y-3$的法线的线性组合:
假设:
那么线性组合就表示为:
联立方程:
即可求解。
往更高纬度走的话,多约束条件的情况下,问题变为了$g_1,g_2$ 围成的曲线$C$ 和$f$ 相切,直观上看$\nabla f$ 必然在$\nabla g_1,\nabla g_2$ 张成的空间中:
这点的严格性这里就不证明了。