支持向量机—线性可分支持向量机与硬间隔最大化

      支持向量机(support vector machines,SVM)是一种二类分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器。支持向量机的学习策略是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic programming)的问题。


7.1.1线性可分支持向量机

       给定一个特征空间上的训练集


其中,,xi为第i个特征向量,也称为实例,yi为xi的类标记,当yi=+1时,称xi为正例;当yi=-1时,称xi为负例,(xi,yi)为样本点,再假设训练数据集是线性可分的。

       学习的目标是在特征空间找到一个分离超平面,能将实例分到不同的类,分离超平面对应于方程w●x+b=0,它是由法向量w和截距b决定,可用(w,b)来表示.分离超平面将特征空间分为两部分,一部分是正类,一部分是负类。法向量指向的一侧为正类,另一侧为负类。

       一般的,当训练数据集线性可分时,存在无穷多个分离超平面可将两类数据正确分开。感知机利用误分类最小的策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量利用间隔最大化求最优分离超平面,这时,解是唯一的。

       定义  给定线性可分数据集,通过间隔最大化或等价的求解相应的凸二次规划问题得到的分离超平面为


以及相应的分类决策函数


称为线性可分支持向量机。

7.1.2函数间隔和几何间隔

支持向量机—线性可分支持向量机与硬间隔最大化_第1张图片

        如图7.1,有A,B,C三个点,表示3个实例,均在分离超平面的郑磊一侧。点A距分离超平面较远,若预测该点为正类,就比较确信预测是正确的;点C距离分离超平面较近,若预测该点为正类就不那么确信;点B介于点A和点C之间,预测其为正类的确信度也在A和C之间。

        一般来说,一个点距离分离超平面的远近可以表示分类预测的确信程度,在超平面w●x+b=0确定的情况下|w●x+b=0|能够相对的表示点x距离超平面的远近。而w●x+b=0与类标记y的符号是否一致能偶表示分类是否正确。所以可以同y(w●x+b)来表示分类的正确性及确信度。

        函数间隔(functional margin):对于给定的训练数据集T和超平面(w,b),定义超平面(w,b)关于样本点(xi,yi)的函数间隔为


定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点(xi,yi)的函数最小值,即


        函数间隔可以表示分类预测的正确性及确信度,但是选择分离超平面时,若成比例的改变w和b,例如将他们改为2w和2b,超平面并没有改变,但函数间隔却成为原来的2倍。这启示我们,可以队超平面的法向量w加某些约束,如规范化,||w||=1,使得间隔是确定的。这时函数间隔成为几何间隔(geometric margin)。

         几何间隔(functional margin)对于给定的训练数据集T和超平面(w,b),定义超平面关于样本点(xi,yi)的几何间隔为


 定义超平面(w,b)关于训练数据集T的几何间隔为超平面(w,b)关于T中所有样本点(xi,yi)的函数最小值,即


        如果||w||=1,那么函数间隔和几何间隔相等。如果超平面参数w和b成比例地改变,函数间隔也按此比例改变,而几何间隔不变。

7.1.3间隔最大化

       支持向量机学习的基本方法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面,对线性可分的训练数据集而言,线性可分分离超平面有无穷个(等价于感知机),但是几何间隔最大的分离超平面是唯一的。这里的间隔最大化又称硬间隔最大化。

         间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点也有足够大的确信度将它们分开。这样的超平面应该对为止的新实例有很好的分类预测能力。

1.最大间隔分离超平面

       几何间隔最大的分离超平面,即最大间隔分离超平面。具体地,这个问题可以表示为下面的约束最优化问题:


即我们希望最大化超平面(w,b)关于训练数据集的几何间隔γ,约束条件表示的是(w,b)关于每个训练样本点的几何间隔至少是γ。

        考虑几何间隔和函数间隔的关系,问题可改写为

支持向量机—线性可分支持向量机与硬间隔最大化_第2张图片

       函数间隔的取值并不影响,事实上,假设将w和b按比例改变为λw和λb,这时函数间隔称成为。函数间隔的这一改变对上面最优化问题的不等式约束没有影响,对目标函数的优化也没有影响,也就是说,它产生一个等价的最优化问题。这样就可以取=1,将带入上面的最优化问题,注意到最大化和最小化是等价的,于是就得到下面线性可分支持向量集学习的最优化问题


这时一个凸二次规划(convex quadric programing)问题

支持向量机—线性可分支持向量机与硬间隔最大化_第3张图片

其中,目标函数f(w)和约束函数gi(w)都是Rn上的连续可微凸函数,约束函数hi(w)是Rn熵的仿射函数。

注:f(x)称为放射函数,如果它满足f(x)=a●x+b,a∈,b∈R,x

        当目标函数f(w)是二次函数且约束函数gi(w)是放射函数时,上述凸最优化问题称为凸二次规划问题。

        如果求出了约束最优化问题(7.13)~(7.14)的解w*,b*;那么久可以得到最大间隔分离超平面w*●x+b*=0及分类决策函数,即线性可分支持向量机模型。

算法7.1 线性可分支持向量机学习算法——最大间隔法

输入:线性可分数据集

其中xi∈

输出:最大间隔分离超平面和分类决策函数。

(1)构造并求解约束最优化问题:


求得最优解w*,b*;

(2)由此得到分离超平面:


分类决策函数

2.最大间隔分离超平面的唯一性

        线性可分训练数据集的最大间隔分离超平面是存在是唯一的。

        定理:若训练数据集T线性可分,则可将训练数据集中的样本点完全正确分开的最大间隔分离超平面存在且唯一。

        证明 

      (1)存在性

        由于训练数据集线性可分,所以算法7.1中的最优化问题(7.13)~(7.14)一定存在可行解,又由于目标函数有下界(凸函数),所以最优化问题(7.13)~(7.14)必有解,记作(w*,b*)。由于训练数据集中既有正类点,又有负类点,所以(w,b)=(0,b)不是最优化的可行解,因而最优解(w*,b*)必满足w*≠0。由此得知分离超平面的存在性。

       (2)唯一性

         首先证明最优化问题(7.13)~(7.14)解中w*的唯一性,假设问题(7.13)~(7.14)存在两个最优解(w1*,b1*),(w2*,b2*);显然||w1*||=||w2*||=c,其中c是一个常数,另w=(w1*+w2*)/2,b=(b1+b2)/2,易知(w,b)是问题(7.13)~(7.14)的可行解,从而有


上式表明,式中的不等式可变为等号,即,从而有w1*=λw2*,|λ|=1.若λ=-1,w=0,(w,b)不是问题的可行解,矛盾,因此必有λ=1,即w1*=w2*;(因为w=(w1*+w2*)/2和上式同时成立,所以w1*和w2*一定平行);

        再证b1*=b2*。设x1'和x2'是集合{xi|yi=+1}中分别对应于(w*,b1*)和(w*,b2*)使得问题的不等式等号成立的点,设x1''和x2''是集合{xi|yi=-1}中分别对应于(w*,b1*)和(w*,b2*)使得问题的不等式等号成立的点,则由b1*=-1/2(w*●x1'+w*●x1''),b2*=-1/2(w*●x2'+w*●x2'')

 w*●x1'+b=-(w*●x1''+b)

又因为


理解这个式子:x1使得w*●x1'+b1-1>=0的等号成立,即w*●x1'+b1=1,x2不能使该等号成立,w*●x2'+b1-1>=0,但x2使w*●x2'+b2-1>=0成立,即得到第二个式子


所以w*●(x1'-x2')=0,同理有w*●(x1’'-x2'‘)=0,因此

b1*-b2*=0;

因此两个最优解(w1*,b1*),(w2*,b2*)相同,解的唯一性得证。


3.支持向量和间隔边界

      在线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量,支持向量是使越是条件是(7.14)等号成立的点

支持向量机—线性可分支持向量机与硬间隔最大化_第4张图片

          H1和H2平行,并且没有实例点落在他们中间,在H1和H2中间形成一条长带,分离超平面与他们平行且位于它们中央,长带的宽度,即H1与H2之间的距离称为间隔,间隔依赖于分离超平面的法向量w,等于2/||w||。H1和H2称为间隔边界。

      在决定分离超平面时,只有支持向量起作用,而其他实例点不起作用,如果移动支持向量改变所求的解;但是如果在间隔边界以外移动其他实例点,甚至去掉这些点,则解是不会改变的。由于支持向量在确定分离超平面中起这决定性的作用,所以将这种分类模型称为支持向量机。支持向量的个数一般很少,所以支持向量机由很少的“重要的”训练样本决定的。


7.1.4 学习的对偶算法

        为了求解线性可分支持向量机的最优化问题(7.13)~(7.14),将它作为原始最优化问题,应用拉格朗日对偶性(见上篇 拉日朗日对偶性),通过求解对偶问题(dual problem)得到原始问题(primal problem)的解。

        首先偶见拉格朗日函数(Lagrange function).为此,对每一个不等式约束(7.14)引进拉格朗日乘子(lagarange multiplier)αi>=0,定义拉格朗日函数:


(注:

其中α=(α1,α2,...αN)T称为拉格朗日乘子向量

       根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:


所以,为了求得对偶问题的解,需要先求L(w,b,α)对w,b的极小,在求对α的极大。

(1)求

将拉格朗日函数L(w,b,α)分别对w,b求偏导数并令其为0.


将(7.19)带入拉格朗日函数(7.18),并利用(7.20),即得

支持向量机—线性可分支持向量机与硬间隔最大化_第5张图片


(2)求minL(w,b,α)对α的极大,即是对偶问题

支持向量机—线性可分支持向量机与硬间隔最大化_第6张图片

将(7.21)的目标函数由极大转换成求极小,就得到下面与之等价的对偶最优化问题:

支持向量机—线性可分支持向量机与硬间隔最大化_第7张图片

考虑原始最优化问题(7.13)~(7.14)和对偶最优化问题(7.22)~(7.24),原始问题满足定理2(上篇文)的条件,所以存在w*,α*,β*,使w*是原始问题的解,α*,β*是对偶问题的解。这意味着求解原始问题(7.13)~(7.14)转化对偶最优化问题(7.22)~(7.24)。

        对线性可分数据训练集,假设对偶最优化问题(7.22)~(7.24)对α的解为α=(α1*,α2*,...αN*)T,可以由α*求得原始最优化问题(7.13)~(7.14)对(w,b)的解w*,b*:




证明:

根据定理3(上篇文章),KKT条件成立,即得

支持向量机—线性可分支持向量机与硬间隔最大化_第8张图片

由此得


其中至少有一个αj(反证法,假设α*=0,由(7.27)可知w*=0,而w*=0不是原始最优化问题(7.13)~(7.14)的解,产生矛盾),对此j有


(注:即一定有一个点是支持向量)

将(7.25)带入(7.28)得yj^2=1,即得


这时分离超平面可以写成


分类决策函数可以写成


这就是说,分类决策函数只依赖于输入x和训练样本输入的内积。式(7.30)称为线性可分支持向量机的对偶形式。

        综上所示,对于给定的线性可分训练数据集,可以首先求对偶问题(7.22)~(7.24)的解α*;再利用(7.24)~(7.26)求得原始问题的解w*,b*;从而得到分离超平面及分类决策函数。


算法7.2  线性可分支持向量机学习算法

输入:线性可分训练集,其中

输出:分离超平面和分类决策函数

(1)构造并求解约束最优化问题

支持向量机—线性可分支持向量机与硬间隔最大化_第9张图片

求得最优解α=(α1*,α2*,...αN*)T

(2)计算

并选择α*的一个正分量αj*>0,计算


求得分离超平面


分类决策函数


        在线性可分支持向量机中,由(7.25)、(7.24)可知,w*和b*只依赖于训练数据中对应于αi>0的样本点(xi,yi),而其他样本点对w*,b*没有影响。我们将训练数据中对应于αi>0的实例点xi∈Rn称为支持向量。


(注:为什么αi>0的实例点xi∈Rn称为支持向量,回忆在拉格朗日对偶性中,我们提到,

假设给定某个x,如果x违反原始问题的约束条件,即存在某个i使得ci(w)>0,或者存在某个j使得hj(w)≠0,那久有

,而支持向量一定满足ci(x)=0,非支持向量一定满足

ci(x)>0

       根据这已定义,支持向量一定在间隔边界上。由KKT互补条件可知,


对应于αi*>0的实例xi,有



你可能感兴趣的:(支持向量机—线性可分支持向量机与硬间隔最大化)