拉格朗日乘子法和KKT条件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拉格朗日乘子法和KKT条件相关的知识,希望对你有一定的参考价值。

参考技术A

拉格朗日乘子法要解决的就是有 等式 限制条件的凸优化问题。形式如下:

例如:


令 导数为0,得到:

求解出x, y, z即为最优解,同时也会求出λ,但是没什么用。

关于拉格朗日乘子法的直观理解网上已经有很多解释了,此处仅简要描述。如下图中的f和g,虚线为f的等高线,g限制条件,可以看出,f一定是在和g相切的地方取到最大(小)值,所以两者在此处的梯度方向相同,仅相差一个比例因子(即公式中的λ)。

注意g(x)=0是一条曲线,如果有多个限制条件则有多条曲线,此时将g(x)看做一个函数,则g(x)=0是g的一个等高线,函数与等高线垂直的方向一定是增加最快的方向,即梯度方向。f和g梯度方向一样,所以有:

然后再外加一个所求的点一定在曲线g上的方程(即F(x)对λ的导数为0),以上公式和拉格朗日乘子法得出的公式是等价的。

拉格朗日乘子法仅适用于等式约束条件,那如果约束条件为不等式怎么办呢?
答: 当约束条件为不等式时候,结合KKT条件,依然可以用拉格朗日乘子法求解,实际上KKT条件可以把不等式约束转化为等式约束。即,KKT条件求解的问题的形式为:

待续。。。

以上是关于拉格朗日乘子法和KKT条件的主要内容,如果未能解决你的问题,请参考以下文章

拉格朗日乘子法和KKT条件

拉格朗日乘子法和KKT条件

机器学习笔记——拉格朗日乘子法和KKT条件

第99:真正理解拉格朗日乘子法和 KKT 条件

拉格朗日乘子法和KKT条件

支持向量机:图解KKT条件和拉格朗日乘子法