机器学习——SVM预备知识 拉格朗日对偶推导与证明


以下内容均为个人理解,如有错误,欢迎指出


文章目录

  • 问题描述
  • 解决方法
    • 添加的条件
    • Slater条件
    • 证明过程
      • 预备知识
    • KKT条件
  • 参考资料

以下内容在周志华老师《机器学习》的基础上加以理解而成,首先先明白,SVM之所以引入拉格朗日对偶,是为了降低算法复杂度,并且引入核函数时,在数学上更加自然


问题描述

考虑具有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=1mμigi(x)+i=1nβ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=1mμigi(x)+i=1nβ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条件

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 axax^0,*是向量点乘
这个定理画成图就是这个样子:
机器学习——SVM预备知识 拉格朗日对偶推导与证明_第1张图片

我们定义点集 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)μigi(x)i=1,2,3....nvj=hj(x)j=1,2,3....mtf(x)xRd
简化表示为 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),tf(w),wRd
该点集是一个凸集,证明如下

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+(1c)B0c1,则有
μ 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+(1c)μbvc=cva+(1c)vbtc=cta+(1c)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+(1c)vb=ch(xa)+(1c)h(xb)=h(cxa+(1c)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+(1c)μbcg(xa)+(1c)g(xb)g[cxa+(1c)xb]=g(xc)tc=cta+(1c)tbcf(xa)+(1c)f(xb)f[cxa+(1c)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)0h(x)=0,由于 P ∗ P^* P是不等式约束下的 f ( x ) f(x) f(x)的最小值,所以 t = p ∗ ≥ f ( x ∗ ) t=p^* \geq f(x^*) t=pf(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 vt,则 μ \mu μ可以趋近无穷,此时不等式左边为负无穷,不等式不成立。接下来就是分类讨论啦,出来吧,分类讨论兽!

  1. γ 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+tp,当 μ = g ( x ) , v = h ( x ) , t = f ( x ) \mu=g(x),v=h(x),t=f(x) μ=g(xv=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αigi(x)+i=1nβihi(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的等号成立

  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=0h(x)=0可得 α a g ( x ′ ) ≥ 0 \alpha_ag(x')\geq0 αag(x)0,而 α a ≥ 0 \alpha_a\geq0 αa0 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条件。

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μi0μigi(x)=0hj(x)=0xkL(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=1mμigi(x)+i=1nβihi(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、期末考试求过

你可能感兴趣的:(机器学习)