SVM,全称是 support vector machine,中文名叫支持向量机。SVM 是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。
如上图所示,
最大间隔假设:
之所以为1,是为了数学上的方便,实际上可以为任何值,可以伸缩法向量
对与每个样本点的
则有:
对街边(图中红色虚线)点的要求:
“街宽”(两条红虚线的宽度):
欲找到具有”最大间隔”的划分超平面,也就是要找到能满足
这就是支持向量机(SVM)的基本型。
SVM 这个东西本身并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也不好讲清楚。关于 SVM 更深入的理论和推导,会在后续博文中陆续给出,本篇博客不作详细说明。
这里再给出两个概念:硬间隔与软间隔
如上述所说的,所有的样本都必须划分正确,这成为”硬间隔“,而软间隔则是允许某些样本不满足约束
支持向量机学习方法包括构建由简至繁的模型:线性可分支持向量机、线性支持向量机及非线性支持向量机。当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机;当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。