SVM支持向量机

目录

-间隔与支持向量
-对偶问题
-核函数
-软间隔与正则化
-支持向量回归
-核方法

间隔与支持向量

思想:基于训练集 D={(x1,y1)(x2,y2)...(xm,ym)} D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } , yi{1,+1}, y i ∈ { − 1 , + 1 } , 在样本空间中找到一个划分超平面,将不同的类别样本分开。因此需要找到合适的超平面使得泛化性能最好。
这里写图片描述
直观上看应该找位于两类训练样本“正中间”的划分超平面,此超平面对训练样本集扰动的容忍性最好,即受影响最小,泛化能力最强。
描述 wTx+b=0w=(w1;w2;w3...wd) w T x + b = 0 , 其 中 w = ( w 1 ; w 2 ; w 3 . . . w d ) 为法向量,决定超平面方向,b为位移项,决定超平面与原点之间的距离。超平面的划分可被法向量w和位移b决定,样本空间中任意一点x到超平面(w,b)的距离可写为:

r=|wtx+b|||w|| r = | w t x + b | | | w | |


最大间隔假设

{wTxi+b+1,yi=+1;wTxi+b1,yi=1.............1 { w T x i + b ≥ + 1 , y i = + 1 ; w T x i + b ≤ − 1 , y i = − 1 . . . . . . . . . . . . .1

则使上式等号成立的样本点被称为“支持向量”,两个异类支持向量到超平面的距离之和为:
υ=2||w|| υ = 2 | | w | |
(间隔margin)
这里写图片描述
优化目标 找到参数w和b使得 υ υ 最大,即:
maxw,b2||w||s.t.yi(wTxi+b)1,i=1,2,...,m. m a x w , b 2 | | w | | s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m .

等价于:
minw,b||w||22s.t.yi(wTxi+b)1,i=1,2,...,m2 m i n w , b | | w | | 2 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m ; · · · · · · · · · · 2

这就是支持向量机(SVM)的基本型。

对偶问题

拉格朗日的对偶问题
2式优化目标可写为:

L(w,b,α)=12||w||2+i=1mαi(1yi(wTxi+b))3 L ( w , b , α ) = 1 2 | | w | | 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) · · · · · · · · · 3

其中 α=(α1;α2;...;αm). α = ( α 1 ; α 2 ; . . . ; α m ) . L(w,b,α) L ( w , b , α ) 对w和b的偏导为零得到:
w=i=1mαiyixi,40=i=1mαiyi5 w = ∑ i = 1 m α i y i x i , · · · · · · · 4 0 = ∑ i = 1 m α i y i , · · · · · · · · 5

将4代入3并考虑5式得到:
maxαi=1mαi12i=1mj=1mαiαjyiyjxTixj6s.t.i=1mαiyi=0,αi0,i=1,2,...,m. m a x α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j · · · · · · · 6 s . t . ∑ i = 1 m α i y i = 0 , α i ≥ 0 , i = 1 , 2 , . . . , m .

解出\alpha后,求出w与b即可得到模型:
f(x)=wTx+b=i=1mαiyixTix+b.7 f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b . · · · · · · · 7

KTT条件
αi0,yif(xi)10,αi(yif(xi)1)=0.............8 { α i ≥ 0 , y i f ( x i ) − 1 ≥ 0 , α i ( y i f ( x i ) − 1 ) = 0. . . . . . . . . . . . .8

对于任一训练样本,总有 αi=0yif(xi)=1.αi=0 α i = 0 或 y i f ( x i ) = 1. 若 α i = 0 , 则该样本不会再7式求和中出现,也就不会对f(x)有任何影响。若 αi>0 α i > 0 ,则必有 yif(xi)=1 y i f ( x i ) = 1 ,所对应的样本点在最大间隔边界上,是一个支持向量.
性质:训练完后,大部分训练样本不需要保留,最终模型仅与支持向量有关
SMO算法:
基本思路:先固定 αi α i 之外的所有参数,然后求 αi α i 上的极值。由于存在约束 mi=1αiyi=0 ∑ i = 1 m α i y i = 0 , 若固定 αi α i 之外的其他变量,则 αi α i 可由其他变量导出。于是,SMO每次选择两个变量 αiαj α i 和 α j , 并固定其他参数。这样,在参数初始化后,SMO不断执行如下两个步骤直至收敛:

1.选取一对需要更新的变量 αiαj α i 和 α j
2.固定 αiαj α i 和 α j 以外的参数,求解式7获得更新后的 αiαj. α i 和 α j .

启发式:选取的两变量所对应的样本之间间隔最大。这样的两个变量有很大的差别,与对两个相似的变量进行更新对比,对他们进行更新会带给目标函数函数值更大的变化。
此时式7可以重写为:
αiyi+αjyj=cαi0αj0 α i y i + α j y j = c , α i ≥ 0 , α j ≥ 0 ,
其中:
c=ki,jαkyk c = − ∑ k ≠ i , j α k y k
,是使 i=1mαiyi=0 ∑ i = 1 m α i y i = 0 成立的常数。用
αiyi+αjyj=c α i y i + α j y j = c

消去变量 αj α j ,得到一个关于 αi α i 的单变量二次规划问题,约束 αi0 α i ≥ 0 .可以计算出更新后的 αiαj α i 和 α j 。
偏移项b的确定:对任意支持向量(x_s,y_s)都有y_sf(x_s)=1,即:
ys(iSαiyixTixs+b)=1 y s ( ∑ i ∈ S α i y i x i T x s + b ) = 1
S为所有支持向量的下标集。通过使用所有支持向量求解的平均值获得更加鲁棒的结果:
b=1|S|sS(1ysiSαiyixTixs) b = 1 | S | ∑ s ∈ S ( 1 y s − ∑ i ∈ S α i y i x i T x s )

核函数

描述:对于非线性可分情况下,讲样本从原始空间映射到更高维的特征空间,使得样本在该特征空间内可分。(如果原始空间有限维,则存在高危特征空间使得样本可分。)
这里写图片描述
模型表示 f(X)=wTϕ(x)+b f ( X ) = w T ϕ ( x ) + b ···········9, ϕ(x) ϕ ( x ) 为x映射后的特征向量;w和b为模型参数。

优化问题 minw,b12||w||2s.t.yi(wTϕ(xi)+b)1,i=1,2,...,m. m i n w , b 1 2 | | w | | 2 , s . t . y i ( w T ϕ ( x i ) + b ) ≥ 1 , i = 1 , 2 , . . . , m .

对偶问题 maxαmi=1αi12mi=1mj=1αiαjyiyjϕ(xi)Tϕ(xj)s.t.mi=1αiyi=0,αi0,i=1,2,...,m. m a x α ∑ 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 , i = 1 , 2 , . . . , m .

核函数 κ(xi,xj)=ϕ(xi),ϕ(xj)=ϕ(xi)Tϕ(xj) κ ( x i , x j ) = ⟨ ϕ ( x i ) , ϕ ( x j ) ⟩ = ϕ ( x i ) T ϕ ( x j )
因此: f(x)=wTϕ(x)+b=mi=1αiyiϕ(xi)Tϕ(x)+b=mi=1αiyiκ(xi,xj)+b10 f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 m α i y i ϕ ( x i ) T ϕ ( x ) + b = ∑ i = 1 m α i y i κ ( x i , x j ) + b · · · · · · · · 10
这里写图片描述
组合函数:
+若 κ1κ2 κ 1 和 κ 2 为核函数,则对于任意正数 γ1κ1+γ2κ2 γ 1 κ 1 + γ 2 κ 2 也是核函数;
+若 κ1κ2 κ 1 和 κ 2 为核函数,则核函数的直积 κ1κ2(x,z)=κ1(x,z)κ2(x,z) κ 1 ⊗ κ 2 ( x , z ) = κ 1 ( x , z ) κ 2 ( x , z ) 也是核函数;
+若 κ1 κ 1 为核函数,则对于任意函数g(x), κ(x,z)=g(x)κ1(x,z)g(z) κ ( x , z ) = g ( x ) κ 1 ( x , z ) g ( z ) 也是核函数。

软间隔与正则化

硬间隔:所有样本必须划分正确。
软间隔:允许支持向量机在一些样本上不满足约束: yi(wTxi+b)1 y i ( w T x i + b ) ≥ 1 .
这里写图片描述
优化目标 minw,b12||w||2+Cmi=1l0/1(yi(wTxi+b)1),10 m i n w , b 1 2 | | w | | 2 + C ∑ i = 1 m l 0 / 1 ( y i ( w T x i + b ) − 1 ) , · · · · · · 10
其中 l0/1 l 0 / 1 是“0/1损失函数”f(n) =

{1,0,ifz<0 otherwise { 1 , i f z < 0   0 , otherwise

替代损失(由于 l0/1 l 0 / 1 函数非凸、非连续、函数性质不好,因此由一些函数替代 l0/1 l 0 / 1 ):
+hinge损失: lhinge(z)=max(0,1z) l h i n g e ( z ) = m a x ( 0 , 1 − z )
+指数损失(exponential loss): lexp(z)=exp(z) l e x p ( z ) = e x p ( − z ) ;
+对率损失(logistics loss): llog(z)=log(1+exp(z)). l l o g ( z ) = l o g ( 1 + e x p ( − z ) ) .

hinge损失:采用hinge损失,则10式变为:

minw,b12||w||2+Ci=1mmax(0,1yi(wTxi+b)) m i n w , b 1 2 | | w | | 2 + C ∑ i = 1 m m a x ( 0 , 1 − y i ( w T x i + b ) )
,
软间隔支持向量机:引入“松弛变量” ξi0 ξ i ≥ 0 ,可将上式重写为
minw,b,ξi12||w||2+Ci=1mξi11s.t.yi(wTxi+b)1ξiξi0,i=1,2,...,m. m i n w , b , ξ i 1 2 | | w | | 2 + C ∑ i = 1 m ξ i · · · · · · · · · 11 s . t . y i ( w T x i + b ) ≥ 1 − ξ i ξ i ≥ 0 , i = 1 , 2 , . . . , m .
,这就是常用的“软间隔支持向量机”

拉格朗日函数(软间隔支持向量机条件下):

L(w,b,α,ξ,μ)=12||w||2+Ci=1mξi+i=1mαi(1ξiyi(wTxi+b))i=1mμiξi, L ( w , b , α , ξ , μ ) = 1 2 | | w | | 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i ( 1 − ξ i − y i ( w T x i + b ) ) − ∑ i = 1 m μ i ξ i ,
w,b,ξi w , b , ξ i 求偏导,并令其为零得:
w=i=1mαiyixi;0=i=1mαiyi;C=αi+μi12 w = ∑ i = 1 m α i y i x i ; 0 = ∑ i = 1 m α i y i ; C = α i + μ i · · · · · · · 12

对偶问题
maxαi=1mαi12i=1mj=1mαiαjyiyjxTixj13s.t.i=1mαiyi=0,Cαi0,i=1,2,...,m. m a x α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j · · · · · · · 13 s . t . ∑ i = 1 m α i y i = 0 , C ≥ α i ≥ 0 , i = 1 , 2 , . . . , m .

KKT条件:
αi0,μi0,yif(xi)1+ξi0,αi(yif(xi)1+ξi)=0.ξi0,μiξi=0.............14 { α i ≥ 0 , μ i ≥ 0 , y i f ( x i ) − 1 + ξ i ≥ 0 , α i ( y i f ( x i ) − 1 + ξ i ) = 0. ξ i ≥ 0 , μ i ξ i = 0. . . . . . . . . . . . .14

正则问题 minfΩ(f)+Cmi=1l(f(xi),yi), m i n f Ω ( f ) + C ∑ i = 1 m l ( f ( x i ) , y i ) ,
其中 Ω(f) Ω ( f ) 称为“结构风险”,正则化项,描述模型的某些性质, Cmi=1l(f(xi),yi) C ∑ i = 1 m l ( f ( x i ) , y i ) 为经验风险;用于描述模型与训练数据的契合程度;C正则化常数,用于对二者进行折中, Lp L p 范数为常用正则化项, L2 L 2 倾向于w的分量取值均衡; L1L0 L 1 和 L 0 倾向于w的分量尽量稀疏,非零分量个数尽量少。

支持向量回归

假设:f(x)与y之间的差别绝对值大于 ϵ ϵ 才计算损失,如下图,训练样本落入此间隔带,则被认为预测正确:
这里写图片描述

SVR问题 minw,b12||w||2+Cmi=1lϵ(f(xi)yi),15 m i n w , b 1 2 | | w | | 2 + C ∑ i = 1 m l ϵ ( f ( x i ) − y i ) , · · · · · · · · 15
ϵ ϵ -insensitive loss function:

lϵ(z)={0,|z|ϵ,if |z|ϵotherwise............16 l ϵ ( z ) = { 0 , if  | z | ≤ ϵ | z | − ϵ , otherwise . . . . . . . . . . . .16

引入松弛变量 ξiξ^i ξ i 和 ξ ^ i 则15式变为:
minw,b,ξi,ξ^i12||w||2+Ci=1m(ξi+ξ^i),s.t.f(xi)yiϵ+ξi,yif(xi)ϵ+ξ^i,ξi0;ξ^i017 m i n w , b , ξ i , ξ ^ i 1 2 | | w | | 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) , s . t . f ( x i ) − y i ≤ ϵ + ξ i , y i − f ( x i ) ≤ ϵ + ξ ^ i , ξ i ≥ 0 ; ξ ^ i ≥ 0 · · · · · · · · 17

拉格朗日函数
L(w,b,α,α^,ξ,ξ^,μ,μ^)=12||w||2+Cmi=1(ξi+ξ^i)mi=1μ^iξ^imi=1muiξi+mi=1αi(f(xi)yi)ϵξi)+mi=1α^i(yif(xi))ϵξ^i) L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) = 1 2 | | w | | 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) − ∑ i = 1 m μ ^ i ξ ^ i − ∑ i = 1 m m u i ξ i + ∑ i = 1 m α i ( f ( x i ) − y i ) − ϵ − ξ i ) + ∑ i = 1 m α ^ i ( y i − f ( x i ) ) − ϵ − ξ ^ i ) ··18
SVR对偶问题:利用拉格朗日乘子法得到SVR对偶问题:

maxα,α^i=1myi(α^iαi)ϵ(α^i+αi)12i=1mj=1m(α^iαi)(α^jαj)xTixj19;s.t.i=1m(α^iαi)=0;0αi,α^iC. m a x α , α ^ ∑ i = 1 m y i ( α ^ i − α i ) − ϵ ( α ^ i + α i ) − 1 2 ∑ i = 1 m ∑ j = 1 m ( α ^ i − α i ) ( α ^ j − α j ) x i T x j · · · · · · · · 19 ; s . t . ∑ i = 1 m ( α ^ i − α i ) = 0 ; 0 ≤ α i , α ^ i ≥ C .

KTT条件
αi(f(xi)yiϵξi=0α^i(yif(xi)ϵξ^i=0,αiα^i=0,ξiξ^i=0.(Cαi)ξi=0,(Cα^i)ξ^i=0.............20 { α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) = 0 , α i α ^ i = 0 , ξ i ξ ^ i = 0. ( C − α i ) ξ i = 0 , ( C − α ^ i ) ξ ^ i = 0. . . . . . . . . . . . .20

求解:SVR解形如:
f(x)=i=1m(α^iαi)xTix+b. f ( x ) = ∑ i = 1 m ( α ^ i − α i ) x i T x + b .

b=yi+ϵj=1m(α^jαj)xTjxi b = y i + ϵ − ∑ j = 1 m ( α ^ j − α j ) x j T x i

w=i=1m(α^iαi)ϕ(xi)SVR 考 虑 特 征 映 射 , w = ∑ i = 1 m ( α ^ i − α i ) ϕ ( x i ) , 则 S V R 表 示 为 :

f(x)=i=1m(α^iαi)κ(x,xi)+b f ( x ) = ∑ i = 1 m ( α ^ i − α i ) κ ( x , x i ) + b
其中 κ(xi,xj)=ϕ(xi,xj)=ϕ(xi)Tϕ(xj) κ ( x i , x j ) = ϕ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) 为核函数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值