基本概念
支持向量机
(support vector machines,SVM)是一种二分类
模型,它的基本模型是定义在特征空间上的间隔最大
的线性分类器。支持向量机还包括核技巧
,这使它成为实质上的非线性分类器。其学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic programming)的问题,也等价于正则化的合页损失函数的最小化问题,支持向量机的学习算法是求解凸二次规划的最优化
算法。
支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机
(linear support vector machine in linearly separable case)、线性支持向量机
(linear support vector machine)及非线性支持向量机
(non-linear support vector machine)。当训练数据线性可分时,通过硬间隔最大化
(hard margin maximization),学习一个线性的分类器;当训练数据近似线性可分时,通过软间隔最大化
(soft margin maximization),也学习一个线性的分类器;当训练数据不可分时,通过核技巧
(kernel trick)及软间隔最大化,训练非线性的分类器。
最大边缘超平面
对于一个二分类问题,若数据集是线性可分的,那么我们可以找到这样一个超平面,使得数据的两个label分别位于平面两侧。并且,可以注意到,这样的超平面我们可以找到无数个。
然而,虽然有无数个这样的超平面,我们并不能保证这些超平面在未知实例上的效果都一样的好。因此,我们需要找到一个具有很好的泛化误差的超平面。这里,我们可以选取最大边缘超平面
。下面将讲述原因。
函数间隔
下图中有A,B,C三点,表示3个实例,对于这3个实例的预测,我们预测的确信度会是A>B>C这样一个结果。一般来说,一个点距离超平面的远近可以表示分类预测的确信程度。在超平面
几何间隔
函数间隔可以表示分类预测的正确性及确信度,但是选择分离超平面时,只有函数间隔还不够,因为只要成比例地该边
间隔最大化
对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。即,不仅将正负实例点分开,而且对最难分的实例点也有足够大的确信度将它们分开,这样的超平面对未知的新实例有很好的分类预测能力。这也是为什么我们要选取最大边缘超平面的原因。
线性可分支持向量机
最大间隔法
最优化
运用拉格朗日对偶性,通过求解对偶问题(dual problem)得到原始问题的最优解。
优点:
- 对偶问题往往更易求解
- 自然引入核函数,进而推广到非线性分类问题
首先构建拉格朗日函数,对每个不等式约束引进拉格朗日乘子
其中,
根据拉格朗日对偶性,原始问题的对偶问题就是极大极小问题:
附上推导过程
线性支持向量机
当数据集无法线性可分时,如下图所示
这时,我们可以对每一个样本点引进一个松弛变量
同时,对每个松弛变量
这里,
同上述推导方法,我们可写出下面算法
非线性支持向量机
有时