SVM——线性可分 SVM 原理
线性可分和超平面
二分类问题
二分类问题就是:给定的各个样本数据分别属于两个类质疑,而目标是确定新数据点将归属到哪个类中。
在机器学习的应用中,至少现阶段,分类是一个非常常见的需求,特别是二分类,它是一切分类的基础,而且很多情况下,多分类问题都可以转化为二分类问题来解决。
特征的向量空间模型
具体的样本在被机器学习算法处理时,由其特征来表示,换言之每个现实世界的事物,再用来进行机器学习训练或预测时,需要转化为一个特征向量。
假设样本的特征向量为n维,那么我们说这些样本的特征向量处在n维的特种空间中。一般来说,特征空间可以是欧式空间,也可以是希尔伯特空间,不过便于理解,都是用欧式空间。
当我们把一个n维向量表达在一个n维欧式空间的时候,可以想象一个个向量对应该空间中的一个个点。举个例子,把若干样本的特征向量放到特征空间里去,就好像在这个n维空间中撒了一把豆子,当n=1时,这些豆子是一条直线上的若干点;当n=2时,这些豆子是平面上的若干点……
线性可分
选取特征的目的:将一个事物的某些属性数字化,再映射为特征空间中的点,其目的是为了对其进行计算。
比如特征向量是2维,下图中红蓝两色点都是样本的特征向量,红色是正类,蓝色是负类:
这两类样本很显然可以被一条线分割开(如下图),这就是两类样本在其特征空间里线性可分。
线性可分的数学定义: D 0 D_0 D0和 D 1 D_1 D1是n维欧式空间的两个点集,如果存在n维向量 w w w 和实数 b b b,使得所有属于 D 0 D_0 D0 的点 x i x_i xi 都有 w x i + b > 0 wx_i+b>0 wxi+b>0 ,而对于所有属于 D 1 D_1 D1 的点 x j x_j xj 则有 w x j + b < 0 wx_j+b<0 wxj+b<0。我们称 D 0 D_0 D0和 D 1 D_1 D1线性可分。
超平面
上述将 D 0 D_0 D0和 D 1 D_1 D1完全正确地划分开的 w x + b = 0 wx+b=0 wx+b=0,就是超平面(Hyperplane)。
超平面: n维欧式空间中维度等于n-1的线性子空间。如:1维欧氏空间(直线)中的超平面为0维(点),2维欧氏空间中的超平面为1维(直线);3维欧氏空间中的超平面为2维(平面);以此类推。
在数学意义上,将现行可分的样本用超平面分隔开的分类模型,叫线性分类器(线性分类模型)。可以想象,在一个样本特征向量线性可分的特征空间里,可能有许多超平面可以把两类样本分开,在这种情况下,我们要寻找的是最佳超平面。
最佳超平面判断标准: 以最大间隔把两类样本分开的超平面,是最佳超平面(也叫最大间隔超平面):
- 两类样本分别分割在该超平面的两侧;
- 两侧距离超平面最近的样本点到超平面的距离被最大化。
线性可分支持向量机
找到最大间隔超平面
线性可分支持向量机 :以找出线性可分的样本在特征空间中最大间隔超平面为学习目的的分类模型。
具体过程:先找到两个平行的,能够分离正负例的辅助超平面,然后将他们分别推向正负例两侧,使得他们之间的距离尽可能大,一直到有至少一个正样本或负样本通过对应的辅助超平面为止——推到无法再推,再推就“过界”为止,如图:
这两个超平面互相平行,它们范围内的区域称为“间隔”,最大间隔超平面位于这两个辅助超平面正中的位置且与它们平行的超平面(绿色)
用直线表示这两条直线:
蓝色: x 2 = s x 1 + t 1 = > s x 1 − x 2 + t 1 = 0 x_2=sx_1+t_1=>sx_1-x_2+t_1=0 x2=sx1+t1=>sx1−x