支持向量机实际上是一种二分类模型,对于给定的数据样本,支持向量机需要找出一个线性函数(即为超平面),能够将样本数据分为二类,且正负类样本之间的间隔尽可能大。
最大间隔与支持向量:
对偶问题:
可以直接求解上述函数,但是效率较低,可利用万能的拉格朗日法求解,优势如下:首先,当前处理的模型严重依赖于数据集的维度d,若d较大则会提升运算时间;其次,SVM的核心思想是将从依赖d个维度转变到依赖m个数据点,并且依据后续的稀疏处理,计算量远小于m个数据样本。训练完成后,大部分的训练样本都不再需要保留,最终模型仅与支持向量有关。
有下述条件可知:
对任意的训练样本,(训练完成后,该样本点可以不再保留) 或者
(此时,所对应的样本点处于最大间隔边界上,是一个支持向量)。
对于新的样本X,则 ,分类器判定时只跟支持向量有关。
核函数:
若样本线性可分或者近似线性可分,则存在一个超平面能够将样本正确分类;若样本不可分,那么必须将非线性问题转变为线性问题。若原始样本空间维度有限,即属性有限,那么一定存在一个高维特征空间使得样本线性可分。因此,可以使用映射函数,将原始样本空间映射到一个高维的特征空间,使得在该高维特征空间内样本可分,该映射函数即为核函数。
在中,
即为最简单的线性核函数,此外还有高斯核函数、拉普拉斯核函数等。
那么:
软间隔与正则化:
由于噪声点或者离群点的影响,难以找出绝对的最佳超平面,此时为了保证分类器质量,在训练分类器时,引入“软间隔”,允许部分样本点不满足约束条件。与此对应,要求所有样本点均满足约束条件 的即为“硬间隔”。为此引入松弛变量
,满足
。
代价函数为:
那么拉格朗日函数为:其中C为惩罚系数,对于不满足约束条件的样本点给予一定的惩罚值
SVM多分类问题:
1.一对多:每次都把某类样本作为正样本,其余样本作为负样本
优点:分类器数目少,计算简单
缺点:容易出现分类重叠或者不可分类现象
2.一对一:每次都只选取二类分别作为正负样本
优点:避免了分类重叠现象
SVM分类策略:
1.当训练样本可分时,通过硬间隔最大化,学习一个线性可分SVM
2.当训练样本近似可分时,通过软间隔最大化,学习一个线性SVM
3.当训练样本不可分时,通过核函数和软间隔最大化,学习一个非线性SVM