SVM的推导:为什么SVM最终模型仅和支持向量有关

SVM简而言之就是让两组点距离超平面达到最远。

超平面可以用 w T x + b = 0 w^Tx+b=0 wTx+b=0表示。其中 w = ( w 1 ; w 2 ; w 3 . . w m ) w=(w_1;w_2;w_3..w_m) w=(w1;w2;w3..wm)是法向量。点 x = ( x 1 , x 2 . . x m ) x=(x_1,x_2..x_m) x=(x1,x2..xm)到超平面的距离为 ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ \frac{|w^Tx+b|}{||w||} wwTx+b,其中||w||= w 1 2 + w 2 2 + . . . + w m 2 \sqrt{w_1^2+w_2^2+...+w_m^2} w12+w22+...+wm2 ,那么可以得到以下等式:
( w x + b ) ∣ ∣ w ∣ ∣ > = d , y i = 1 ( w x + b ) ∣ ∣ w ∣ ∣ < = − d , y i = − 1 \frac{(wx+b)}{||w||}>=d, y_{i}=1 \\ \frac{(wx+b)}{||w||}<=-d, y_{i}=-1 w(wx+b)>=d,yi=1w(wx+b)<=d,yi=1
合并一下可以写成
( w x + b ) y i ∣ ∣ w ∣ ∣ d > = 1 \frac{(wx+b)y_i}{||w||d}>=1 wd(wx+b)yi>=1
其中 ∣ ∣ w ∣ ∣ d ||w||d wd是正数,放缩一下让它等于1,对推导没有影响,而且 ∣ w T + b ∣ |w^T+b| wT+b是常数,所以SVM的一般形式就是
m i n ∣ ∣ w ∣ ∣ 2 , s . t , ( w x + b ) y i > = 1 ( 公 式 1 ) min{\frac{||w||}{2}}, s.t, (wx+b)y_i>=1 (公式1) min2w,s.t,(wx+b)yi>=1(1)

为了解决这个带约束的最优化问题,上拉格朗日乘数法
得到的对偶问题是(dual problem)是 L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L(w,b,\alpha)=\frac{1}{2}||w||^2+\sum_{i=1}^{m}{\alpha_i(1-y_i(w^Tx_i+b))} L(w,b,α)=21w2+i=1mαi(1yi(wTxi+b))

注意 max ⁡ b , α L \max_{b,\alpha}L maxb,αL ∣ ∣ w ∣ ∣ 2 , s . t , ( w x + b ) y i > = 1 \frac{||w||}{2},s.t, (wx+b)y_i>=1 2w,s.t,(wx+b)yi>=1是等价的,而 min ⁡ max ⁡ L \min{\max{L}} minmaxL是和公式1等价的,把带约束的最优化问题转换成对偶问题是拉格朗日乘数法的思想。

对w和b分别求偏导并且置0 ∂ L ∂ w = w − ∑ i = 1 m α i y i x i = 0 ∂ L ∂ b = ∑ i = 1 m α i y i = 0 \frac{\partial{L}}{\partial{w}}=w-\sum_{i=1}^{m}\alpha_{i}y_{i}x_i=0 \\ \frac{\partial{L}}{\partial{b}}=\sum_{i=1}^{m}\alpha_{i}y_{i}=0 wL=wi=1mαiyixi=0bL=i=1mαiyi=0

把上面的两个表达式带入L,可以得到目标为
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j s . t . ∑ i = 1 m α i y i = 0 α i > = 0 ( 拉 格 朗 日 的 要 求 ) \max_\alpha{\sum_{i=1}^m\alpha_{i}-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j}\\s.t.\sum_{i=1}^{m}\alpha_{i}y_{i}=0\\\alpha_i>=0 (拉格朗日的要求) αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxjs.t.i=1mαiyi=0αi>=0()
因此,训练完成后,最终apply的模型是
f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b 同 时 要 求 以 下 几 个 表 达 式 成 立 α i > = 0 ( 公 式 2 , 拉 格 朗 日 的 要 求 ) y i f ( x i ) − 1 > = 0 ( 公 式 3 , 公 式 1 和 K K T 条 件 的 要 求 ) α i ( y i f ( x i ) − 1 ) = 0 ( 公 式 4 , K K T 条 件 的 要 求 ) f(x)=w^Tx+b=\sum_{i=1}^{m}\alpha_{i}y_{i}x_i^Tx+b\\ 同时要求以下几个表达式成立\\ \alpha_i>=0 (公式2,拉格朗日的要求)\\ y_if(x_i)-1>=0(公式3,公式1和KKT条件的要求)\\ \alpha_i(y_if(x_i)-1)=0 (公式4,KKT条件的要求) \\ f(x)=wTx+b=i=1mαiyixiTx+bαi>=0(2)yif(xi)1>=0(31KKT)αi(yif(xi)1)=0(4KKT)
于是,对于任意训练样本 ( x i , y i ) (x_i,y_i) (xi,yi),比较公式2和公式4,可以知道 α i = 0 \alpha_i=0 αi=0或者 y i f ( x i ) = 1 y_if(x_i)=1 yif(xi)=1。如果 α i = 0 \alpha_i=0 αi=0,那么训练样本 ( x i , y i ) (x_i,y_i) (xi,yi)不会对f(x)有任何影响;如果 y i f ( x i ) = 1 y_if(x_i)=1 yif(xi)=1,这个训练样本就在最大间隔的边界上,是支持向量。因此,训练完成以后,最终模型仅仅和支持向量有关

更多推导请参考西瓜书

你可能感兴趣的:(算法)