支持向量机(Support Vector Machine, SVM)是一种二分类模型。它的基本思想是间隔最大化。
1、线性可分支持向量机
给定训练集 T={ (x1,y1),(x2,y2),...,(xm,ym)} T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } ,其中 (xi,yi) ( x i , y i ) 表示第 i i 个训练样本。输入实例 , 标记 yi∈{ +1,−1} y i ∈ { + 1 , − 1 } ,+1代表正例,-1代表反例。
假设训练集线性可分,即存在超平面能正确划分训练集,并且很容易看出这种超平面有无穷多个。分类超平面用 ωTx+b=0 ω T x + b = 0 表示,对所有 ωTx+b>0 ω T x + b > 0 的实例,超平面将其划分为正类;对所有 ωTx+b<0 ω T x + b < 0 的实例,超平面将其划分为反例。
学习的目的,就是找到这样一个分类超平面,使其对训练集进行正确划分。上面也说了,在训练集线性可分的情况下,这样的分类超平面有无穷多个。支持向量机通过间隔最大化求最优分类超平面,这个最优超平面的解是唯一的。
1.1 函数间隔与几何间隔
函数间隔
超平面 ωTx+b=0 ω T x + b = 0 关于样本点 (xi,yi) ( x i , y i ) 的函数间隔为γ^i=yi(ωTxi+b),(1) (1) γ ^ i = y i ( ω T x i + b ) ,
关于训练集T的函数间隔为γ^=miniγ^i.(2) (2) γ ^ = min i γ ^ i .
对于分类超平面 ωTx+b=0 ω T x + b = 0 与样本 (xi,yi) ( x i , y i ) , (ωTxi+b) ( ω T x i + b ) 的符号与 yi y i 的符号是否一致能够表示分类是否正确; |ωTxi+b| | ω T x i + b | 能够相对地表示 xi x i 距离超平面的远近,而实例点距离分类超平面的远近可以表示分类的确信程度。所以函数间隔不仅包含了超平面是否将样本正确分类的信息,还包含了超平面对样本分类的确信度。
几何间隔
超平面 ωTx+b=0 ω T x + b = 0 关于样本点 (xi,yi) ( x i , y i ) 的几何间隔为γi=yi(ωTxi+b)||ω||,(3) (3) γ i = y i ( ω T x i + b ) | | ω | | ,
关于训练集T的函数间隔为γ=miniγi.(4) (4) γ = min i γ i .
几何间隔是有符号距离,只有在样本点被超平面正确分类时才是实例点到超平面的距离。
由(1)~(4)可以得到
1.2 间隔最大化
线性可分支持向量机的目的是找到把训练数据正确划分且几何间隔最大的分类超平面。间隔最大的分类超平面对未知实例有很好的泛化能力。
寻找几何间隔最大的超平面可以表示为优化问题: