现在的位置: 首页 > 综合 > 正文

【svm学习笔记】svm_理论基础4

2018年12月17日 ⁄ 综合 ⁄ 共 1017字 ⁄ 字号 评论关闭

【线性不可分问题 之 核函数】

上面讨论的都是线性可分问题,虽然最终也没看到解的样子或者解的方法,总之,我们假设已经可以解了。接下来,如果样本线性不可分,咋整?

好办。记得从前图像处理里面有个小波变换,大概的意思就是时域效果不好的话,变换到复域效果就好了,变换的名称我记得叫傅里叶变换。在这里也是一样。如果我们在某个样本空间中找不到最优分类面,那么我们就想办法把他映射到高维空间去。前段时间很火的一部科幻小说叫做《三体》。在《三体2》的开场部分,有个女巫,能从封闭的空间中取物。原理就是,封闭的空间是三维空间,在三维空间是封闭的;而女巫能进入四维空间,一个在三维空间中封闭的区域,在四维空间中就不再是封闭的了。这里也是,一些样本在低维空间中不可分,但是映射到高维空间,就有可能被分开。这个维度有可能是非常高。拿文本分类为例,一般样本点的特征都是上万维,即便这样,仍然不可分,仍然需要向更高维的空间做映射。

那么假设样本在高维空间中可分了,我们也找到最优分类面了,对于一个新的样本,我们如何分类呢?会有以下几个步骤:

1. 将新样本映射到高维空间中

2. 将所有支持向量也映射到高维空间中

3. 用上文中g(x)的计算公式(参见“svm_基础理论3”)计算函数值

4. 对函数值进行判定,得出分类结果

这就引出了一个问题,如何映射到高维空间呢?映射到哪个高维空间呢?其实我们再回过头来看看,我们计算的只是支持向量和样本向量的内积,如果能直接计算出这个内积,其实可以不用“显性地”向高维空间中映射。核函数就是这样的工具。将公式中的内积运算换成内积的核函数运算,就可以了。

什么样的函数是核函数呢?

理论上,满足Mercer条件的都是核函数。什么是Mercer条件呢?对我们做工程的人来说,不用理会,我们自己创造不出什么好的核函数,用现有的就行。

现有的有哪些核函数呢?

线性核、多项式核、RBF核、sigmod核。

对于一个新问题,选择哪个好呢?

没有标准答案,必须自己去尝试。而且,对于具体问题,不同核函数的性能差别很大。

还有一个问题。原来我们想,将低维空间向高维空间映射,看样本是否线性可分;如果不可分,继续增加高维空间的维度,再进行映射,直到线性可分位置。不过我们现在有了麻烦,什么呢?我们只有这几个核函数,万一用了他们几个,发现还是线性不可分,如何是好?当然这几个核函数也有参数,也可以调整。不过,更一般地说,如果仍然有少部分训练样本线性不可分,我们该怎么办?下节再讲。

抱歉!评论已关闭.