拉格朗日乘子法和KKT条件

Posted

tags:

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

参考技术A 首先,拉格朗日乘子法和kkt条件都是解决数学中最优化问题的方法。什么时候会用到这种方法呢?
比如,求解函数 ,直接求 关于x的一阶导数,让一阶导数为0,便得到 取最小值时的最优解为1。但要是x有限制条件呢?那么就会用到上面的两种方法。

一、限制条件为等式

这是一个有等式约束的优化问题,如果不借助其他工具是不是很难求解,尤其是 或g(x,y)都比较复杂的情况下。拉格朗日乘子法将这个问题转化成了无约束问题,那么就可以用求偏导的方法去求解。拉格朗日函数为:

求 分别关于 的偏导(没有找到偏导符号,用d代替):

通过求解 的偏导数为0,便可获得 取极值时的最优解。
那么为什么这样做呢?即 取极值时的最优解是否就是 的最优解呢?其实在等式约束条件这里是非常容易理解的,因为 的后半分 恒等于0,那么自然 和 的最优解是一致的。
从另一个角度来看,下图是对原问题的几何描述,只有当 和 的切线重合的时候,原问题能够取得最优解。那么在切点的梯度有

那么限制条件为不等式呢?下面来看

二、限制条件为不等式
当最优解问题是:

那么如果同样用拉格朗日函数将上述有约束问题化解为无约束问题,是否可以直接通过求 分别关于 的偏导,令偏导数为0来获得最优解呢?答案是不能。为什么不能呢?看下图就明白了:

所以我们采用广义拉格朗日乘子法,先求 关于乘子的最大,再求关于x,y的最小。原始问题的拉格朗日函数为:

这个问题很难求解,所以想要将问题转化为原问题的对偶问题:

那么原问题和对偶问题的解是否等价呢?

所以这里我们引入KKT条件, 同时是原始问题和对偶问题的解的充分必要条件就是满足以下条件:

当 满足上述的kkt条件时,对偶问题的解就是原始问题的解。当约束如图1所示,那么 ;当约束如图2所示,实际上约束已经不起作用,那么 。

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

拉格朗日乘子法和KKT条件

拉格朗日乘子法和KKT条件

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

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

拉格朗日乘子法和KKT条件

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