一. SVM简介
支持向量机一般用于解决二分类问题,即给定数据集T={( x 1 x_1 x1, y 1 y_1 y1),( x 2 x_2 x2, y 2 y_2 y2),( x 3 x_3 x3, y 3 y_3 y3)…},找到一个可以分开数据集的超平面: w ∗ ⋅ x + b ∗ = 0 ( 式 1.1 ) w^* \cdot x+b^*=0\qquad (式 \ 1.1) w∗⋅x+b∗=0(式 1.1)此最优超平面应当使支持向量到超平面上的几何间隔d最大。
如上图所示,在向量空间中构造三个相互平行的超平面F,Fa,Fb。一般将离超平面F最近的一些样本点称之为支持向量(Support Vector),由支持向量约束构成的超平面Fa,Fb称为支持超平面。由于在超平面F与样本集均确定的条件下,所有支持向量也是确定的,在训练过程中需要计算所有支持向量到超平面F的几何间隔d。
二. 将几何间隔最大值问题转化为最小值问题
几何间隔 d d d与间隔 u u u可以用以下公式计算,其中 ( x , y ) (x,y) (x,y)为样本点: d = y ⋅ ( w ∗ ⋅ x + b ∗ ) ⋅ 1 ∣ ∣ w ∣ ∣ ( 式 2.1 ) d=y\cdot (w^* \cdot x+b^*)\cdot \frac{1}{||w||}\qquad (式 \ 2.1) d=y⋅(w∗⋅x+b∗)⋅∣∣w∣∣1(式 2.1) u = y ⋅ ( w ∗ ⋅ x + b ∗ ) ( 式 2.2 ) u=y\cdot (w^* \cdot x+b^*)\qquad (式 \ 2.2) u=y⋅(w∗⋅x+b∗)(式 2.2) y y y表示数据标签,在二分类问题中一般为1/-1,这样定义后,不论样本点在超平面的哪一侧,都能保证 u u u总为正数。在实际使用中,为了方便计算,通常固定间隔 u = 1 u=1 u=1,这样,求 d d d的最大值问题变为求 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣的最小值问题,于是可以转化为求解如下的二次规划问题: min w , b 1 2 ∣ ∣ w ∣ ∣ 2 ( 式 2.3 ) \min_{w,b}\frac{1}{2}||w||^2\qquad (式 \ 2.3) w,bmin21∣∣w∣∣2(式 2.3) 条 件 : y i ⋅ ( w ⋅ x i + b ) − 1 = 0 , i = 1 , 2 , . . . , N 条件:y_i\cdot (w\cdot x_i+b)-1=0,i=1,2,...,N 条件:yi