从感知机到支持向量机
支持向量机(support vector machine,SVM)是一种二类的分类模型,它的基本模型是:特征空间中间隔最大的线性分类器。间隔最大使其有别于感知机算法,感知机算法是对线性可分问题进行二分类的算法,它是要满足能将其分开即可,因此SVM与感知机的区别在于间隔最大这一特点。如下图所示:
来源:机器学习
从上图中可以看到,有许多的线段都可以将正负样本分开,而感知机可以从这些线中选择任意的一个,因此感知机的解是不唯一的,而SVM是寻找最大间隔的超平面,因此它的解是唯一的。关于感知机可以参考:从感知机到人工神经网络.
支持向量机包含着由简单到复杂的过程,其可以分为:
1. 线性可分的支持向量机
当数据线性可分时,通过硬间隔最大化(hard margin maximization),学习到一个线性的分类器,其有称为硬间隔支持向量机。
2. 线性支持向量机
当训练样本近似的线性可分时,通过软间隔最大化(soft margin maximization),其学习的仍然是一个线性的分类器,其又可称为软间隔支持向量机。
3. 非线性支持向量机
当训练样本线性不可分的时候,可以通过核技巧(kernel method)及软间隔最大化,学习非线性的支持向量机。
下面对其分别介绍。
线性可分支持向量机
首先要明确,我们的目标,当给定的数据线性可分时,通过间隔最大等价的求解响应的凸二次规划问题学习得到的分离超平面: