SVM学习总结
1.SVM概述
支持向量机(support vector machines,SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器。支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机的学习算法是求解凸二次规划的最优化算法。
当输入空间为欧式空间或离散集合、特征空间为希尔伯特空间时,核函数表示将输入从输入空间映射到特征空间得到的特征向量之间的内积。通过核函数可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机。这样的方法称为核技巧。核方法是比支持向量机更为一般的机器学习方法。
2.间隔与支持向量
直观上看,我们去找位于两类训练样本"正中间"的划分超平面,即图中颜色较深的那条,因为该划分超平面对训练样本局部扰动的“容忍”性最好,这个划分超平面所产生的分类效果是最鲁棒的,对未见示例的泛化能力最强。在样本空间中,划分超平面可通过如下线性方程来描述:
分离超平面由法向量w和位移b确定,我们将其记为(w,b).样本空间中任意点x到超平面(w,b)的距离可写为
则若正确分类,对于(xi,yi)∈D,若yi=+1,则有,若yi=-1,则有
,经过一定的缩放·,我们最终可以得到
距离超平面最近的这几个训练样本点称为“支持向量”,它们使得上式的等号成立。代入前面的距离公式,则两个异类支持向量到超平面的距离之和为
它被称为“间隔”
我们的最终目标是找到具有“最大间隔”的划分超平面,也就是找到满足约束的w和b,使得r最大,即
为了最大化间隔,仅需最大化||w||^-1 ,这等价于最小化||w||^2。于是上面的式子也等价于
这是支持向量机的基本型。
3.对偶问题
3.1 拉格朗日函数
令L(w,b,a)对w和b的偏导为0可得到
将w代入,即可得到
由KKT条件成立,我们可以得到
由于
4.损失函数
SVM的学习方式还可以有另外一种解释,即为如下的损失函数:
图像如下:
5.常见核函数
(1)多项式核函数
(2)高斯核函数(RBF核)