SVM的原问题和对偶问题模型

这两天,我翻开沉压已久的学习笔记,看到了当初总结的SVM学习心得,为了避免不小心弄丢了,就在这里重新记录一下吧,希望对初学机器学习理论并热爱公式推导的朋友有所帮助。SVM作为一种经典的机器学习算法,在处理“小样本”问题时效果非常显著。本文主要分成三大部分,第一部分介绍一些基本知识,这些知识在SVM的公式推导过程中会用到,所以最先介绍。第二部分针对数据集线性可分的情况,推导SVM的原问题和对偶问题表达式。第三部分针对数据集线性不可分的情况,推导SVM的原问题和对偶问题表达式。

基础知识

带约束优化问题的求解方法

带约束优化问题的一般式如下,

m i n f ( w ) subject   to    g i ( w ) ≤ 0 , i = 1 , . . . , m     h i ( w ) = 0 , i = 1 , . . . , n min f(w) \\ \textit{subject to}\ \ g_{i}(w)\leq0, i=1,...,m\\ \ \ \ h_{i}(w)=0, i=1,...,n minf(w)subject to  gi(w)0,i=1,...,m   hi(w)=0,i=1,...,n

若约束条件比较复杂,则很难求解,因此我们希望把带约束的优化问题转化为无约束的优化问题。定义Lagrangian式如下,

L ( w , α , β ) = f ( w ) + ∑ i = 1 m α i × g i ( w ) + ∑ i = 1 n β i × h i ( w ) L(w, \alpha ,\beta )=f(w)+\sum_{i=1}^{m}\alpha_{i}\times g_{i}(w)+\sum_{i=1}^{n}\beta_{i}\times h_{i}(w) L(w,α,β)=f(w)+i=1mαi×gi(w)+i=1nβi×hi(w)

新的无约束表达式为 θ p ( w ) = max ⁡ α , β , α i ≥ 0 L ( w , α , β ) \theta_{p}(w)=\max_{\alpha, \beta, \alpha_{i}\geq 0}L(w, \alpha, \beta) θp(w)=maxα,β,αi0L(w,α,β),因为
   θ p ( w ) = { f ( w )  w subject to "primal constraint" + ∝ otherwise \theta_{p}(w)=\begin{cases} f(w) & \text{ w subject to "primal constraint"} \\ +\propto & \text{otherwise} \end{cases} θp(w)={f(w)+ w subject to "primal constraint"otherwise

所以,对带约束原问题的求解等价于 min ⁡ w θ p ( w ) = min ⁡ w max ⁡ α , β , α i ≥ 0 L ( w , α , β ) \min_{w}\theta_{p}(w)=\min_{w}\max_{\alpha, \beta, \alpha_{i}\geq 0}L(w, \alpha, \beta) minwθp(w)=minwmaxα,β,αi0L(w,α,β),实质上,此时的约束隐藏在了目标函数中。

对偶互补约束条件

“slate”条件:指严格满足不等式约束条件的点w,即 g i ( w ) < 0 ,    ( i = 1 , . . . , m ) g_{i}(w)<0,\ \ (i=1,...,m) gi(w)<0,  (i=1,...,m),对于SVM问题,亦即要求“数据是可分的”,当数据不可分时,强对偶(strong duality)不成立。
  “strong duality”:原问题是convex的,并且满足slater条件,此时 m i n   m a x L ≥ m a x   m i n L min\ max L\geq max \ min L min maxLmax minL的等号成立。这里需要注意一下,QP是凸优化问题的一种特殊情况。
  当“strong duality”关系成立时,一定存在 w ∗ , α ∗ , β ∗ w^{*}, \alpha^{*}, \beta^{*} w,α,β,使得 w ∗ w^{*} w是原问题的解, α ∗ , β ∗ \alpha^{*}, \beta^{*} α,β是对偶问题的解。记primal, dual分别为原问题和对偶问题, p r i m a l ∗ , d u a l ∗ primal^{*}, dual^{*} primal,dual分别为原问题和对偶问题的最优解,那么有 p r i m a l ∗ = d u a l ∗ = L ( w ∗ , α ∗ , β ∗ ) primal^{*}=dual^{*}=L(w^{*}, \alpha^{*}, \beta^{*}) primal=dual=L(w,α,β)成立,并且 w ∗ , α ∗ , β ∗ w^{*}, \alpha^{*}, \beta^{*} w,α,β满足KKT条件,

{ α i ∗ ≥ 0 i = 1 , . . . , m g i ( w ∗ ) ≤ 0 i = 1 , . . . , m α i ∗ × g i ( w ∗ ) = 0 i = 1 , . . . , m    ( d u a l   c o m p l e m e n t a r y   c o n d i t i o n ) ∂ L ( w ∗ , α ∗ , β ∗ ) w i = 0 i = 1 , . . . , d ∂ L ( w ∗ , α ∗ , β ∗ ) β i = 0 i = 1 , . . . , n \begin{cases} \alpha^{*}_{i}\geq 0 & i=1,...,m \\ g_{i}(w^{*})\leq 0 & i=1,...,m \\ \alpha^{*}_{i}\times g_{i}(w^{*})=0& i=1,...,m\ \ (dual \ complementary\ condition) \\ \frac{\partial L(w^{*}, \alpha^{*}, \beta^{*})}{w_{i}}=0 & i=1,...,d \\ \frac{\partial L(w^{*}, \alpha^{*}, \beta^{*})}{\beta_{i}}=0 & i=1,...,n \\ \end{cases} αi0gi(w)0αi×gi(w)=0wiL(w,α,β)=0βiL(w,α,β)=0i=1,...,mi=1,...,mi=1,...,m  (dual complementary condition)i=1,...,di=1,...,n

核函数

在进行特征变换的时候,通常都要使用“kernel trick”,核函数可以把原始特征映射到高维空间,同时不会增加计算量。常用的核函数有高斯核、sigmoid核、多项式核、线性核等(线性核意味着在原始空间中进行,不进行特征变换),下面就以多项式核为例来直观地认识核函数。
k ( x , z ) = ( x T z ) 2 = ( ∑ i = 1 n x i z i ) ( ∑ j = 1 n x j z j ) = ∑ i = 1 n ∑ j = 1 n ( x i x j ) ( z i z j ) = ϕ ( x ) T ϕ ( z ) k(\mathbf{x}, \mathbf{z})=(\mathbf{x}^{T}\mathbf{z})^{2}=(\sum_{i=1}^{n}x_{i}z_{i})(\sum_{j=1}^{n}x_{j}z_{j})=\sum_{i=1}^{n}\sum_{j=1}^{n}(x_{i}x_{j})(z_{i}z_{j})=\phi (x)^{T}\phi(z) k(x,z)=(xTz)2=(i=1nxizi)(j=1nxjzj)=i=1nj=1n(xixj)(zizj)=ϕ(x)Tϕ(z)其中, ϕ ( x ) \phi(x) ϕ(x)表示变换域的特征向量,比如当x为三维向量时, ϕ ( x ) = [ x 1 x 1 , x 1 x 2 , x 1 x 3 , . . . , x 3 x 1 , x 3 x 2 , x 3 x 3 ] T \phi(x)=[x_{1}x_{1}, x_{1}x_{2}, x_{1}x_{3},...,x_{3}x_{1}, x_{3}x_{2}, x_{3}x_{3}]^{T} ϕ(x)=[x1x1,x1x2,x1x3,...,x3x1,x3x2,x3x3]T
  显然,计算映射后特征的内积(时间复杂度为 O ( n 2 ) O(n^{2}) O(n2)),等价于只计算原始特征x和z内积的平方(时间复杂度为 O ( n ) O(n) O(n))。因此我们可以想象,在求解SVM问题时,可将样本集 x ( i ) , y ( i ) {x^{(i)}, y^{(i)}} x(i),y(i)先映射到高维空间 ϕ ( x ( i ) , y ( i ) {\phi(x^{(i)}, y^{(i)}} ϕ(x(i),y(i),再带入公式求解。巧合的是,由于公式中样本总以 < ϕ ( x ( i ) , ϕ ( x ( j ) > <\phi(x^{(i)}, \phi(x^{(j)}> <ϕ(x(i),ϕ(x(j)>内积形式出现,于是便可以简化对该内积的计算。

线性可分的情况

SVM原问题

SVM的几何意义是寻找一个最优分隔超平面,使其能把数据空间的两类点分开。记超平面方程为 w T x + b = 0 w^{T}x+b=0 wTx+b=0,任意一点 x i x_{i} xi到超平面的距离公式为 d i = ∣ w T x i + b ∣ ∣ ∣ w ∣ ∣ d_{i}=\frac{|w^{T}x_{i}+b|}{||w||} di=wwTxi+b  所以,目标函数为 max ⁡ w , b min ⁡ i ∈ { 1 , . . . , N } ∣ w T x i + b ∣ ∣ ∣ w ∣ ∣ \max_{w,b}\min_{i\in {\{1,...,N\}}}\frac{|w^{T}x_{i}+b|}{||w||} w,bmaxi{1,...,N}minwwTxi+b  约束条件为 y i ( w T x i + b ) > 0 , i ∈ { 1 , . . . , N } y_{i}(w^{T}x_{i}+b)>0, i\in {\{1,...,N\}} yi(wTxi+b)>0,i{1,...,N}  ,这样便可以保证所有点都被正确分类。
  观察上述规划问题可知,将w, b同时放大或者缩小相同的倍数,不影响结果,即w, b存在多组解。为了得到唯一的一组w, b, 不妨令“函数间隔”为1,即令样本集满足 min ⁡ i ∈ { 1 , . . . , N } ∣ w T x i + b ∣ = 1 \min_{i\in {\{1,...,N\}}}|w^{T}x_{i}+b|=1 i{1,...,N}minwTxi+b=1  ,那么可以转化为新问题如下, max ⁡ w , b 1 ∣ ∣ w ∣ ∣ = min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s,t     y i ( w T x i + b ) ≥ 1 , i ∈ { 1 , . . . , N } \max_{w, b}\frac{1}{||w||}=\min_{w,b}\frac{1}{2}||w||^{2}\\ \text{s,t}\ \ \ \ y_{i}(w^{T}x_{i}+b)\geq 1, i\in {\{1,...,N\}} w,bmaxw1=w,bmin21w2s,t    yi(wTxi+b)1,i{1,...,N}

SVM对偶问题

对于SVM而言,原问题 min ⁡ w θ p ( w ) = min ⁡ w max ⁡ α , β , α i ≥ 0 L ( w , α , β ) \min_{w}\theta_{p}(w)=\min_{w}\max_{\alpha, \beta, \alpha_{i}\geq 0}L(w, \alpha, \beta) wminθp(w)=wminα,β,αi0maxL(w,α,β)  不易求解,但由于原问题为二次规划问题,满足“strong duality”关系,故可解其对偶问题。

max ⁡ α , β , α i ≥ 0 min ⁡ w L ( w , α , β ) = max ⁡ α , α i ≥ 0 min ⁡ w , b { 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i [ y i ( w T x i + b ) − 1 ] } \max_{\alpha, \beta, \alpha_{i}\geq 0}\min_{w}L(w, \alpha, \beta)=\max_{\alpha, \alpha_{i}\geq 0}\min_{w, b}\{\frac{1}{2}||w||^{2}-\sum_{i=1}^{N}\alpha_{i}[y_{i}(w^{T}x_{i}+b)-1]\} α,β,αi0maxwminL(w,α,β)=α,αi0maxw,bmin{21w2i=1Nαi[yi(wTxi+b)1]}  求解偏导数得 ∂ L ( w , α ) ∂ w = w − ∑ i = 1 N α i y i x i ∂ L ( w , α ) ∂ b = − ∑ i = 1 N α i y i \frac{\partial L(w, \alpha)}{\partial w}=w-\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}\\ \frac{\partial L(w, \alpha)}{\partial b}=-\sum_{i=1}^{N}\alpha_{i}y_{i} wL(w,α)=wi=1NαiyixibL(w,α)=i=1Nαiyi  ,若令 ∂ L ( w , α ) ∂ w = 0 , ∂ L ( w , α ) ∂ b = 0 \frac{\partial L(w, \alpha)}{\partial w}=0, \frac{\partial L(w, \alpha)}{\partial b}=0 wL(w,α)=0,bL(w,α)=0,则可解之得 w ∗ = ∑ i = 1 N α i y i x i ,    ∑ i = 1 N α i y i = 0 w^{*}=\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}, \ \ \sum_{i=1}^{N}\alpha_{i}y_{i}=0 w=i=1Nαiyixi,  i=1Nαiyi=0  ,于是,对偶问题转化为 max ⁡ α { ∑ i = 1 N α i − 1 2 ∑ i , j = 1 N y ( i ) y ( j ) α i α j < x ( i ) , x ( j ) > } s , t    α i ≥ 0 ,    i ∈ { 1 , . . . , N } ∑ i = 1 N α i y i = 0 \max_{\alpha}\{\sum_{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i,j=1}^{N}y^{(i)}y^{(j)}\alpha_{i}\alpha_{j}<x^{(i)}, x^{(j)}>\}\\ s,t\ \ \alpha_{i}\geq 0, \ \ i \in\{1,...,N\}\\ \sum_{i=1}^{N}\alpha_{i}y_{i}=0 αmax{i=1Nαi21i,j=1Ny(i)y(j)αiαj<x(i),x(j)>}s,t  αi0,  i{1,...,N}i=1Nαiyi=0  ,求解出 α \alpha α,则 w ∗ , b ∗ w^{*}, b^{*} w,b也就得到了。决策方程可以表示为 ( w ∗ ) T x + b = ( ∑ i = 1 N α i y i x i ) T x + b = ∑ i = 1 N α i y i < x i , x > + b (w^{*})^{T}x+b=(\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i})^{T}x+b=\sum_{i=1}^{N}\alpha_{i}y_{i}<x_{i}, x>+b (w)Tx+b=(i=1Nαiyixi)Tx+b=i=1Nαiyi<xi,x>+b  ,上式中,看上去是对所有训练样例和测试样例做内积,计算量大,其实不然,从KKT条件可知,对偶问题解出的 α \alpha α参数,仅support vectors的 α i \alpha_{i} αi非零,其余全0。
  此外,引入对偶问题,除了简化“无约束”最优化过程外,还为核函数做了铺垫,而kernel function可以将原始样本映射到高维空间,使其变得“更有可能线性可分”(根据常识,数据越稀疏越可分)

线性不可分的情况(Soft svm)

当样例集线性不可分时,我们尝试利用核函数将其映射到高维空间,但在高维空间中,也不能保证数据100%线性可分,此时可以通过引入“松弛变量” ξ i \xi_{i} ξi,构造新的模型如下,
   min ⁡ w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + c ∑ i = 1 m ξ i s , t    y ( i ) ( w T x ( i ) + b ) ≥ 1 − ξ i , i = 1 , . . . , m ξ i ≥ 0 , i = 1 , . . . , m   (m represent the number of training samples) \min_{w, b, \xi}\frac{1}{2}||w||^{2}+c\sum_{i=1}^{m}\xi_{i} s,t \ \ y^{(i)}(w^{T}x{(i)}+b)\geq1-\xi_{i}, i=1,...,m \xi_{i} \geq 0, i=1,...,m\ \ \text{(m represent the number of training samples)} w,b,ξmin21w2+ci=1mξis,t  y(i)(wTx(i)+b)1ξi,i=1,...,mξi0,i=1,...,m  (m represent the number of training samples)  ,接下来的分析与之前“线性可分”的情况类似,构造拉格朗日公式如下, L ( w , b , ξ , α , r ) = 1 2 w T w + c ∑ i = 1 m ξ i − ∑ i = 1 m α i [ y ( i ) ( w T x ( i ) + b ) − 1 + ξ i ] − ∑ i = 1 m r i ξ i L(w, b, \xi, \alpha, r)=\frac{1}{2}w^{T}w+c\sum_{i=1}^{m}\xi_{i}-\sum_{i=1}^{m}\alpha_{i}[y^{(i)}(w^{T}x^{(i)}+b)-1+\xi_{i}]-\sum_{i=1}^{m}r_{i}\xi_{i} L(w,b,ξ,α,r)=21wTw+ci=1mξii=1mαi[y(i)(wTx(i)+b)1+ξi]i=1mriξi  ,可求解对偶问题 max ⁡ α , r min ⁡ w , b , ξ L ( w , b , ξ , α , r ) \max_{\alpha, r}\min_{w, b, \xi}L(w, b, \xi, \alpha, r) α,rmaxw,b,ξminL(w,b,ξ,α,r)  ,化简后得 max ⁡ α W ( α ) = ∑ i = 1 m α i − 1 2 ∑ i , j = 1 m y ( i ) y ( j ) α i α j < x ( i ) , x ( j ) > s , t    0 ≤ α i ≤ c ,    i = 1 , . . . , m    ∑ i = 1 m α i y ( i ) = 0 \max_{\alpha}W(\alpha)=\sum_{i=1}^{m}\alpha_{i}-\frac{1}{2}\sum_{i,j=1}^{m}y^{(i)}y^{(j)}\alpha_{i}\alpha_{j}<x^{(i)}, x^{(j)}>\\ s,t \ \ 0 \leq\alpha_{i} \leq c, \ \ i=1,...,m\\ \ \ \sum_{i=1}^{m}\alpha_{i}y^{(i)}=0 αmaxW(α)=i=1mαi21i,j=1my(i)y(j)αiαj<x(i),x(j)>s,t  0αic,  i=1,...,m  i=1mαiy(i)=0 结果分析:若 α i = 0 \alpha_{i}=0 αi=0,则这些点位于两条间隔线之外;若 0 < α i < c 0<\alpha_{i}<c 0<αi<c,则这些点位于两条间隔线上,即为support vectors;若 α i = c \alpha_{i}=c αi=c,则这些点表示“离群点”,此时若 ξ i ≤ 1 \xi_{i}\leq1 ξi1,正确分类,若 ξ i > 1 \xi_{i}>1 ξi>1,则为错分点,即最大间隔线上的样本点,可能是support vectors,也可能是“离群点”。

参考资料:“pattern recognition and machine learning”, Bishop, 2007.

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