一、支持向量机的概述
支持向量机是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。支持向量机的学习算法是求解凸二次规划的最优化算法。
基础的SVM算法是一个二分类算法,至于多分类任务,可以通过多次使用SVM进行解决。
在线性可分时,在原空间寻找两类样本的最优分类超平面。
在线性不可分时,加入松弛变量并通过使用非线性映射将低维度输入空间的样本映射到高维度空间使其变为线性可分,这样就可以在该特征空间中寻找最优分类超平面。
相关名词解释
支持向量:离分隔超平面最近的那些点。
间隔:点到分割面的距离,称为点相对于分割面的间隔。数据集所有点到分隔面的最小间隔的2倍,称为分类器或数据集的间隔。论文中提到的间隔多指这个间隔。SVM分类器就是要找最大的数据集间隔。
超平面:将数据集分隔开来的直线成为分隔超平面。对于二维平面来说,分隔超平面就是一条直线。对于三维及三维以上的数据来说,分隔数据的是个平面,称为超平面,也就是分类的决策边界。
松弛变量:软间隔支持向量机要加个松弛变量ξ。
SVM使用准则:n为特征数,m为训练样本数。
1.如果相较于n比m大很多,即训练集数据量不够支持我们训练一个复杂的非线性模型,我们选用逻辑回归模型或者不带核函数的支持向量机。
2.如果n较小,而且m大小中等,例如n在 1-1000 之间,而m在10-10000之间,使用高斯核函数的支持向量机。
3.如果n较小,而m较大,例如n在1-1000之间,而𝑚大于50000,则使用支持向量机会非常慢,解决方案是创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。
硬间隔指的就是完全分类准确,不能存在分类错误的情况。(完全的线性可分)
软间隔,就是允许一定量的样本分类错误。(线性不可分)
二、支持向量机--完全可分类
1、硬间隔
如下图所示,“x”和“o”表示两种类别,共m mm个样本:
现在我们要对其进行分类,那么有很多条直线可以完全区分这两类:
如何找到一条“最优”的直线:g(x)=wx+b来分类呢?标签 yi∈(1,−1) 表示两类,即:
当我们将分类线向两种类别平移时,可以看到图中有一些特殊的点,如下图红圈中:
在二维空间中,点到直线g(x)=wx+b的距离为: