-
SVM 原理
SVM 是一种二类分类模型。它的基本思想是在特征空间
中寻找间隔最大的分离超平面使数据得到高效的二分类,
具体来讲,有三种情况(不加核函数的话就是个线性模型,
加了之后才会升级为一个非线性模型):
当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;
当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,
即线性支持向量机;
当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。 -
SVM 为什么采用间隔最大化(与感知机的区别):
当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。
感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。
线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。
另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。 -
如何选择核函数:
当特征维数 d 超过样本数 m 时 (文本分类问题通常是这种情况), 使用线性核;
当特征维数 d 比较小. 样本数 m 中等时, 使用RBF核;
当特征维数 d 比较小. 样本数 m 特别大时, 支持向量机性能通常不如深度神经网络
4.常见的核函数
LIBSVM中提供的核函数
线性核函数
多项式核函数
RBF核函数(高斯核函数)
sigmoid核函数