KKT条件是拉格朗日乘子法的泛化,利用KKT条件,既可以求解等式约束为题也可以求解不等式约束问题,而拉格朗日乘子法,只能处理等式约束问题,直接上KKT条件;
主要参考陈宝林《最优化理论与算法》,理个脉络出来。证明见原书。为了后面的svm说明,这里不上等式约束,个别符号也有变化。
(1) 要解决的问题:
(2) Fritz John条件
若在
处可微,
在
处连续,则
如果是问题(1)的局部最优解,则存在
,使得:
(3) KKT条件
在Fritz John条件的前提中加入
线性无关的条件,则
如果是问题(1)的局部最优解,则存在
,使得:
(4)定义Lagrange函数
则上述KKT条件可以写成:
如果是问题(1)的局部最优解,则存在
,使得:
(5) KKT条件示例
后续补上。
拉格朗日对偶使用了
https://www.cnblogs.com/massquantity/p/10807311.html
比陈宝林书更好理解,而且能在SVM证明中顺畅使用,我做了点修改,如下:
(6)拉格朗日对偶
原始问题为:
其拉格朗日函数为:
若违反了一些约束,既存在
使得
,则
,于是有:
则原始问题就等价于:
其对偶问题定义为:
当满足强对偶条件时:
slater 条件: f(x)为凸函数,g(x)为凹函数 ,且可行域中至少有一点使不等式约束严格成立时,强对偶性成立,对偶问题等价于原始问题。
有:
且必须满足KKT条件:
互补松弛:
原始问题可行性:
对偶问题可行性:
拉格朗日平稳性: