关于SVM的笔记

SVM是一种二分类模型,基本模型是定义在特征空间上的间隔最大的线性分类器。SVM学习的目的是从特征空间中找到一个分离超平面,能将实例分到不同的类。

我们要让上述最小的函数间隔最大。由于同时放大参数w,b,函数间隔会增大而原来的模型没有改变(几何间隔不变)。

我们让上述的几何间隔最大化:

将上述w,b同时放大$\lambda$,此时函数间隔变为$\lambda \gamma$,此时模型还是没有改变。也就是说,上述函数间隔对原问题没有影响,于是我们可以取$\gamma$为1。

我们得到的超平面是唯一的。

为了解决上述问题,我们需要将上述问题装换成无约束问题,引入拉格朗日函数:

求解上述问题,我们需要满足KKT条件。KKT条件是上述问题的充分必要条件。

KKT条件:1.所求参数的导数为0(不包括对偶变量(拉格朗日乘子) 2.不等式约束乘上对偶变量等于0 3.需要满足约束条件 4.对偶变量必须大于0

将上述式子带入公式:

我们可以通过SMO(序列最大化)求解上述问题。这里不再描述SMO。

对于线性不可分数据,我们可以使用软间隔,使得软间隔最大化。

对每个样本点$(x_i,y_i)$引入一个松弛变量$\epsilon_i$

对于非线性可分的数据,我们可以通过核函数将数据映射到一个使得数据线性可分的高维度空间。这里就不再描述。

问题:

1.为什么SVM是凸的?

SVM的拉格朗日函数是由一个二次函数和一个线性规划函数组成的,因此它是凸的。

2.数据维度大于数据量的对SVM的影响?

这种情况下一般采用线性核(即无核),因为此时特征够用了(很大可能是线性问题),没必要映射到更高维的特征空间。

3.为什么要通过对偶问题来求解原问题?

a.对偶问题往往容易求解(在这里原问题也可以求解)b.引入核函数,推广到非线性分类。

4.数据不规范化对SVM的影响?

大值特征会掩盖小值特征(内积计算)。高斯核计算向量间的距离,也会产生同样的问题;多项式核会引起数值问题。影响求解的速度。 数据规范化后,会丢失一些信息。预测的时候,也要进行规范化。

 5.在SMO中,什么叫违反KKT条件最严重的?

每一个α对应一个样本,而KKT条件是样本和对应的α应该满足的关系。所谓违反最严重是指α对应的样本错得最离谱。

6.SVM适合处理什么样的数据?

高维稀疏,小样本数据。

posted @ 2019-08-15 17:30  搞钱的阿军  阅读(380)  评论(0编辑  收藏  举报