KKT条件理解


在学习过程中,一直纠结于KKT条件到底是怎么来的,然后翻阅资料,发现这个博主写的很好,就给引用过来了。

 

一、带等式约束的优化问题

带等式约束的优化问题是指我们有个求最大值或者最小值的目标函数,同时,针对该目标函数我们还有一些约束条件,这些约束条件是等式。

该问题的形式化描述如下:

 

 

 

 

求解上述问题一般有两种方法,一种是消元法,就是把这些等式联立,然后求解即可。也就是多元一次方程组的求解了。之类不多说了。另一种方法是拉格朗日乘数法,这是高等数学里面提供的一种方法。这是一种寻找多元函数在其变量受到一个或者多个条件的约束的时候,求极值的方法。该方法将一个有nn个变量和kk个等式约束条件的最优化问题,转换成一个有n+kn+k个变量的方程组求解问题。该方法会引入一组未知数,这些未知数称为拉格朗日乘子(或者算子、乘数等)。对上式进行拉格朗日乘数法转换得到一个新的函数:

 

 

 

这个时候对上述转换后的方程求解其极值点会包含原问题所有的极值点,但是不保证每个极值点都是原问题的极值点。这个理论上有证明这里忽略了。因此,当转换后的公式只包含一个极值点的时候,我们可以对上市求偏导后联立方程,得到的结果就是原来结果的极值点。上式中的未知数包含了所有的xx和\lambdaλ:

 

 

​​

拉格朗日乘数法有很强的几何意义,也可以用来解释为何这样做可以求出最终结果。

二、带不等式约束的最优化问题

与拉格朗日乘法类似,如果最优化问题的约束是不等式,那么我们可以使用KKT条件来求解。KKT条件就是拉格朗日乘数法在带不等式约束优化问题上的推广

假设我们有如下的最优化问题:

 

 

那么该问题的拉格朗日函数为:

 

 KKT条件是指一组条件,它是一组解成为原问题最优解的必要条件。如果原问题是凸问题,那么这个条件也是充分条件。K.K.T.条件包括平稳条件、互补松弛条件、对偶可行性条件、原问题可行性条件等几类。上述问题的KKT条件如下:

 

 

 

原文转自:https://www.datalearner.com/blog/1051551326031522


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM