支持向量机(SVM)
@(数据挖掘)[svm]
一、线性可分支持向量机和硬间隔最大化
名词解释
线性可分:就是指给定一组数据集 T={ (x1,y1),(x2,y2),⋯,(xN,yN)} T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } ,其中, xi∈χ=Rn,yi∈γ={ +1,−1},i=1,2,⋯,N x i ∈ χ = R n , y i ∈ γ = { + 1 , − 1 } , i = 1 , 2 , ⋯ , N ,如果存在某个超平面S, w⋅x+b=0 w ⋅ x + b = 0 ,能够将整个数据集的正实例和负实例完全正确地划分到超平面的两侧,则称这个数据集T是线性可分数据集(linearly separable data set);否则就是线性不可分的。
硬间隔最大化,也就是线性可分支持向量机,在线性可分数据集上利用间隔最大化求最优分离超平面的过程首先从点到直线的距离发散到高维易知, |w⋅x+b| | w ⋅ x + b | 能够相对的表示点 x x 到超平面的距离,而 的符号与类标记 y y 的符号是否一致能够表示分类是否正确,所以:
可以用来表示数据集中每个点分类正确性和到分割超平面距离(也可以称为分类置信度大小),也叫超平面 (w,b) ( w , b ) 关于样本点 (xi,yi) ( x i , y i ) 的函数间隔。
我们可以进一步定义超平面关于整个数据集T的函数间隔为数据集T中所有点到超平面函数间隔的最小值:
γ̂ =mini=1,⋯,Nγi^ γ ^ = min i = 1 , ⋯ , N γ i ^
但是可以发现,我们同时按比例增大 w w 和 ,超平面仍然是 w⋅x+b w ⋅ x + b 没有变,但是函数间隔却同样按比例变化了,所以我们对分离超平面的法向量 w w 加了约束,使得 ,也就是间隔值不会改变,这时函数间隔变成了几何间隔,记做:
γi=yi(w‖w‖⋅x+b‖w‖) γ i = y i ( w ‖ w ‖ ⋅ x + b ‖ w ‖ )
则同理数据集到超平面的几何距离为:
γ=mini=1,⋯,Nγi γ = min i = 1 , ⋯ , N γ i- 进一步,我们的线性可分支持向量机就变成了一个约束最优化问题:
maxw,bγ max w , b γ
s.t.yi(w‖w‖⋅x+b‖w‖)⩾γ,i=1,2,⋯,N s . t . y i ( w ‖ w ‖ ⋅ x + b ‖ w ‖ ) ⩾ γ , i = 1 , 2 , ⋯ , N
即是最大化几何间隔的问题,接着根据函数间隔与几何间隔的关系,我们易得:
maxw,bγ̂ ‖w‖