以下内容均为个人理解,如有错误,欢迎指出
考虑具有m个等式约束和n个不等式约束,可行域D非空的优化问题
min x f ( x ) s . t h i ( x ) = 0 ( i = 1 , 2 , . . . . , m ) g j ( x ) ≤ 0 ( j = 1 , 2 , . . . . . . n ) \min \limits_{x}f(x)\\ s.t \ \ h_i(x)=0\ (i=1,2,....,m)\\ g_j(x)\leq0\ (j=1,2,......n) xminf(x)s.t hi(x)=0 (i=1,2,....,m)gj(x)≤0 (j=1,2,......n)
以下表述中,用原问题来表示上述问题,不等约束指 h i ( x ) = 0 ( i = 1 , 2 , . . . . , m ) g j ( x ) ≤ 0 ( j = 1 , 2 , . . . . . . n ) h_i(x)=0\ (i=1,2,....,m)\\ g_j(x)\leq0\ (j=1,2,......n) hi(x)=0 (i=1,2,....,m)gj(x)≤0 (j=1,2,......n)
我们借用拉格朗日乘子法的表达式
L ( x , λ , μ ) = f ( x ) + ∑ i = 1 m μ i g i ( x ) + ∑ i = 1 n β i h i ( x ) ( 式 1.0 ) L(x,\lambda,\mu)=f(x)+\sum_{i=1}^m\mu_ig_i(x)+\sum_{i=1}^n\beta_ih_i(x) (式1.0) L(x,λ,μ)=f(x)+i=1∑mμigi(x)+i=1∑nβihi(x)(式1.0)
对于满足原问题不等式约束的 x x x来说,对任意的 μ ≥ 0 \mu\geq0 μ≥0 ∑ i = 1 m μ i g i ( x ) + ∑ i = 1 n β i h i ( x ) ≤ 0 \sum_{i=1}^m\mu_ig_i(x)+\sum_{i=1}^n\beta_ih_i(x)\leq 0 i=1∑mμigi(x)+i=1∑nβihi(x)≤0
则对于可行域中任意 x x x来说,用 μ \mu μ表示 μ 1 , μ 2 , . . . , μ n \mu_1,\mu_2,...,\mu_n μ1,μ2,...,μn, β \beta β表示 β 1 , β 2 , . . . . , β m \beta_1,\beta_2,....,\beta_m β1,β2,....,βm,有 L ( x , μ , β ) ≤ f ( x ) L(x,\mu,\beta)\leq f(x) L(x,μ,β)≤f(x)
设 x ^ \hat x x^为原问题的解对应的自变量取值,进而有 min x L ( x , μ , β ) ≤ L ( x ^ , μ , β ) ≤ f ( x ^ ) ⇒ min x L ( x , μ , β ) ≤ f ( x ^ ) ( 式 1.1 ) \min \limits_{x}L(x,\mu,\beta)\leq L(\hat x,\mu,\beta)\leq f(\hat x)\Rightarrow \min \limits_{x}L(x,\mu,\beta)\leq f(\hat x)(式1.1) xminL(x,μ,β)≤L(x^,μ,β)≤f(x^)⇒xminL(x,μ,β)≤f(x^)(式1.1)
上述不等式里的 x x x即使不满足不等式约束,上述不等式也成立,到这里,我们把原问题中的不等式约束全部丢掉了,只剩下 μ ≥ 0 \mu \geq 0 μ≥0这一个约束
现在我们有一个想法,假设存在 ( x 、 μ 、 β ) (x、\mu、\beta) (x、μ、β)使得式1.1的等号成立,此时 min x L ( x , μ , β ) \min \limits_{x}L(x,\mu,\beta) xminL(x,μ,β)的取值不就是原问题的最小值了吗?然后通过某些方式求出 x ^ \hat x x^,原问题不就解决了吗?现在我们想想,什么情况下,式1.1的等号最有可能成立。观察 min x L ( x , μ , β ) \min \limits_{x}L(x,\mu,\beta) xminL(x,μ,β),我们可以得知以下两点:
1、 min x L ( x , μ , β ) \min \limits_{x}L(x,\mu,\beta) xminL(x,μ,β)其实是关于 β \beta β, μ \mu μ的函数,通过把 β 、 μ \beta、\mu β、μ看成常数,求解该函数的最小值,此时 x x x的取值可以表示为 β 、 μ \beta、\mu β、μ的某个组合形式,接着将这个组合形式代入 L ( x , μ , β ) L(x,\mu,\beta) L(x,μ,β),即可求得 min x L ( x , μ , β ) \min \limits_{x}L(x,\mu,\beta) xminL(x,μ,β)
2、式1.1对于可行域中的任意 x x x,对于任意 μ ≥ 0 \mu \geq 0 μ≥0均成立,所以 max λ , μ [ min x L ( x , μ , β ) ] ≤ f ( x ^ ) ( 式 1.2 ) \max \limits_{\lambda,\mu} [\min \limits_{x}L(x,\mu,\beta)] \leq f(\hat x)(式1.2) λ,μmax[xminL(x,μ,β)]≤f(x^)(式1.2)
因此,当 min x L ( x , β , μ ) \min \limits_{x}L(x,\beta,\mu) xminL(x,β,μ)取值最大时,等号最有可能成立,即 max μ , β [ min x L ( x , μ , β ) ] s . t ( μ ≥ 0 ) ( 式 1.3 ) \max \limits_{\mu,\beta} [\min \limits_{x}L(x,\mu,\beta)]\ s.t (\mu \geq 0)(式1.3) μ,βmax[xminL(x,μ,β)] s.t(μ≥0)(式1.3)
接下来,我们想通过添加某些条件,使得式1.2等号成立
假设2.0: f ( w ) , g i ( w ) f(w),g_i(w) f(w),gi(w)都是凸函数, h j ( w ) h_j(w) hj(w)是仿射函数(y=Ax+b),并且满足Slater条件的基础上,式1.1的等号成立
Slater条件是指,函数的可行域中存在一点 x ′ x' x′同时满足
{ g i ( x ) < 0 i = 1 , 2..... , n h j ( x ) = 0 j = 1 , 2..... , n \left\{ \begin{aligned} &g_i(x) <0 i=1,2.....,n\\ &h_j(x) =0 j=1,2.....,n \end{aligned} \right. {gi(x)<0i=1,2.....,nhj(x)=0j=1,2.....,n
接下来,我们将证明满足假设2.0的情况下,式1.2的等号成立
以下内容整合自期末考试求过
凸集:凸集是对于集合内的每一对点,连接该对点的直线段上的每个点也在该集合内
支撑超平面定理:设集合C是 R n R_n Rn空间中的闭凸集, x ^ \hat x x^是C边界上一点,则必存在一个过点 x ^ \hat x x^的超平面,使得C位于它的一个闭半空间。即存在法向量 a a a,使得对于C中任意点 x x x ,有 a ∗ x − a ∗ x ^ ≥ 0 a*x-a*\hat x \geq 0 a∗x−a∗x^≥0,*是向量点乘
这个定理画成图就是这个样子:
我们定义点集 G e G_e Ge
G e = ( μ 1 , μ 2 , . . . . . , μ n , v 1 , v 2 , . . . . . , v m , t ) 其 中 { μ i ≥ g i ( x ) i = 1 , 2 , 3.... n v j = h j ( x ) j = 1 , 2 , 3.... m t ≥ f ( x ) x ∈ R d G_e=(\mu_1,\mu_2,.....,\mu_n,v_1,v_2,.....,v_m,t)\\ 其中 \left\{ \begin{aligned} &\mu_i \geq g_i(x) i=1,2,3....n \\ &v_j = h_j(x) j=1,2,3....m\\ &t \geq f(x) x \in R^d \end{aligned} \right. Ge=(μ1,μ2,.....,μn,v1,v2,.....,vm,t)其中⎩⎪⎨⎪⎧μi≥gi(x)i=1,2,3....nvj=hj(x)j=1,2,3....mt≥f(x)x∈Rd
简化表示为 G e = ( μ , v , t ) : μ ≥ g ( w ) , v = h ( w ) , t ≥ f ( w ) , w ∈ R d G_e={(\mu,v,t):\mu \geq g(w),v=h(w),t \geq f(w),w \in R^d} Ge=(μ,v,t):μ≥g(w),v=h(w),t≥f(w),w∈Rd
该点集是一个凸集,证明如下
设 A ( μ a , v a , t a ) A(\mu_a,v_a,t_a) A(μa,va,ta)和 B ( μ b , v b , t b ) B(\mu_b,v_b,t_b) B(μb,vb,tb)是 G e G_e Ge内的两个点,则AB连线上的点 C C C可表示为 C = c A + ( 1 − c ) B , 0 ≤ c ≤ 1 C=cA+(1-c)B,0 \leq c \leq 1 C=cA+(1−c)B,0≤c≤1,则有
μ c = c μ a + ( 1 − c ) μ b v c = c v a + ( 1 − c ) v b t c = c t a + ( 1 − c ) t b \mu_c=c\mu_a+(1-c)\mu_b\\ v_c=cv_a+(1-c)v_b\\ t_c=ct_a+(1-c)t_b μc=cμa+(1−c)μbvc=cva+(1−c)vbtc=cta+(1−c)tb
接下来,我们只需要证明 C C C在 G e G_e Ge中即可,即我们需要找到一个点 x c x_c xc,使得点 C C C满足 G e G_e Ge中的约束条件,我们假设 x c = λ x a + ( 1 − λ ) x b 0 ≤ λ ≤ 1 x_c=\lambda x_a+(1-\lambda)x_b \ 0 \leq \lambda \leq 1 xc=λxa+(1−λ)xb 0≤λ≤1
对于 v c v_c vc,由于h(x)是一个仿射函数,因此 v c = c v a + ( 1 − c ) v b = c h ( x a ) + ( 1 − c ) h ( x b ) = h ( c x a + ( 1 − c ) x b ) = h ( x c ) v_c=cv_a+(1-c)v_b=ch(x_a)+(1-c)h(x_b)=h(cx_a+(1-c)x_b)=h(x_c) vc=cva+(1−c)vb=ch(xa)+(1−c)h(xb)=h(cxa+(1−c)xb)=h(xc)。
对于 μ c \mu_c μc和 v c v_c vc,由于 g ( x ) g(x) g(x)和 h ( x ) h(x) h(x)都是凸函数,凸函数满足
f ( λ x 1 + ( 1 − λ ) x 2 ) ≤ λ f ( x 1 ) + ( 1 − λ ) f ( x 2 ) f(\lambda x_1+(1-\lambda) x_2)\leq \lambda f(x_1)+(1-\lambda) f(x_2) f(λx1+(1−λ)x2)≤λf(x1)+(1−λ)f(x2)
则有
μ c = c μ a + ( 1 − c ) μ b ≥ c g ( x a ) + ( 1 − c ) g ( x b ) ≥ g [ c x a + ( 1 − c ) x b ] = g ( x c ) t c = c t a + ( 1 − c ) t b ≥ c f ( x a ) + ( 1 − c ) f ( x b ) ≥ f [ c x a + ( 1 − c ) x b ] = f ( x c ) \mu_c=c\mu_a+(1-c)\mu_b \geq cg(x_a)+(1-c)g(x_b)\geq g[cx_a+(1-c)x_b]=g(x_c)\\ t_c=ct_a+(1-c)t_b \geq cf(x_a)+(1-c)f(x_b) \geq f[cx_a+(1-c)x_b]=f(x_c) μc=cμa+(1−c)μb≥cg(xa)+(1−c)g(xb)≥g[cxa+(1−c)xb]=g(xc)tc=cta+(1−c)tb≥cf(xa)+(1−c)f(xb)≥f[cxa+(1−c)xb]=f(xc)
由此可知 G e G_e Ge里的任意一对点,该对点的直线段上的每个点也在 G e G_e Ge内,因此 G e G_e Ge是凸集
设 x ∗ x^* x∗为f(x)在不等式约束(原问题描述那一节的不等式约束)下的最小值对应的x取值,设 p ∗ = f ( x ∗ ) p^*=f(x^*) p∗=f(x∗),那么 ( 0 , 0 , p ∗ ) (0,0,p^*) (0,0,p∗)在 G e G_e Ge中吗?(为什么选择这个点我也不知道…,总之这个点可以整出结论)
由于 x ∗ x^* x∗满足不等式约束(原问题描述那一节的不等式约束),自然满足 g ( x ) ≤ 0 、 h ( x ) = 0 g(x) \leq 0、h(x)=0 g(x)≤0、h(x)=0,由于 P ∗ P^* P∗是不等式约束下的 f ( x ) f(x) f(x)的最小值,所以 t = p ∗ ≥ f ( x ∗ ) t=p^* \geq f(x^*) t=p∗≥f(x∗),并且由于对于任意小的正数 δ \delta δ, ( 0 , 0 , p ∗ − δ ) ∉ G e (0,0,p^*-\delta) \notin G_e (0,0,p∗−δ)∈/Ge,所以 ( 0 , 0 , p ∗ ) (0,0,p^*) (0,0,p∗)是一个边界点
好的,这个时候就可以使用支撑超平面定理了,出来吧,支撑超平面定理兽!
在支撑超平面定理的支持下,对于边界点 ( 0 , 0 , p ∗ ) (0,0,p^*) (0,0,p∗)我们知道必存在一个法向量 ( α a , β a , γ a ) (\alpha_a,\beta_a,\gamma_a) (αa,βa,γa),使得对于 G e G_e Ge中的任何一点 ( μ , v , t ) (\mu,v,t) (μ,v,t),有 α a μ + β a v + γ a t ≥ γ a p ∗ \alpha_a \mu+\beta_a v+ \gamma_a t \geq \gamma_a p^* αaμ+βav+γat≥γap∗(式1.4)
为了使上式恒成立, α a 、 γ a \alpha_a、\gamma_a αa、γa必须大于等于0,假设两者中一个小于0,例如 α < 0 \alpha<0 α<0,固定 v , t v,t v,t,则 μ \mu μ可以趋近无穷,此时不等式左边为负无穷,不等式不成立。接下来就是分类讨论啦,出来吧,分类讨论兽!
γ a > 0 \gamma_a > 0 γa>0的情况
设 α ∗ = α a / γ a α ∗ ≥ 0 \alpha^*=\alpha_a/\gamma_a \ \ \alpha^* \geq 0 α∗=αa/γa α∗≥0, β ∗ = β a / γ a \beta^*=\beta_a/\gamma_a β∗=βa/γa,则式1.3可化为 α ∗ μ + β ∗ v + t ≥ p ∗ \alpha^*\mu+\beta^*v+t \geq p^* α∗μ+β∗v+t≥p∗,当 μ = g ( x ) , v = h ( x ) , t = f ( x ) \mu=g(x),v=h(x),t=f(x) μ=g(x),v=h(x),t=f(x)时(这里偷懒一下,本来是要展开来写的),将其展开,即为 L ( x , α ∗ , β ∗ ) = f ( x ) + ∑ i = 1 m α i ∗ g i ( x ) + ∑ i = 1 n β i ∗ h i ( x ) ≥ p ∗ L(x,\alpha^*,\beta^*)=f(x)+\sum_{i=1}^m\alpha_i^*g_i(x)+\sum_{i=1}^n\beta_i^*h_i(x) \geq p^* L(x,α∗,β∗)=f(x)+∑i=1mαi∗gi(x)+∑i=1nβi∗hi(x)≥p∗,该不等式对于任意的x均成立,自然有 min x L ( x , α ∗ , β ∗ ) ≥ p ∗ \min \limits_{x}L(x,\alpha^*,\beta^*) \geq p^* xminL(x,α∗,β∗)≥p∗,因此
max α ≥ 0 , β min x L ( x , α , β ) ≥ min x L ( x , α ∗ , β ∗ ) ≥ p ∗ \max \limits_{\alpha\geq0,\beta}\min \limits_{x}L(x,\alpha,\beta)\geq \min \limits_{x}L(x,\alpha^*,\beta^*) \geq p^* α≥0,βmaxxminL(x,α,β)≥xminL(x,α∗,β∗)≥p∗(注意 α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗是具体值,而 α , β \alpha,\beta α,β是变量,由前所述我们可以知道 min x L ( x , α , β ) \min \limits_{x}L(x,\alpha,\beta) xminL(x,α,β)是关于 α 、 β \alpha、\beta α、β的函数,结合这两点即可理解这个不等式),由之前的描述可知 max α ≥ 0 , β min x L ( x , α , β ) ≤ p ∗ \max \limits_{\alpha\geq0,\beta}\min \limits_{x}L(x,\alpha,\beta) \leq p^* α≥0,βmaxxminL(x,α,β)≤p∗(这里改了一下符号而已),所以 max α ≥ 0 , β min x L ( x , α , β ) = p ∗ \max \limits_{\alpha\geq0,\beta}\min \limits_{x}L(x,\alpha,\beta)=p^* α≥0,βmaxxminL(x,α,β)=p∗,此时式1.2的等号成立
γ a = 0 \gamma_a = 0 γa=0的情况
其实Slater已经保证了这种情况不会出现
Slater条件保证在可行域内,存在 x ′ x' x′使得 g ( x ′ ) < 0 , h ( x ′ ) = 0 g(x')<0,h(x')=0 g(x′)<0,h(x′)=0,针对满足Slater条件的点,我们有 E = ( g ( x ′ ) , h ( x ′ ) , f ( x ′ ) ) E=(g(x'),h(x'),f(x')) E=(g(x′),h(x′),f(x′))在 G e G_e Ge中(只需将 G e G_e Ge中,点应该满足的不等式约束条件取等),同理, E ′ = ( g ( x ′ + Δ g ) , h ( x ′ ) , f ( x ′ + Δ f ) ) E'=(g(x'+\Delta_g),h(x'),f(x'+\Delta_f)) E′=(g(x′+Δg),h(x′),f(x′+Δf))也应该在 G e G_e Ge中, Δ g , Δ f \Delta_g,\Delta_f Δg,Δf的取值使得 E ′ E' E′为 G e G_e Ge的内点
由式1.4可得:
α a g ( x ′ ) + β a h ( x ′ ) + γ a f ( x ′ ) ≥ 0 ( 式 1.5 ) \alpha_ag(x')+\beta_ah(x')+\gamma_af(x')\geq0 (式1.5) αag(x′)+βah(x′)+γaf(x′)≥0(式1.5)
α a g ( x ′ + Δ g ) + β a h ( x ′ ) + γ a f ( x ′ + Δ f ) > 0 ( 式 1.6 ) \alpha_ag(x'+\Delta_g)+\beta_ah(x')+\gamma_af(x'+\Delta_f)>0 (式1.6) αag(x′+Δg)+βah(x′)+γaf(x′+Δf)>0(式1.6)
由于 γ a = 0 , h ( x ′ ) = 0 \gamma_a=0,h(x')=0 γa=0,h(x′)=0可得 α a g ( x ′ ) ≥ 0 \alpha_ag(x')\geq0 αag(x′)≥0,而 α a ≥ 0 \alpha_a\geq0 αa≥0, g ( x ′ ) < 0 g(x')<0 g(x′)<0,所以 α a = 0 \alpha_a=0 αa=0,这会导致式1.6左边的式子为0,此时出现矛盾,所以 γ a ! = 0 \gamma_a!=0 γa!=0
那么到这里,我们可知式1.3的解即为原问题的解,但是我们想更进一步求得自变量的值,那么我们可不可以像之前一样添加某些条件,使得式1.3的解对应的自变量 x x x的取值即为原问题解对应的自变量取值呢?由此引出KKT条件。
对于式1.3的变量,KKT条件为: { g i ( x ) ≤ 0 i = 1 , 2..... n μ i ≥ 0 i = 1 , 2..... n μ i g i ( x ) = 0 i = 1 , 2..... n h j ( x ) = 0 j = 1 , 2..... m ∂ L ( x k , μ , β ) ∂ x k = 0 k = 1 , 2.... d \left\{ \begin{aligned} &g_i(x) \leq0 & i=1,2.....n\\ &\mu_i \geq0 & i=1,2.....n\\ &\mu_ig_i(x)=0 & i=1,2.....n\\ &h_j(x)=0 &j=1,2.....m\\ &\frac{\partial L(x_k,\mu,\beta)}{\partial x_k}=0 &k=1,2....d \end{aligned} \right. ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧gi(x)≤0μi≥0μigi(x)=0hj(x)=0∂xk∂L(xk,μ,β)=0i=1,2.....ni=1,2.....ni=1,2.....nj=1,2.....mk=1,2....d
假设式1.3的解为 ( x ∗ , μ ∗ , β ∗ ) (x^*,\mu^*,\beta^*) (x∗,μ∗,β∗),设原问题的解为 p ∗ p^* p∗,若 x ∗ x^* x∗满足 f ( x ∗ ) = p ∗ f(x^*)=p^* f(x∗)=p∗,则KKT条件的第一个和第三个要求表明 x ∗ x^* x∗在原问题的可行域内,KKT条件的第二个要求本身就是式1.3的约束条件,而KKT的第三个与第四个要求满足
f ( x ∗ ) + ∑ i = 1 m μ i ∗ g i ( x ) + ∑ i = 1 n β i ∗ h i ( x ) = f ( x ∗ ) = p ∗ f(x^*)+\sum_{i=1}^m\mu_i^*g_i(x)+\sum_{i=1}^n\beta_i^*h_i(x)=f(x^*)=p^* f(x∗)+i=1∑mμi∗gi(x)+i=1∑nβi∗hi(x)=f(x∗)=p∗
此时式1.3的解即为原问题的解,那么第五个条件是干啥的呢?求解 min x L ( x , μ , β ) \min \limits_{x}L(x,\mu,\beta) xminL(x,μ,β)时,我们是将 μ , β \mu,\beta μ,β看成是常数来求解的,在满足假设2.0的前提下, L ( x , μ , β ) L(x,\mu,\beta) L(x,μ,β)是一个关于 x x x的凸函数,要求最小,只需对 x x x求导并使其值为0,即KKT的最后一个条件,因此,KKT条件融合了使式1.3的解对应的自变量 x x x的取值为原问题解对应的自变量取值需要满足的所有条件与处理过程
1、《机器学习》,周志华
2、期末考试求过