线性可分支持向量机

定义

支持向量机分类用超平面对数据进行分割,选择使两类数据集的间隔达到最大的超平面,所学习到的超平面称为支持向量机。根据不同类型的数据,相应有不同的支持向量机模型。

  • 超平面
    ω ⋅ x − x 0 = ω ⋅ x + b = 0 \omega\cdot{x-x_{0}} =\omega\cdot{x}+b=0 ωxx0=ωx+b=0
    ω \omega ω—法向量, x 0 x_{0} x0—平面上任意一个点
数据模型
线性可分线性可分支持向量机
近似线性可分线性支持向量机
线性不可分非线性支持向量机

线性可分支持向量机

考虑二分类问题,数据集为 ( x i , y i ) (x_{i},y_{i}) (xi,yi), i = 1 , . . . , N i=1,...,N i=1,...,N, y i = ± 1 y_{i}=\pm1 yi=±1,并且该数据集可由超平面完全将两类样本分开。如图:
在这里插入图片描述

函数间隔

定义 y ( ω ⋅ x + b ) y(\omega\cdot{x}+b) y(ωx+b)为样本 ( x , y ) (x,y) (x,y)到超平面 ( ω , b ) (\omega,b) (ω,b)的函数间隔

  • ω ⋅ x + b \omega\cdot{x}+b ωx+b y y y的符号是否一致能够表示分类是否正确
  • ∣ ω ⋅ x + b ∣ |\omega\cdot{x}+b| ωx+b能相对表示点 x x x到超平面的距离,实际上 x x x到超平面的距离为 ∣ ω ⋅ x + b ∣ / ∣ ∣ ω ∣ ∣ |\omega\cdot{x}+b|/||\omega|| ωx+b/ω,故样本 ( x , y ) (x,y) (x,y)到超平面的函数距离为样本到超平面的距离与法向量的范数的乘积。
几何间隔

∣ ∣ ω ∣ ∣ = 1 ||\omega||=1 ω=1时, y ( ω ⋅ x + b ) y(\omega\cdot{x}+b) y(ωx+b)称为几何间隔

  • 几何间隔实际上是样本点到超平面的带符号的距离
求最大间隔分离超平面

支持向量机希望做到不仅把样本正确分类,还希望样本离分离超平面之间的几何距离尽量大,这样利于提高预测的样本的分类效果。如图所示,当平面(紫色)居中时几何间隔达到最大。
在这里插入图片描述
这样的分离超平面可以通过求解一个最优化问题来求得:

1. 1. 1.
m a x ( w , b )   γ max_{(w,b)} ~\gamma maxw,b γ
s . t .    y i ( ω ∣ ∣ ω ∣ ∣ + b ∣ ∣ ω ∣ ∣ ) ≥ γ s.t.~~y_{i}(\frac{\omega}{||\omega||}+\frac{b}{||\omega||})\ge\gamma s.t.  yi(ωω+ωb)γ
i = 1 , … , N i=1,\dots,N i=1,,N

  • 约束条件希望每个样本和超平面的距离至少是 γ \gamma γ,目标函数希望 γ \gamma γ越大越好,令 γ ^ = γ ∣ ∣ ω ∣ ∣ \widehat{\gamma}=\gamma{||\omega||} γ =γω,则得到如下优化问题:

2. 2. 2.
m a x ( w , b )   γ ^ ∣ ∣ ω ∣ ∣ max_{(w,b)} ~\frac{\widehat{\gamma}}{||\omega||} maxw,b ωγ
s . t .    y i ( ω + b ) ≥ γ ^ s.t.~~y_{i}({\omega}+{b})\ge\widehat{\gamma} s.t.  yi(ω+b)γ
i = 1 , … , N i=1,\dots,N i=1,,N

  • 上述问题 γ ^ \widehat{\gamma} γ 取任何大于零的常数,解都是一样的,通常取值1,得到如下最优化问题

3. 3. 3.
m a x ( w , b )   1 ∣ ∣ ω ∣ ∣ max_{(w,b)} ~\frac{1}{||\omega||} maxw,b ω1
s . t .    y i ( ω + b ) ≥ 1 s.t.~~y_{i}({\omega}+{b})\ge{1} s.t.  yi(ω+b)1
i = 1 , … , N i=1,\dots,N i=1,,N

  • 若存在 ( ω ∗ , b ∗ ) (\omega^{*},b^{*}) (ω,b)使 1 ∣ ∣ ω ∣ ∣ \frac{1}{||\omega||} ω1达到最大,则对所有平面 ( ω , b ) (\omega,b) ω,b)均加系数 γ ^ \widehat{\gamma} γ ,则在所有平面 ( γ ^ ω , γ ^ b ) (\widehat{\gamma}{\omega},\widehat{\gamma}{b}) (γ ω,γ b) ( γ ^ ω ∗ , γ ^ b ∗ ) (\widehat{\gamma}{\omega^{*}},\widehat{\gamma}{b^{*}}) (γ ω,γ b)使 γ ^ ∣ ∣ ω ∣ ∣ \frac{\widehat{\gamma}}{||\omega||} ωγ 达到最大。
  • ( ω , b ) (\omega,b) (ω,b) ( γ ^ ω , γ ^ b ) (\widehat{\gamma}{\omega},\widehat{\gamma}{b}) (γ ω,γ b)表示同一个超平面。于是得到以下最优化问题。
  • y i ( ω + b ) ≥ 1 y_{i}({\omega}+{b})\ge{1} yi(ω+b)1意思是样本和超平面之间有一定的正距离。
  • 几何间隔为 1 ∣ ∣ ω ∗ ∣ ∣ \frac{1}{||\omega^{*}||} ω1

4. 4. 4.
m i n ( w , b )   1 2 ∣ ∣ ω ∣ ∣ 2 min_{(w,b)} ~\frac{1}{2}||\omega||^2 minw,b 21ω2
s . t .    y i ( ω + b ) ≥ 1 s.t.~~y_{i}({\omega}+{b})\ge{1} s.t.  yi(ω+b)1
i = 1 , … , N i=1,\dots,N i=1,,N

  • 这是一个凸二次规划问题,并且解存在唯一,李航的统计学习方法中有证明。
如何求解分离超平面

思路:
写出原问题的对偶问题   ≫   ~\gg~   求解对偶问题的解   ≫   ~\gg~   由对偶问题的解写出原问题的解

如何写出对偶问题

问题 4. 4. 4.    ⟺    \iff 广义拉格朗日函数极小较大问题。即:
m i n ω , b m a x α : α ≥ 0 L ( ω , b , α ) min_{\omega,b}max_{\alpha:\alpha\ge{0}}L(\omega,b,\alpha) minω,bmaxα:α0L(ω,b,α)
L ( ω , b , α ) = 1 2 ∣ ∣ ω ∣ ∣ 2 − ∑ i = 1 N α i y i ( ω ⋅ x + b − 1 ) L(\omega,b,\alpha)=\frac{1}{2}||\omega||^2-\sum_{i=1}^{N}\alpha_{i}y_{i}(\omega\cdot{x}+b-1) L(ω,b,α)=21ω2i=1Nαiyi(ωx+b1)

m a x α : α ≥ 0 L ( ω , b , α ) = { 1 2 ∣ ∣ ω ∣ ∣ 2 ω , b 满足约束条件 + ∞ 其他 max_{\alpha:\alpha\ge0}L(\omega,b,\alpha)= \begin{cases} \frac{1}{2}{||\omega||}^2 & {\omega,b}{\text{满足约束条件}} \\ +\infty & {\text{其他}} \end{cases} maxα:α0L(ω,b,α)={21ω2+ω,b满足约束条件其他

  ≫   ~\gg~   
m i n ω m a x α : α ≥ 0 L ( ω , b , α ) = { m i n ω 1 2 ∣ ∣ ω ∣ ∣ 2 ω , b 满足约束条件 + ∞ ω , b 不满足约束条件 min_{\omega}max_{\alpha:\alpha\ge0}L(\omega,b,\alpha)=\begin{cases} min_{\omega}{\frac{1}{2}{||\omega||}^2} &{\omega,b}{\text{满足约束条件}} \\ +\infty &{\omega,b}{\text{不满足约束条件}} \end{cases} minωmaxα:α0L(ω,b,α)={minω21ω2+ω,b满足约束条件ω,b不满足约束条件
故对偶问题为
m a x ω , b m i n α : α ≥ 0 L ( ω , b , α ) max_{\omega,b}min_{\alpha:\alpha\ge{0}}L(\omega,b,\alpha) maxω,bminα:α0L(ω,b,α)

由于 L ( ω , b , α ) L(\omega,b,\alpha) L(ω,b,α)是关于 ω , b {\omega,b} ω,b分量的多元二次方程,开口向上,故最小值为偏导向量为0的点,于是
∇ ω L ( ω , b , α ) = ω − ∑ i = 1 N α i y i x i = 0          ( 1 ) \nabla_{\omega}L(\omega,b,\alpha)=\omega-\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}=0~~~~~~~~(1) ωL(ω,b,α)=ωi=1Nαiyixi=0        1
∇ b L ( ω , b , α ) = − ∑ i = 1 N α i y i = 0                ( 2 ) \nabla_{b}L(\omega,b,\alpha)=-\sum_{i=1}^{N}\alpha_{i}y_{i}=0~~~~~~~~~~~~~~(2) bL(ω,b,α)=i=1Nαiyi=0              2
由(1)(2)得
m i n α : α ≥ 0 L ( ω , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i min_{\alpha:\alpha\ge{0}}L(\omega,b,\alpha)=-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j})+\sum_{i=1}^{N}\alpha_{i} minα:α0L(ω,b,α)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi
于是 m a x ω , b m i n α : α ≥ 0 L ( ω , b , α ) max_{\omega,b}min_{\alpha:\alpha\ge{0}}L(\omega,b,\alpha) maxω,bminα:α0L(ω,b,α)可化为
m a x α   − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i max_{\alpha}~-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j})+\sum_{i=1}^{N}\alpha_{i} maxα 21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi
s . t .      ∑ i = 1 N α i y i = 0 s.t.~~~~\sum_{i=1}^{N}\alpha_{i}y_{i}=0 s.t.    i=1Nαiyi=0
                      α i ≥ 0   , i = 1 , . . . , N ~~~~~~~~~~~~~~~~~~~~~\alpha_{i}\ge0~,i=1,...,N                      αi0 ,i=1,...,N

最终化为
m i n α    1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i min_{\alpha}~~\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j})+\sum_{i=1}^{N}\alpha_{i} minα  21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi
s . t .      ∑ i = 1 N α i y i = 0 s.t.~~~~\sum_{i=1}^{N}\alpha_{i}y_{i}=0 s.t.    i=1Nαiyi=0
                      α i ≥ 0   , i = 1 , . . . , N ~~~~~~~~~~~~~~~~~~~~~\alpha_{i}\ge0~,i=1,...,N                      αi0 ,i=1,...,N

求解对偶问题

求解上面的对偶最优化问题比较复杂,一般用到smo算法去求解
SMO算法

对偶问题的解和原问题的解之间的关系

对于两者解的关系有如下的定理

定理:

若函数 f ( x ) , c i ( x ) f(x),c_{i}(x) f(x),ci(x)是凸函数, h j ( x ) h_{j}(x) hj(x)是仿射函数,且 c i ( x ) c_{i}(x) ci(x)是严格可行的,则 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x,α,β分别是原始问题和对偶问题的解的充分必要条件为 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x,α,β满足KKT条件(关于KKT的解释),即
∇ x L ( x ∗ , α ∗ , β ∗ ) = 0 \nabla_{x}L(x^{*},\alpha^*,\beta^*)=0 xL(x,α,β)=0
α i ∗ c i ∗ = 0 \alpha_{i}^*c_{i}^*=0 αici=0
c i ∗ ≤ 0 ,   α i ∗ ≥ 0 ,   h j ∗ = 0 c_{i}^*\le0,~\alpha_{i}^*\ge0,~h_{j}^*=0 ci0, αi0, hj=0
i = 1 , . . . , m ;    j = 1 , . . . , n i=1,...,m;~~j=1,...,n i=1,...,m;  j=1,...,n

  • 原问题为:
    m i n x ∈ R f ( x ) min_{x\in R }f(x) minxRf(x)
    s . t    c i ( x ) ≤ 0 , h j ( x ) = 0 s.t~~c_{i}(x) \le0,h_{j}(x)=0 s.t  ci(x)0,hj(x)=0
    i = 1 , . . . , m ;    j = 1 , . . . , n i=1,...,m;~~j=1,...,n i=1,...,m;  j=1,...,n
  • L ( x ∗ , α ∗ , β ∗ ) = f ( x ) + ∑ i α i c i ( x ) + ∑ j β j h j ( x ) L(x^{*},\alpha^*,\beta^*)=f(x)+\sum_{i}\alpha_{i}c_{i}(x)+\sum_{j}\beta_{j}h_{j}(x) L(x,α,β)=f(x)+iαici(x)+jβjhj(x)
  • 仿射函数即为最高次数为1的多项式函数,形如 h ( x ) = ∑ i α i x i + b h(x)=\sum_{i}\alpha_{i}x_{i}+b h(x)=iαixi+b
  • 严格可行意思是 ∃ x , ∀ i , c i ( x ) < 0 \exists x, \forall i,c_{i}(x)<0 x,i,ci(x)<0

显然, 1 2 ∣ ∣ ω ∣ ∣ 2 , c i ( ω , b ) = 1 − y i ( ω ⋅ x i + b ) \frac{1}{2}||\omega||^2,c_{i}(\omega,b)=1-y_{i}(\omega\cdot{x_{i}}+b) 21ω2,ci(ω,b)=1yi(ωxi+b)均为凸函数,又由于数据是线性可分的,故存在 ( ω , b ) (\omega,b) (ω,b)使得 c i < 0 c_{i}<0 ci<0,故
由KKT条件有

∇ ω L ( ω , b , α ) = ω − ∑ i = 1 N α i y i x i = 0 \nabla_{\omega}L(\omega,b,\alpha)=\omega-\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}=0 ωL(ω,b,α)=ωi=1Nαiyixi=0
∇ b L ( ω , b , α ) = − ∑ i = 1 N α i y i = 0 \nabla_{b}L(\omega,b,\alpha)=-\sum_{i=1}^{N}\alpha_{i}y_{i}=0 bL(ω,b,α)=i=1Nαiyi=0
α i ( y i ( ω ⋅ x i + b ) − 1 ) = 0 \alpha_{i}(y_{i}(\omega\cdot{x_{i}}+b)-1)=0 αi(yi(ωxi+b)1)=0
α i ≥ 0 , i = 1 , . . , N \alpha_{i}\ge0,i=1,..,N αi0,i=1,..,N

于是有
ω = ∑ i = 1 N α i y i x i \omega=\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i} ω=i=1Nαiyixi
如果
∀ i , α i = 0 \forall i,\alpha_{i}=0 i,αi=0

ω = 0 \omega=0 ω=0
( 0 , b ) (0,b) (0,b)不是最优化问题的可行解,因为 y i b − 1 y_{i}b-1 yib1不可能一直大于等于0, y i y_{i} yi有正有负。故存在 α j ∗ > 0 \alpha_{j^*}>0 αj>0,于是有 y i ( ω ⋅ x i + b ) y_{i}(\omega\cdot{x_{i}}+b) yi(ωxi+b)=0,两边同乘 y i y_{i} yi,由 y i 2 = 1 y_{i}^{2}=1 yi2=1,得
b = y i − ∑ i = 1 N α i y i ( x i ⋅ x j ∗ ) b=y_{i}-\sum_{i=1}^N\alpha_{i}y_{i}(x_{i}\cdot x_{j^*}) b=yii=1Nαiyi(xixj)
最终求得超平面
∑ i = 1 N α i y i ( x ⋅ x i ) + b = 0 \sum_{i=1}^N\alpha_{i}y_{i}(x\cdot x_{i}) +b=0 i=1Nαiyi(xxi)+b=0
决策函数
f ( x ) = s i g n ( ∑ i = 1 N α i y i ( x ⋅ x i ) + b ) f(x)=sign(\sum_{i=1}^N\alpha_{i}y_{i}(x\cdot x_{i}) +b) f(x)=sign(i=1Nαiyi(xxi)+b)

支持向量、间隔边界

α i > 0 \alpha_{i}>0 αi>0对应得样本点 ( x i , y i ) (x_{i},y_{i}) (xi,yi)称为支持向量,由超平面的公式可以看到,只有支持向量才会影响到超平面。此时,由KKT条件可知
y i ( ω ⋅ x i + b ) − 1 = 0 y_{i}(\omega \cdot x_{i}+b)-1=0 yi(ωxi+b)1=0
∣ ω ∣ ∣ ω ∣ ∣ ⋅ x i + b ∣ ∣ ω ∣ ∣ ∣ = 1 ∣ ∣ ω ∣ ∣ |\frac{\omega}{||\omega||} \cdot x_{i}+\frac {b}{{||\omega||}}|=\frac{1}{||\omega||} ωωxi+ωb=ω1
即支持向量是到超平面距离为 1 ∣ ∣ ω ∣ ∣ \frac{1}{||\omega||} ω1的样本,其中两条橙色直线所代表的平面又叫做间隔边界(和分隔超平面的距离为 1 ∣ ∣ ω ∣ ∣ \frac{1}{||\omega||} ω1,如图黑色方框所示所示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值