【统计学习方法】支持向量机之线性支持向量机

本文深入探讨了线性支持向量机在面对线性不可分数据时如何通过引入松弛变量解决。介绍了软间隔最大化的目标函数,并将其转化为凸二次规划问题。接着,通过拉格朗日乘子法推导出学习的对偶算法,最终得到支持向量的定义及其在分类决策中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前篇:【统计学习方法】支持向量机之线性可分支持向量机

一、线性支持向量机

  • 假设给定一个特征空间上的训练数据集: T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) T={(x_1,y_1 ),(x_2,y_2 ),…,(x_N,y_N )} T=(x1y1),(x2y2),,(xNyN)其中, x i ∈ X ∈ R n , y i ∈ − 1 , + 1 x_i∈X∈R^n,y_i∈{-1,+1} xiXRnyi1,+1
  • 假设训练数据集不是线性可分的,通常情况是,训练数据中有一些特异点,将这些特异点除去后,剩下大部分的样本点组成的集合是线性可分的,即总统上是线性可可分的,只是有少部分的散点。
  • 线性不可分意味着某些样本点 ( x i , y i ) (x_i,y_i) (xi,yi)不能满足函数间隔大于等于1的约束条件.为了解决这个问题,可以对每个样本点引进一个松弛变量 ξ i ξ_i ξi,使函数间隔加上松弛变量大于等于1。这样,约束条件变为: y i ( w . x i + b ) ≥ 1 − ξ i y_i (w.x_i+b)≥1-ξ_i yi(w.xi+b)1ξi
  • 同时,对每个松弛变量,支付一个代价 ξ ξ ξ。目标函数由原来的 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2} ||w||^2 21w2变成: 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac{1}{2} ||w||^2+C∑_{i=1}^Nξ_i 21w2+Ci=1Nξi
    • C > 0 C>0 C>0称为惩罚参数,一般由应用问题决定, C C C值大时对误分类的惩罚增大, C C C值小时对误分类的惩罚减小.
    • 目标函数包含两层含义:
      • 使 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2} ||w||^2 21w2尽量小,即间隔尽量大
      • 同时使误分类点的个数尽量小
  • 经过上面的转化,就可以和线性可分时一样来考虑线性不可分时的线性支持向量机学习问题.称为软间隔最大化.
  • 线性不可分的线性支持向量机的学习问题变成如下凸二次规划问题(原始问题) : min ⁡ w , b , ξ 1 2 ∣ ∣ w ∣ ∣ + C ∑ i = 1 N ξ i \min _{w,b,ξ} \frac{1}{2} ||w||+C∑_{i=1}^Nξ_i w,b,ξmin21w+Ci=1Nξi s t . y i ( w . x i + b ) ≥ 1 − ξ i , i = 1 , 2 , … , N st. \qquad y_i (w.x_i+b)≥1-ξ_i ,i=1,2,…,N st.yi(w.xi+b)1ξi,i=1,2,,N ξ i ≥ 0 , i = 1 , 2 , … , N ξ_i≥0 ,i=1,2,…,N ξi0,i=1,2,,N
  • 原始问题是一个凸二次规划问题,因而关于 ( w , b , ξ ) (w,b,ξ) (w,b,ξ)的解是存在的.可以证明 w w w的解是唯一的,但 b b b的解不唯一, b b b的解存在于一个区间.
  • 线性支持向量机的定义:
    • 对于给定的线性不可分的训练数据集,通过求解下面凸二次规划问题来得到最优解: min ⁡ w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \min _{w,b,ξ} \frac{1}{2} ||w||^2+C∑_{i=1}^Nξ_i w,b,ξmin21w2+Ci=1Nξi s t . y i ( w . x i + b ) ≥ 1 − ξ i , i = 1 , 2 , … , N st. \qquad y_i (w.x_i+b)≥1-ξ_i ,i=1,2,…,N st.yi(w.xi+b)1ξi,i=1,2,,N ξ i ≥ 0 , i = 1 , 2 , … , N ξ_i≥0 ,i=1,2,…,N ξi0,i=1,2,,N
    • 假设问题的解是 w ∗ , b ∗ w^*,b^* w,b,于是得到的分离超平面为: w ∗ ∗ x + b ∗ = 0 w^**x+b^*=0 wx+b=0
    • 以及相应的分类决策函数: f ( x ) = s i g n ( w ∗ ∗ x + b ∗ ) f(x)=sign(w^**x+b^* ) f(x)=sign(wx+b)称为线性支持向量机. 显然,线性支持向量机包含线性可分支持向量机

二、学习的对偶算法

  • 拉格朗日函数: L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i ( y i ( w ∗ x i + b ) − 1 + ξ i ) − ∑ i = 1 N μ i ξ i L(w,b,ξ,α,μ)=\frac{1}{2} ||w||^2+C∑_{i=1}^Nξ_i -∑_{i=1}^Nα_i (y_i (w*x_i+b)-1+ξ_i ) -∑_{i=1}^Nμ_i ξ_i L(w,b,ξ,α,μ)=21w2+Ci=1Nξii=1Nαi(yi(wxi+b)1+ξi)i=1Nμiξi其中 μ i ≥ 0 , α i ≥ 0 μ_i≥0,α_i≥0 μi0,αi0
  • 首先求 L ( w , b , ξ , α , μ ) L(w,b,ξ,α,μ) L(w,b,ξ,α,μ) w , b , ξ w,b,ξ w,b,ξ的极小: ∇ w L ( w , b , ξ , α , μ ) = w − ∑ i = 1 N α i y i x i = 0 ∇_w L(w,b,ξ,α,μ)=w-∑_{i=1}^Nα_i y_i x_i =0 wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0 ∇ b L ( w , b , ξ , α , μ ) = − ∑ i = 1 N α i y i = 0 ∇_b L(w,b,ξ,α,μ)=-∑_{i=1}^Nα_i y_i =0 bL(w,b,ξ,α,μ)=i=1Nαiyi=0 ∇ ξ i L ( w , b , ξ , α , μ ) = C − α i − μ i = 0 ∇_{ξ_i } L(w,b,ξ,α,μ)=C-α_i-μ_i=0 ξiL(w,b,ξ,α,μ)=Cαiμi=0得: w = ∑ i = 1 N α i y i x i w=∑_{i=1}^Nα_i y_i x_i w=i=1Nαiyixi ∑ i = 1 N α i y i = 0 ∑_{i=1}^Nα_i y_i =0 i=1Nαiyi=0 C − α i − μ i = 0 C-α_i-μ_i=0 Cαiμi=0带入 L ( w , b , ξ , α , μ ) L(w,b,ξ,α,μ) L(w,b,ξ,α,μ)中去: min ⁡ w , b , ξ ⁡ L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i ( y i ( w ∗ x i + b ) − 1 ) − ∑ i = 1 N α i ξ i − ∑ i = 1 N μ i ξ i \min_{w,b,ξ}⁡L(w,b,ξ,α,μ)=\frac{1}{2} ||w||^2+C∑_{i=1}^Nξ_i -∑_{i=1}^Nα_i (y_i (w*x_i+b)-1) -∑_{i=1}^Nα_i ξ_i -∑_{i=1}^Nμ_i ξ_i w,b,ξminL(w,b,ξ,α,μ)=21w2+Ci=1Nξii=1Nαi(yi(wxi+b)1)i=1Nαiξii=1Nμiξi = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i ( y i ( w ∗ x i + b ) − 1 ) + ( C − α i − μ i ) ∑ i = 1 N ξ i =\frac{1}{2} ||w||^2-∑_{i=1}^Nα_i (y_i (w*x_i+b)-1) +(C-α_i-μ_i ) ∑_{i=1}^Nξ_i =21w2i=1Nαi(yi(wxi+b)1)+(Cαiμi)i=1Nξi = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i ( y i ( w ∗ x i + b ) − 1 ) =\frac{1}{2} ||w||^2-∑_{i=1}^Nα_i (y_i (w*x_i+b)-1) =21w2i=1Nαi(yi(wxi+b)1)线性可分支持向量机一样,所以最后得到: D ( α ) = min ⁡ w , b , ξ ⁡ L ( w , b , ξ , α , μ ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ∗ x j ) + ∑ i = 1 N α i D(α)=\min_{w,b,ξ}⁡L(w,b,ξ,α,μ)=-\frac{1}{2} ∑_{i=1}^N∑_{j=1}^Nα_i α_j y_i y_j (x_i *x_j) +∑_{i=1}^Nα_i D(α)=w,b,ξminL(w,b,ξ,α,μ)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi
  • 再对 D ( α ) D(α) D(α)求α的极大, 即得对偶问题 max ⁡ α ⁡ ( − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ∗ x j ) ) + ∑ i = 1 N α i \max_α⁡(-\frac{1}{2}∑_{i=1}^N∑_{j=1}^Nα_i α_j y_i y_j (x_i *x_j))+∑_{i=1}^Nα_i αmax(21i=1Nj=1Nαiαjyiyj(xixj))+i=1Nαi s t . ∑ i = 1 N α i y i = 0 st. ∑_{i=1}^Nα_i y_i =0 st.i=1Nαiyi=0 α i ≥ 0 α_i≥0 αi0 μ i ≥ 0 μ_i≥0 μi0 C − α i − μ i = 0 , i = 1 , 2 , … , N C-α_i-μ_i=0 ,i=1,2,…,N Cαiμi=0,i=1,2,,N利用等式约束 C − α i − μ i = 0 C-α_i-μ_i=0 Cαiμi=0消去 μ i μ_i μi,从而只留下变量 α i α_i αi,这样将后面三个约束并为一个约束写成: 0 ≤ μ i ≤ C 0≤μ_i≤C 0μiC再将对目标函数求极大转换为求极小,于是得到对偶问题: min ⁡ α ⁡ ( 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ∗ x j ) ) − ∑ i = 1 N α i \min_α⁡(\frac{1}{2}∑_{i=1}^N∑_{j=1}^Nα_i α_j y_i y_j (x_i *x_j))-∑_{i=1}^Nα_i αmin(21i=1Nj=1Nαiαjyiyj(xixj))i=1Nαi s t . ∑ i = 1 N α i y i = 0 st. ∑_{i=1}^Nα_i y_i =0 st.i=1Nαiyi=0 0 ≤ α i ≤ C , i = 1 , 2 , … , N 0≤α_i≤C ,i=1,2,…,N 0αiC,i=1,2,,N
  • 假设我们现在通过某种方法求得了对偶问题的解: α ∗ = ( α 1 ∗ , α 2 ∗ , … , α N ∗ ) α^*=(α_1^*,α_2^*,…,α_N^*) α=(α1,α2,,αN),现在需要求出原始问题的解 w ∗ , b ∗ w^*,b^* w,b,由强对偶性可知 w ∗ , b ∗ , α ∗ w^*,b^*,α^* w,b,α满足KKT条件: ∇ w L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ∇_w L(w^*,b^*,ξ^*,α^*,μ^* )=w^*-∑_{i=1}^Nα_i^* y_i x_i =0 wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0 ∇ w L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ∇_w L(w^*,b^*,ξ^*,α^*,μ^* )=w^*-∑_{i=1}^Nα_i^* y_i x_i =0 wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0 ∇ b L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 ∇_b L(w^*,b^*,ξ^*,α^*,μ^* )=-∑_{i=1}^Nα_i^* y_i =0 bL(w,b,ξ,α,μ)=i=1Nαiyi=0 ∇ ξ i L ( w , b , ξ , α , μ ) = C − α i ∗ − μ i ∗ = 0 ∇_{ξ_i } L(w,b,ξ,α,μ)=C-α_i^*-μ_i^*=0 ξiL(w,b,ξ,α,μ)=Cαiμi=0 y i ( w ∗ ∗ x i + b ∗ ) − 1 + ξ i ∗ ≥ 0 y_i (w^**x_i+b^* )-1+ξ_i^*≥0 yi(wxi+b)1+ξi0 α i ∗ ≥ 0 α_i^*≥0 αi0 α i ∗ ( y i ( w ∗ ∗ x i + b ∗ ) − 1 + ξ i ∗ ) = 0 α_i^* (y_i (w^**x_i+b^* )-1+ξ_i^* )=0 αi(yi(wxi+b)1+ξi)=0 ξ i ≥ 0 , i = 1 , 2 , … , N ξ_i≥0 ,i=1,2,…,N ξi0,i=1,2,,N μ i ≥ 0 μ_i≥0 μi0 μ i ξ i = 0 μ_i ξ_i=0 μiξi=0由第一个式子可以得到 w ∗ w^* w α i ∗ α_i^* αi表达式: w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=∑_{i=1}^Nα_i^* y_i x_i w=i=1Nαiyixi 若存在 0 &lt; α j ∗ &lt; C 0&lt;α_j^*&lt;C 0<αj<C,根据KKT条件有: α j ∗ ( y j ( w ∗ ∗ x j + b ∗ ) − 1 + ξ j ∗ ) = 0 α_j^* (y_j (w^**x_j+b^* )-1+ξ_j^* )=0 αj(yj(wxj+b)1+ξj)=0得: y j ( w ∗ ∗ x j + b ∗ ) − 1 + ξ j ∗ = 0 y_j (w^**x_j+b^* )-1+ξ_j^*=0 yj(wxj+b)1+ξj=0 b ∗ = y j − y j ξ j ∗ − w ∗ ∗ x j b^*=y_j-y_j ξ_j^*-w^**x_j b=yjyjξjwxj又由于: C − α j ∗ − μ j ∗ = 0 C-α_j^*-μ_j^*=0 Cαjμj=0所以: μ j ∗ &gt; 0 μ_j^*&gt;0 μj>0再根据: μ i ξ i = 0 μ_i ξ_i=0 μiξi=0得: ξ i = 0 ξ_i=0 ξi=0最后得到: b ∗ = y j − w ∗ ∗ x j = y j − ∑ i = 1 N α i ∗ y i ( x i ∗ x j ) b^*=y_j-w^**x_j=y_j-∑_{i=1}^Nα_i^* y_i (x_i*x_j) b=yjwxj=yji=1Nαiyi(xixj)同时我们可以得到: y j ( w ∗ ∗ x j + b ∗ ) − 1 = 0 y_j (w^**x_j+b^* )-1=0 yj(wxj+b)1=0样本 ( x j , y j ) (x_j,y_j) (xj,yj)为间隔边界上的支持向量。
  • 由上面推导可知只要存在支持向量,即存在 0 &lt; α j ∗ &lt; C 0&lt;α_j^*&lt;C 0<αj<C,则 w ∗ , b ∗ w^*,b^* w,b的表示式与线性可分支持向量机式一样的。
  • 分离超平面可以写成: ∑ i = 1 N α i ∗ y i x i ∗ x + b ∗ = ∑ i = 1 N α i ∗ y i ( x i ∗ x ) + b ∗ = 0 ∑_{i=1}^Nα_i^* y_i x_i *x+b^*=∑_{i=1}^Nα_i^* y_i (x_i *x)+b^*=0 i=1Nαiyixix+b=i=1Nαiyi(xix)+b=0
  • 分类决策函数可以写成: f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x i ∗ x ) + b ∗ ) f(x)=sign(∑_{i=1}^Nα_i^* y_i (x_i *x)+b^*) f(x)=sign(i=1Nαiyi(xix)+b)上式称为线性可分支持向量机的对偶形式
  • 上面所说的求解对偶问题的某种方式:一般为SMO算法可以参考链接:https://blog.youkuaiyun.com/ACM_hades/article/details/90701030

三、支持向量

  • 在线性不可分的情况下,假设对偶问题的解为: α ∗ = ( α 1 ∗ , α 2 ∗ , … , α N ∗ ) α^*=(α_1^*,α_2^*,…,α_N^*) α=(α1,α2,,αN),其中 α i ∗ &gt; 0 α_i^*&gt;0 αi>0对应于的样本点 ( x i , y i ) (x_i,y_i) (xi,yi),称为支持向量(软间隔的支持向量).如下图所示:
    图中标出了实例 x i x_i xi到间隔边界的距离 ξ i ∣ ∣ W ∣ ∣ \frac{ξ_i}{||W||} Wξi
  • 软间隔的支持向量 x i x_i xi要么在间隔边界上要么在间隔边界之间,它们也可能在分离超平面误分一侧:
    • 0 &lt; α i ∗ &lt; C → μ i ∗ &gt; 0 → ξ i ∗ = 0 0&lt;α_i^*&lt;C→μ_i^*&gt;0→ξ_i^*=0 0<αi<Cμi>0ξi=0,所以支持向量 x i x_i xi落在间隔边界上。
    • α i ∗ = C → μ i ∗ = 0 → ξ i ∗ &gt; 0 α_i^*=C→μ_i^*=0→ξ_i^*&gt;0 αi=Cμi=0ξi>0
      • 0 &lt; ξ i ∗ &lt; 1 0&lt;ξ_i^*&lt;1 0<ξi<1:则 x i x_i xi分类正确,且落在间隔边界与分离超平面之间。
      • ξ i ∗ = 1 ξ_i^*=1 ξi=1:则 x i x_i xi在分离超平面上。
      • ξ i ∗ &gt; 1 ξ_i^*&gt;1 ξi>1:则 x i x_i xi分类错误,且落在间隔边界与分离超平面之间
    • α i ∗ = 0 , x i α_i^*=0, x_i αi=0,xi落在间隔边界以外。

后篇:【统计学习方法】支持向量机之非线性支持向量机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值