支持向量机专题——线性可分支持向量机
支持向量机(support vector machine, SVM)是一种经典的分类器,其主要思想是学习一个在特征空间上使间隔最大的分类器。支持向量机的学习可以看成是一个求解凸二次规划问题的过程,同时也等价于正则化的合页损失函数的最小化问题。
支持向量机可以分为:线性可分支持向量机、线性支持向量机、非线性支持向量机三种。当训练数据线性可分时,可通过硬间隔最大化,学习一个线性可分支持向量机(也称为硬间隔支持向量机);当训练数据近似线性可分时,可以通过软间隔最大化,学习一个线性支持向量机(也称为软间隔支持向量机);当训练数据线性不可分时,需要使用核技巧,学习非线性支持向量机。
线性可分支持向量机
问题抽象
一般来说,一个点距离超平面的距离可以表示分类预测的确信程度,如图所示,点C、B、A分类的确信程度依次递增。
令
线性可分支持向量机的目的就是找到使
函数间隔不足以表示分类预测的确信度,因为如果成倍的增加
显然,函数间隔和几何间隔存在以下关系
支持向量机学习的基本想法是求解能正确划分训练数据集并且几何间隔最大的分离超平面,对线性可分的数据集而言,这个超平面是唯一的。
求解最大间隔分离超平面的问题可以表示为下面的约束最优化问题:
意思就是要让最小间隔最大化
根据几何间隔和函数间隔的关系,该问题可以改写为
由于将
等价于
这是一个凸二次规划问题,要求
最优化问题求解
对于上述抽象问题,可以通过求解原始问题的对偶问题得到最优解,使用这种方式的原因是对偶问题更加容易求解,并且可以自然地引入核函数,从而推广到非线性分类问题
首先构建拉格朗日函数:
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题
因此,需要先求
求minω,bL(ω,b,α)
将拉格朗日函数对
得
将上式代入拉格朗日函数,即得
接下来要求
该问题可以转化为以下求极小问题
因此,只需找出满足条件的
其中j使得
这样,就得到线性可分的支持向量机。