《简述一下SVM支持向量机的常用的核函数以及其产生的意义|CSDN创作打卡》

        在我发的前一篇博客中,我利用支持向量机实现了一个简单的二分类问题,具体的程序可以查阅我之前发的一个博客,但是如果只用支持向量机来实现一个线性分类,就像一句俗话所说,杀鸡焉用牛刀。也可以说核函数才是支持向量机的灵魂,因为在现实问题中,原始的样本空间内也许并不存在一个能正确划分两类样本的超平面或者决策边界,正如下图所示的分类问题,用我前面一篇中介绍的方法显然无法成功分类。

对于这样的问题,通过阅读西瓜书可以知道,可将样本从原始空间映射到一个更高维的特征空间,使得这个样本在这个特征空间内线性可分。举个例子,就以上面的那个问题为例,这个时候用一条直线可以明显知道无法将这两种样本区分开来。但是如果将他映射到一个合适的三位空间,那么就能找到一个合适的划分超平面。然后这里有一个结论可以记一下,如果原始空间是有限维,即属性有限,那么就一定存在一个高维特征空间使得样本可分。

        在支持向量机的有关介绍中有这样一个定理:

上面的定理表明,只要一个对称函数对应的核矩阵半正定,他就能作为核函数使用。

        下面简单介绍几种常用的核函数

线性核:k(x_{i}, x_{j}) = x_{i}^{T}x_{j} 

多项式核:k(x_{i}, x_{j}) = (x_{i}^{T}x_{j})^{d}其中d>=1为多项式的次数

高斯核:k(x_{i},x_{j})=exp(-\frac{||x_{i}-x_{j}||^{2}}{2\sigma ^{2}}),σ>0为高斯核的带宽(width)

拉普拉斯核:k(x_{i},x_{j})=exp(-\frac{||x_{i}-x_{j}||}{\sigma }),σ>0

Sigmoid核:k(x_{i}, x_{j}) = \tanh(\beta x_{i}^{T}x_{j} + \theta),tanh为双曲正切函数,β>0,θ小于0

同时核函数还有一系列特征:
两个核函数的线性组合仍然是核函数

两个核函数的直积仍然是核函数

若k是核函数,那么对于一个任意的函数g(x),有k(x,z) = g(x)k(x,z)g(z)也是核函数。

我将在后续的博客中对核函数应用的例子进行介绍。

猜你喜欢

转载自blog.csdn.net/kuwola/article/details/122756683