线性支持向量机

线性支持向量机

实际当中大多数数据集都不是线性可分的,线性支持向量机主要是针对去掉少数样本之后线性可分样本数据集。线性不可分即意味着由少数样本点不能满足函数间隔大于等于1的约束条件,因此可以对每一个样本点加上一个松弛变量,并对每个松弛变量进行惩罚。于是原始问题变为:
m i n ω , b , ξ   1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 N ξ i min_{\omega ,b ,\xi}~\frac{1}{2}||\omega||^2+C\sum_{i=1}^{N}\xi_{i} minω,b,ξ 21ω2+Ci=1Nξi
s . t .    y i ( ω ⋅ x i + b ) + ξ i ≥ 1 s.t.~~y_{i}(\omega\cdot x_{i}+b)+\xi_{i}\ge1 s.t.  yi(ωxi+b)+ξi1
ξ i ≥ 0 , i = 1 , . . . , N \xi_{i}\ge0,i=1,...,N ξi0,i=1,...,N

在这里插入图片描述

  • ξ i ∣ ∣ ω ∣ ∣ \frac{\xi_{i}}{||\omega||} ωξi为错分样本或分对的样本但到所对应的间隔超平面的函数间隔没有达到1的样本到所对应的超平面的距离,如上图所示。
  • 原问题是一个凸二次规划问题, ( ω , b , ξ ) (\omega,b,\xi) (ω,b,ξ)的解存在, ω \omega ω是唯一的, b b b的解不唯一。
求解分离超平面

求解方法和线性可分支持向量机差不多:
写出原问题的对偶问题 ≫ \gg 由对偶问题的解写出原问题的解

原问题的对偶问题

Step1:原问题的拉格朗日函数为
L ( ω , b , ξ , α , μ ) = 1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i ( y i ( ω ⋅ x i + b ) − 1 + ξ i ) − ∑ i N μ i ξ i L(\omega,b,\xi,\alpha,\mu)=\frac{1}{2}||\omega||^2+C\sum_{i=1}^N \xi_{i}-\sum_{i=1}^N\alpha_{i}(y_{i}(\omega\cdot x_{i}+b)-1+\xi_{i})-\sum_{i}^{N}\mu_{i}\xi_{i} L(ω,b,ξ,α,μ)=21ω2+Ci=1Nξii=1Nαi(yi(ωxi+b)1+ξi)iNμiξi

  • 原问题形如:
    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)

Step2:求 m i n ω , b , ξ    L ( ω , b , ξ , α , μ ) min_{\omega,b,\xi}~~L(\omega,b,\xi,\alpha,\mu) minω,b,ξ  L(ω,b,ξ,α,μ)
▽ ω   L ( ω , b , ξ , α , μ ) = ω − ∑ i α i y i x i = 0 \bigtriangledown_{\omega}~L(\omega,b,\xi,\alpha,\mu)=\omega-\sum_{i}\alpha_{i}y_{i}x_{i}=0 ω L(ω,b,ξ,α,μ)=ωiαiyixi=0
▽ b   L ( ω , b , ξ , α , μ ) = − ∑ i α i y i = 0 \bigtriangledown_{b}~L(\omega,b,\xi,\alpha,\mu)=-\sum_{i}\alpha_{i}y_{i}=0 b L(ω,b,ξ,α,μ)=iαiyi=0
▽ ξ   L ( ω , b , ξ , α , μ ) = C − α i − μ i = 0 \bigtriangledown_{\xi}~L(\omega,b,\xi,\alpha,\mu)=C-\alpha_{i}-\mu_{i}=0 ξ L(ω,b,ξ,α,μ)=Cαiμi=0

将上面三个式子带入 m i n ω , b , ξ    L ( ω , b , ξ , α , μ ) min_{\omega,b,\xi}~~L(\omega,b,\xi,\alpha,\mu) minω,b,ξ  L(ω,b,ξ,α,μ),得:
m i n ω , b , ξ    L ( ω , b , ξ , α , μ ) = − 1 2 ∑ i = 1 N ∑ i = 1 N α i α j y i y j ( x i , x j ) + ∑ i = 1 N α i min_{\omega,b,\xi}~~L(\omega,b,\xi,\alpha,\mu)=-\frac{1}{2}\sum_{i=1}^{N}\sum_{i=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i},x_{j})+\sum_{i=1}^{N}\alpha_{i} minω,b,ξ  L(ω,b,ξ,α,μ)=21i=1Ni=1Nαiαjyiyj(xi,xj)+i=1Nαi
Step3:最后得到对偶问题
m a x α    − 1 2 ∑ i = 1 N ∑ i = 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_{i=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i},x_{j})+\sum_{i=1}^{N}\alpha_{i} maxα  21i=1Ni=1Nαiαjyiyj(xi,xj)+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
         C = α i + μ i ~~~~~~~~C=\alpha_{i}+\mu_{i}         C=αi+μi
α i ≥ 0 , μ i ≥ 0 , i = 1 , . . . , N \alpha_{i}\ge 0,\mu_{i}\ge0,i=1,...,N αi0,μi0,i=1,...,N
去掉 μ i \mu_{i} μi,得到对偶问题

m i n α    1 2 ∑ i = 1 N ∑ i = 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_{i=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i},x_{j})-\sum_{i=1}^{N}\alpha_{i} minα  21i=1Ni=1Nαiαjyiyj(xi,xj)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
         0 ≤ α i ≤ C ~~~~~~~~0\le\alpha_{i}\le C         0αiC
        i = 1 , . . . , N ~~~~~~~i=1,...,N        i=1,...,N

对偶问题求解

采用上一篇提出的SMO算法

由对偶问题的解写出原问题的解

原始问题是凸二次规划问题,故其拉格朗日函数满足KKT条件,即
▽ ω   L ( ω , b , ξ , α , μ ) = ω − ∑ i α i y i x i = 0 \bigtriangledown_{\omega}~L(\omega,b,\xi,\alpha,\mu)=\omega-\sum_{i}\alpha_{i}y_{i}x_{i}=0 ω L(ω,b,ξ,α,μ)=ωiαiyixi=0
▽ b   L ( ω , b , ξ , α , μ ) = − ∑ i α i y i = 0 \bigtriangledown_{b}~L(\omega,b,\xi,\alpha,\mu)=-\sum_{i}\alpha_{i}y_{i}=0 b L(ω,b,ξ,α,μ)=iαiyi=0
▽ ξ   L ( ω , b , ξ , α , μ ) = C − α i − μ i = 0 \bigtriangledown_{\xi}~L(\omega,b,\xi,\alpha,\mu)=C-\alpha_{i}-\mu_{i}=0 ξ L(ω,b,ξ,α,μ)=Cαiμi=0
α i ( y i ( ω ⋅ x i + b ) − 1 + ξ i ) = 0 \alpha_{i}(y_{i}(\omega\cdot x_{i}+b)-1+\xi_{i})=0 αi(yi(ωxi+b)1+ξi)=0
μ i ξ i = 0 \mu_{i}\xi_{i}=0 μiξi=0
y i ( ω ⋅ x i + b ) − 1 + ξ i ) ≥ 0 y_{i}(\omega\cdot x_{i}+b)-1+\xi_{i})\ge0 yi(ωxi+b)1+ξi)0
ξ i ≥ 0 , α i ≥ 0 , μ i ≥ 0 \xi_{i}\ge0,\alpha_{i}\ge0,\mu_{i}\ge0 ξi0,αi0,μi0
i = 1 , . . . , N i=1,...,N 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
b = y j − ∑ i = 1 N α i y i ( x i ⋅ x j ) b=y_{j}-\sum_{i=1}^{N}\alpha_{i}y_{i}(x_{i}\cdot x_{j}) b=yji=1Nαiyi(xixj)
其中 0 ≤ α i ≤ C 0\le \alpha_{i}\le C 0αiC

最终求得超平面

∑ 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条件可知,支持向量分如下几种情况

{ α i ≤ C , μ i > 0 , ξ i = 0 , y i ( ω ⋅ x i + b ) = 1  分类正确,支持向量落在边界上 α i = C , μ i = 0 , 0 < ξ i < 1 , 0 , y i ( ω ⋅ x i + b ) + ξ i = 1 分类正确,支持向量落在边界和超平面之间 α i = C , μ i = 0 , ξ i = 1 , y i ( ω ⋅ x i + b ) = 0 分类未知,支持向量落在超平面上 α = C , μ i = 0 , ξ i > 1 , y i ( ω ⋅ x i + b ) + ξ i = 1 分类错误,支持向量位于超平面误分一次 \begin{cases} \alpha_{i}\le C, \mu_{i}>0,\xi_{i}=0,y_{i}( {\omega\cdot x_{i}+b)=1} &{\text{ 分类正确,支持向量落在边界上}}\\ \alpha_{i}=C, \mu_{i}=0,0<\xi_{i}<1,0,y_{i}( {\omega\cdot x_{i}+b)+\xi_{i}=1} &{\text{分类正确,支持向量落在边界和超平面之间}}\\ \alpha_{i}=C,\mu_{i}=0,\xi_{i}=1,y_{i}( \omega\cdot x_{i}+b)=0&{\text{分类未知,支持向量落在超平面上}}\\ \alpha= C,\mu_{i}=0,\xi_{i}>1,y_{i}( {\omega\cdot x_{i}+b)+\xi_{i}=1} &{\text{分类错误,支持向量位于超平面误分一次}} \end{cases} αiC,μi>0,ξi=0,yi(ωxi+b)=1αi=C,μi=0,0<ξi<1,0,yi(ωxi+b)+ξi=1αi=C,μi=0,ξi=1,yi(ωxi+b)=0α=C,μi=0,ξi>1,yi(ωxi+b)+ξi=1 分类正确,支持向量落在边界上分类正确,支持向量落在边界和超平面之间分类未知,支持向量落在超平面上分类错误,支持向量位于超平面误分一次
上一篇

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值