支持向量机(Support Vector Machine, SVM)是 Cortes 和 Vapnik 于 1995 年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
1、SVM思想及步骤
1.1 线性函数
线性函数在一维空间就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,在多维空间中线性函数有一个统一的名称——超平面(Hyper Plane)。
一般的,如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。
1.2 分类间隔
需要有一个指标来衡量解决方案(即我们通过训练建立的分类模型)的好坏,而分类间隔是一个比较好的指标。
函数间隔
在进行分类的时候,每一个样本由一个向量(就是那些数据特征所组成的向量)和一个标记(标示出这个样本属于哪个类别)组成:
其中 就是数据向量(维数很高),
就是分类标记,在二元的线性分类中,这个表示分类的标记只有两个值,1 和 -1(用来表示属于还是不属于这个类)。
一个样本点到某个超平面的间隔可定义为:
注意到如果样本属于该类别,,
,
样本不属于该类别,,
,
表明 总是大于 0,而且它的值就等于
(也就是
)。
某一个样本的函数间隔就是:
定义全局样本上的函数间隔: 其中
即在训练样本上分类正例和负例确信度最小的函数间隔。
几何间隔
为了限制 和