约束问题分为无约束优化问题、等式约束优化问题、不等式约束优化问题三类。
线性规划问题:优化函数线性,约束函数线性;
二次规划问题:优化函数二次,约束函数线性;
非线性规划问题:优化函数非线性,约束函数非线性。
例如求 min f ( x , y ) \min f(x,y) minf(x,y),没有其它的等式或者不等式约束,充其量有定义域的限制。
根据Fermat定理,求导,若无解析解,可借助梯度下降法、牛顿法等。
在无约束优化问题的基础上,加了一些等式约束条件。举例:
min f ( x , y ) s . t . ( s u b j e c t t o ) h i ( x , y ) = 0 , i = 1 , 2 … \begin{aligned} & \min f(x,y)\\ & s.t. (subject~to)~~~~~~~h_{i}(x,y)=0, i=1,2 \dots \end{aligned} minf(x,y)s.t.(subject to) hi(x,y)=0,i=1,2…
除了最基本的目标函数外,还有若干等式约束条件。
利用拉格朗日乘数法,构造拉格朗日函数。
L ( x , y , α ) = f ( x , y ) + ∑ α i h i ( x , y ) L(x,y,\alpha)=f(x,y)+\sum \alpha_{i}h_{i}(x,y) L(x,y,α)=f(x,y)+∑αihi(x,y)
对自变量x,y和拉格朗日乘子 α \alpha α求偏导,结果等于0,构造i+2个方程
{ ▽ x , y L = 0 ▽ α L = 0 \left\{ \begin{aligned} \bigtriangledown _{x,y} L & = 0 \\ \bigtriangledown _{\alpha } L & = 0 \end{aligned} \right. {▽x,yL▽αL=0=0
解得 x , y , α x,y,\alpha x,y,α的值后,把 x , y x,y x,y带回验证,即可求得。
几何意义: f ( x , y ) f(x,y) f(x,y)在x-y平面的等高线与 h i ( x , y ) h_{i}(x,y) hi(x,y)相切,法向量平行,梯度相等,此时 α \alpha α是个标量,不改变方向。具体的几何意义,可以看blog:https://www.cnblogs.com/ooon/p/5721119.html 或者直接百度百科"朗格朗日乘数法"。
在等式约束优化问题的基础上,加了若干不等式约束条件。例如:
m i n f ( x , y ) s . t . h i ( x , y ) = 0 , i = 1 , 2 … g j ( x , y ) ≤ 0 , j = 1 , 2 … \begin{aligned} \ min~~~&f(x,y) \\ s.t.~~~&h_{i}(x,y)=0,i=1,2 \dots\\ &g_{j}(x,y) \leq 0,j=1,2 \dots \end{aligned} min s.t. f(x,y)hi(x,y)=0,i=1,2…gj(x,y)≤0,j=1,2…
除了最基本的目标函数,若干等式约束条件外,又加了若干不等式约束条件。注意不等式约束条件如果不是小于等于0的形式,就要化为这样的标准形式。
利用拉格朗日乘数法+KKT条件,构造拉格朗日函数如下:
L ( x , y , α , β ) = f ( x , y ) + ∑ α i h i ( x , y ) + ∑ β j g j ( x , y ) L(x,y,\alpha,\beta)=f(x,y)+\sum \alpha_{i}h_{i}(x,y)+\sum \beta_{j}g_{j}(x,y) L(x,y,α,β)=f(x,y)+∑αihi(x,y)+∑βjgj(x,y)
KKT条件如下:
(1) ▽ x , y L ( x , y , α , β ) = 0 \bigtriangledown_{x,y} L(x,y,\alpha,\beta)=0 \tag{1} ▽x,yL(x,y,α,β)=0(1)
(2) h i ( x , y ) = 0 h_{i}(x,y)=0 \tag{2} hi(x,y)=0(2)
(3) g j ( x , y ) ≤ 0 g_{j}(x,y) \leq 0 \tag{3} gj(x,y)≤0(3)
(4) β j ≥ 0 \beta_{j}\geq 0 \tag{4} βj≥0(4)
(5) β j g j ( x , y ) = 0 \beta_{j}g_{j}(x,y)=0 \tag{5} βjgj(x,y)=0(5)
(6) α i ≠ 0 \alpha_{i} \neq 0 \tag{6} αi̸=0(6)
其中 ( 2 ) ( 3 ) (2)(3) (2)(3)不用解释,初始约束条件, ( 4 ) (4) (4)是不等式约束拉格朗日乘子需要满足的条件, ( 5 ) (5) (5)松弛互补条件, ( 6 ) (6) (6)是等式约束拉格朗日乘子需要满足的条件。对于这几个条件的理解,可以看blog:https://www.cnblogs.com/ooon/p/5721119.html
问题:如果求的是最大值 max f ( x , y ) \max f(x,y) maxf(x,y),KKT条件是否还长这样?一些KKT条件的符号会不会变?
原始问题:先固定自变量 x , y x,y x,y,求拉格朗日乘子 α , β \alpha,\beta α,β使得 L ( x , y , α , β ) L(x,y,\alpha,\beta) L(x,y,α,β)最大,再求自变量 x , y x,y x,y使得 L ( x , y , α , β ) L(x,y,\alpha,\beta) L(x,y,α,β)最小。
min x , y θ P ( x , y ) = min x , y max α , β L ( x , y , α , β ) \min_{x,y}\theta_{P}(x,y)=\min_{x,y}\max_{\alpha,\beta} L(x,y,\alpha,\beta) x,yminθP(x,y)=x,yminα,βmaxL(x,y,α,β)
对偶问题:先固定拉格朗日乘子 α , β \alpha,\beta α,β,求自变量 x , y x,y x,y使得 L ( x , y , α , β ) L(x,y,\alpha,\beta) L(x,y,α,β)最小,再求拉格朗日乘子 α , β \alpha,\beta α,β使得 L ( x , y , α , β ) L(x,y,\alpha,\beta) L(x,y,α,β)最大。
max α , β θ D ( x , y ) = max α , β min x , y L ( x , y , α , β ) \max_{\alpha,\beta}\theta_{D}(x,y)=\max_{\alpha,\beta} \min_{x,y} L(x,y,\alpha,\beta) α,βmaxθD(x,y)=α,βmaxx,yminL(x,y,α,β)
可以证明,原始问题和优化问题完全一样,想让对偶问题与优化问题完全一样,需要满足强对偶性。具体可以看blog:https://www.cnblogs.com/ooon/p/5723725.html 。下面写一下重点。
弱对偶性: max α , β θ D ( x , y ) ≤ min x , y θ P ( x , y ) \max_{\alpha,\beta}\theta_{D}(x,y) \leq \min_{x,y}\theta_{P}(x,y) maxα,βθD(x,y)≤minx,yθP(x,y);强对偶性: max α , β θ D ( x , y ) = min x , y θ P ( x , y ) \max_{\alpha,\beta}\theta_{D}(x,y) = \min_{x,y}\theta_{P}(x,y) maxα,βθD(x,y)=minx,yθP(x,y)。
其中弱对偶性升级为强对偶性需要满足:slater条件或者KKT条件。李航在《统计学习方法》书中,提及了强对偶性成立的一种情况:当 f ( x ) f(x) f(x)和 g ( x ) g(x) g(x)为凸函数, h ( x ) h(x) h(x)为仿射函数, g ( x ) g(x) g(x)严格可行。
参考文献:
https://www.cnblogs.com/ooon/p/5721119.html
https://www.cnblogs.com/shixiangwan/p/7587447.html
https://www.cnblogs.com/ooon/p/5723725.html
《统计学习方法》