拉格朗日乘子法的本质

拉格朗日乘子法的本质是为了做凸函数的优化。

凸函数的优化,说的直白一点就是求某个函数的最小值。

如果没有约束的话,优化问题就是一道非常基础高中作业题,求求导数找到极值点就可以求最小值了。

然而现实是残酷的,真实的世界中有很多条条框框,这个事不能做,那个事也不能做,我们把这些规则限定称为:约束(constrain)。

在数学中,有两种约束,一种叫做等式约束,一种叫做不等式约束。我们可以使用g(x)=0表达式来代表等式约束,使用h(x)<=0的表达式来代表不等式约束。

这样我们就比较头大了,因为一个简单的问题变得复杂了,不好求了。

怎么办呢?这个时候拉格朗日出现了,他说:我来给你变个戏法,这样这个复杂问题又可以变成简单问题了,哈哈。

拉格朗日通过一系列复杂的推理我得出,约束条件h(x)/g(x)下f(x)的最小值问题,可以等于他们线性组合函数的无约束最优化问题。为了纪念他的这个发现,我们把这个线性组合函数称为拉格朗日函数:
L ( x , μ , λ ) = f ( x ) + Σ λ g ( x ) + Σ μ h ( x ) L(x,μ,λ) = f(x)+Σλg(x)+Σμh(x)

这样,问题就变成了如何求解拉格朗日函数的最值问题了。不过有几个问题还是要深入研究一下的,这里作为我的假设:

这个完整的拉格朗日函数其实并不是完全的无约束问题,这个式子中第二项的λ默认是≥0的;而第三项,更是需要满足KKT条件,因此,之前所说的把约束问题转换成无约束问题,只是针对等式约束中的x来说。求解拉格朗日函数的极值,还是一个有限定条件的问题。此处有点小沮丧。

对于KKT条件,主要是对第三项的分类讨论。如果不等号中的等号不成立,其实这个约束就没有作用,就可以把这项去掉,也就是μ=0,而如果等号成立,那么h=0,所以第三项中,μ和h至少有一项是成立的,因此会有μh=0这个约束条件。

还有一点比较难理解的就是λ和μ的符号问题,默认λ,μ≥0,这个还需要进一步研究理解。

发布了274 篇原创文章 · 获赞 40 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_41855010/article/details/105577633