支持向量机(SVM)是一种二分类模型,通过核技巧成为非线性分类器,其学习策略是间隔最大化,学习算法是求解凸二次规划的最优化算法。
分类
线性可分支持向量机(硬间隔支持向量机):训练数据线性可分
线性支持向量机(软间隔支持向量机):训练数据近似线性可分
非线性支持向量机:训练数据线性不可分
线性可分支持向量机
线性支持向量机
当训练数据集不是线性可分时,训练数据中往往有一些特异点,除去这些特异点,剩下的大部分样本组成的集合是线性可分的,针对部分特异点不满足函数间隔大于等于1的约束条件,对每个样本点引入一个松弛变量,使得函数间隔加上松弛变量后大于等于1,目标函数变成
其中C为惩罚因子,C值大对误分类的惩罚增大,C值小对误分类的惩罚减小
非线性支持向量机
如果能用一个超曲面将正负样本正确分开,则称为非线性可分问题,由于其不好求解,所采取方法是进行一个非线性变换,将非线性问题转换为线性问题,解决非线性分类问题,主要特点是利用核技巧,基本思想是通过一个非线性变换将输入空间映射到特征空间,使得输入空间中的超曲面模型对应于特征空间中的超平面模型,然后在特征空间中求解线性支持向量机即可。
核函数
在学习与预测中只定义核函数,而不显式地定义映射函数
例:原二维空间中的分类决策函数为
映射到高维空间后决策函数为
从而得到决策超平面,本例只是考虑二维空间中的数据,如果数据本身维度很高,那映射后的空间维度会更高,甚至是无限维!此时即便知道映射函数,也无法计算。因此,应找一个合适的二元函数,其输入是原空间的两个向量,输出是映射到高维空间的两个向量的内积,该函数就是核函数
至于为什么这样定义,可参考下面的例子