参考:
1.深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
2.简易解说拉格朗日对偶(Lagrange duality)
3.支持向量机(SVM)必备知识(KKT、slater、对偶)
一、应用场景及使用:
拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是求解有约束优化问题非常重要的两个求取方法。对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如果含有不等式约束,可以应用KKT条件去求取。当然,这两个方法求出的点只满足必要条件(也就是常说的极值点不一定是最值点,但最值点一定是极值点),当目标函数是凸函数时可转化为充分必要条件。(凸函数对应min类优化问题)
通常我们需要求解的最优化问题有如下几类:
(1)无约束优化问题,形如
minf(x)
(2)有等式约束的优化问题,形如
minf(x)s.t.hi(x)=0;i=1,…,nk
(3)有不等式约束的优化问题,形如
minf(x)s.t.hi(x)=0;i=1,…,n gj(x)≤0;j=1,…,m
对于第(1)类的优化问题,常常使用的方法就是Fermat定理,即使用求取f(x)的导数,然后令其为零,可以求得候选最优值,再在这些候选值中验证;如果是凸函数,可以保证是最优解。
对于第(2)类问题,利用拉格朗日系数将约束与目标函数按如下形式组合:
L(a,x)=f(x)+∑i=1naihi(x) 其中x是向量
然后求取最优值,
L(a,x) 对x求导取零,联立 hi(x)=0(ai≠0) 进行求取,这个在高等数学里面有讲,但是没有讲为什么这么做就可以,在后面,将简要介绍其思想。
对于第(3)类问题,同样将所有条件和目标函数写成一个式子:
L(a,b,x)=f(x)+∑i=1maigi(x)+∑i=1nbihi(x)
利用KKT条件求解最优值,
1. L(a,b,x) 对 x 求导为零
2.
3. ai≥0;bi≠0
4.