SVM是一种常用的二分类模型,同时我们也可以通过核技巧用它来解决一些多分类的问题,下面我们来仔细的研究一下这个神秘的模型。
一、线性可分问题
线性可分,顾名思义就是可以用一条直线能够将两个不同的种类分开的问题。我们当然可以这么去理解,但是线性不可分的问题你是否能够很快的想到一个好的例子呢?下面我们来仔细的说一下这个问题。
用上图来作为一个简单的例子,图中有三角和圆两个类别,我们想找一条线把他们分开,当然这条线有很多种画法,图中只列出简单的三种分法,此时我们可以看出用一条直线我们可以很好的将两种类别分开,此时我们就可以说这个(数据)样本是线性可分的。
非线性可分,按照上面的逻辑,就是一些在特征空间内不能被一条之前分开的样本,画图来说明一下:
二、间隔问题
首先我们看一下线性可分问题中的图像,上文提到了将三角和圆分开的直线可以有很多种,而线性可分支持向量机对应着其中间隔最大的那条直线,那么这里的间隔具体指什么呢?
(一)、函数间隔
(二)、几何间隔
三、间隔最大化
四、支持向量
五、对偶问题
首先需要明确一下对偶问题的由来,对偶问题是一种应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解。
六、引入松弛变量的线性支持向量机
八、非线性支持向量机
上文中我们首先提到了线性可分支持向量机,后来又引入了松弛变量说了一下线性支持向量机,下面我们再来说一下非线性支持向量机。
(一)、核技巧
对于非线性支持向量机,我们需要用核技巧将线性支持向量机推广到非线性支持向量机,不仅是SVM其他的一些类似问题也可以用该方式来解答。
所谓核技巧其实就是使得在原空间内不可分的数据映射到更高维度的空间上,然后再使用线性的方法将他们分开的一种思想,用下图来表示一下:
可以看到图左的数据在二维空间内不能用一条直线将他们分开,我们将它映射到一个三维的空间内,此时就会存在一个平面(黄色的部分)将两类分离开来,对于这种思想我们就可以称之为核技巧。
(二)、核函数
九、SVM的优缺点
优点:
- SVM是一个凸优化问题,所以求得的解一定是全局最优而不是局部最优。
- 不仅适用于线性线性问题还适用于非线性问题(用核技巧)。
- 拥有高维样本空间的数据也能用SVM,这是因为数据集的复杂度只取决于支持向量而不是数据集的维度,这在某种意义上避免了“维度灾难”。
缺点:
- 二次规划问题求解将涉及m阶矩阵的计算(m为样本的个数), 因此SVM不适用于超大数据集。(SMO算法可以缓解这个问题)
- 只适用于二分类问题。(SVM的推广SVR也适用于回归问题;可以通过多个SVM的组合来解决多分类问题)