线性支持向量机(SVM)

1. 线性支持向量机(SVM)基本原理

1.1 线性SVM要解决的问题

给定训练样本集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) , y i ∈ { − 1 , + 1 } } D = \{ ( \bm{x_1}, y_1), (\bm{x_2}, y_2), ..., (\bm{x_m}, y_m), y_i \in \{ -1, +1 \} \} D={(x1,y1),(x2,y2),...,(xm,ym),yi{1,+1}}, 支持向量机的基本思想就是基于训练集 D D D在样本空间中找到一个超平面,将不同类别的样本分开。但是能够将训练样本分开的超平面有很多,我们应该找哪一个呢?

图1

直观上看,应该寻找两类训练样本中“正中间”的超平面,即图1中最粗的线。这条线能够将两类样本分隔开,并且对新的样本泛化能力强,最具鲁棒性。
在样本空间中,超平面可以用如下线性方程描述:
w T x + b = 0 (1) \bm{w}^T \bm{x} + b = 0 \tag{1} wTx+b=0(1)

其中 w = ( w 1 ; w 2 ; , . . . , w d ) \bm{w} = (w_1; w_2;,...,w_d) w=(w1;w2;,...,wd)为法向量,决定了超平面的方向, b b b为位移项,决定了超平面与原点之间的距离。我们将超平面记为 ( w , b ) (\bm{w}, b) (w,b).
假设超平面 ( w , b ) (\bm{w}, b) (w,b)能够将训练样本正确分类,即对于 ( x i , y i ) ∈ D (\bm{x_i}, y_i) \in D (xi,yi)D,若 y i = + 1 y_i = +1 yi=+1,则有 w T x i + b > 0 \bm{w}^T \bm{x}_i + b > 0 wTxi+b>0;若 y i = − 1 y_i = -1 yi=1,则有 w T x i + b < 0 \bm{w}^T \bm{x}_i + b < 0 wTxi+b<0。通过缩放,令:
{ w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1 (2) \left\{ \begin{aligned} \bm{w}^T \bm{x}_i + b \geq +1, y_i = +1 \\ \bm{w}^T \bm{x}_i + b \leq -1, y_i = -1 \\ \end{aligned} \right. \tag{2} {wTxi+b+1,yi=+1wTxi+b1,yi=1(2)
如图2所示,距离超平面最近的这几个点使得式 ( 2 ) (2) (2)等号成立,它们被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和为:
γ = 2 ∣ ∣ w ∣ ∣ , (3) \gamma = \dfrac{2}{||\bm{w}||}, \tag{3} γ=w2,(3)

它被称“间隔”(margin)。

图2

要找到“最大间隔”(maximum margin)的超平面,也就是要找到满足式 ( 2 ) (2) (2)中约束参数 w \bm w w b b b,使得 γ \gamma γ最大,即:
max ⁡ w , b 2 ∣ ∣ w ∣ ∣ s . t .   y i ( w T x i + b ) ≥ 1 ,   i = 1 , 2 , . . . , m . (4) \begin{aligned} & \max \limits_{\bm w, b} \dfrac{2}{||\bm w||} \\ & s.t. \ y_i(\bm{w}^T \bm{x}_i + b) \geq 1, \ i = 1,2,..., m. \\ \end{aligned} \tag{4} w,bmaxw2s.t. yi(wTxi+b)1, i=1,2,...,m.(4)

为了方便后续的计算,我们将式 ( 4 ) (4) (4)重写为:
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t .   y i ( w T x i + b ) ≥ 1 ,   i = 1 , 2 , . . . , m . (5) \begin{aligned} & \min \limits_{\bm w, b} \dfrac{1}{2} ||\bm w||^2\\ & s.t. \ y_i(\bm{w}^T \bm{x}_i + b) \geq 1, \ i = 1,2,..., m. \\ \end{aligned} \tag{5} w,bmin21w2s.t. yi(wTxi+b)1, i=1,2,...,m.(5)

这就是SVM的基本型。

1.2 对偶问题

式(5)是一个凸二次规划(convex quadratic programming)问题,能直接用现成的优化计算包求解,但是我们可有用更高效的办法。对式(5)每条约束添加拉格朗日乘子 α i ≥ 0 \alpha_i \geq0 αi0,则该问题的拉格朗日函数可以写为:
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) (6) L(\bm w, b, \bm \alpha) = \dfrac{1}{2} ||\bm w||^2 + \sum_{i=1}^{m} \alpha_i(1 - y_i(\bm {w}^T \bm {x}_i + b) ) \tag{6} L(w,b,α)=21w2+i=1mαi(1yi(wTxi+b))(6)

其中, α = ( α 1 ; α 2 ; . . . ; α m ) \bm \alpha=(\alpha_1;\alpha_2;...;\alpha_m) α=(α1;α2;...;αm)。令 L ( w , b , α ) L(\bm w, b, \bm \alpha) L(w,b,α) w \bm w w b b b的偏导为零可得:
w = ∑ i = 1 m α i y i x i , (7) \bm w = \sum_{i=1}^{m} \alpha_i y_i \bm {x}_i,\tag{7} w=i=1mαiyixi,(7)

0 = ∑ i = 1 m α i y i , (8) 0 = \sum_{i=1}^{m} \alpha_i y_i ,\tag{8} 0=i=1mαiyi,(8)

将式(7)和(8)代入式(6)中,得到式(6)的对偶问题:
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y i x i T x j T s . t .   ∑ i = 1 m α i y i = 0 , α i ≥ 0 ,   i = 1 , 2 , . . . , m . (9) \begin{aligned} & \max_{\bm \alpha} \sum_{i=1}^{m} \alpha_i - \dfrac{1}{2} \sum_{i=1}^{m}\sum_{j=1}^{m} \alpha_i \alpha_j y_i y_i \bm {x}_i^T \bm {x}_j^T \\ \tag{9} & s.t. \ \sum _{i=1}^{m} \alpha_i y_i = 0, \\ & \qquad \alpha_i \geq 0, \ i = 1,2,...,m.\\ \end{aligned} αmaxi=1mαi21i=1mj=1mαiαjyiyixiTxjTs.t. i=1mαiyi=0,αi0, i=1,2,...,m.(9)

求解得到 α \bm \alpha α后,可以求得 w \bm w w b b b,最终得到分类模型:
f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b . (10) \begin{aligned} f(x) & = \bm {w}^T \bm {x} + b \\ & = \sum_{i=1}^{m} \alpha_i y_i \bm {x}_i^T \bm x + b . \end{aligned} \tag{10} f(x)=wTx+b=i=1mαiyixiTx+b.(10)

上述过程需要满足KKT条件(Karush-Kuhn-Tucher),即求:
{ α i ≥ 0 ; y i f ( x i ) − 1 ≥ 0 ; α i ( y i f ( x i ) − 1 ) ≥ 0 ; (11) \left\{ \begin{aligned} \alpha_i \geq 0; \\ y_i f(\bm {x}_i) - 1 \geq 0; \\ \alpha_i (y_i f(\bm {x}_i) - 1) \geq 0; \\ \end{aligned} \right. \tag{11} αi0;yif(xi)10;αi(yif(xi)1)0;(11)

于是,对于任意训练样本 ( x i , y i ) (\bm {x}_i, y_i) (xi,yi),总有 α i = 0 \alpha_i = 0 αi=0 y i f ( x i ) = 1 y_i f(\bm {x}_i) = 1 yif(xi)=1。若 α i = 0 \alpha_i = 0 αi=0,则该样本不会再式(10)中出现,也就不会对分类器有任何影响;若 α i ≥ 0 \alpha_i \geq 0 αi0,则必有 y i f ( x i ) = 1 y_i f(\bm {x}_i) = 1 yif(xi)=1,所对应的样本点位于最大间隔边界上,是一个支持向量。因此,最终模型仅与支持向量有关。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值