[DataAnalysis]支持向量机解决线性不可分问题——核函数

在实际碰到的问题中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面。我们可以将原始空间映射到一个更高维的空间,使得样本在这个特征空间内线性可分,从而可以找到合适的超平面。

[DataAnalysis]支持向量机解决线性不可分问题——核函数

核函数对SVM目标函数的变化

[DataAnalysis]支持向量机解决线性不可分问题——核函数表示将[DataAnalysis]支持向量机解决线性不可分问题——核函数映射后的特征向量。在高维特征空间中划分超平面所对应的模型可表示为:

[DataAnalysis]支持向量机解决线性不可分问题——核函数

[DataAnalysis]支持向量机解决线性不可分问题——核函数

对应的对偶问题(拉格朗日乘子——消除参数,见https://blog.csdn.net/TOMOCAT/article/details/82493181)为:

[DataAnalysis]支持向量机解决线性不可分问题——核函数

[DataAnalysis]支持向量机解决线性不可分问题——核函数

核函数求解

求解涉及核函数的对偶问题时涉及到计算[DataAnalysis]支持向量机解决线性不可分问题——核函数,这是样本[DataAnalysis]支持向量机解决线性不可分问题——核函数[DataAnalysis]支持向量机解决线性不可分问题——核函数映射到高维特征空间之后的内积。由于特征空间维数可能很高,甚至可能是无穷维数,因此计算[DataAnalysis]支持向量机解决线性不可分问题——核函数通常是很困难的。我们可以设想这么一个函数:

[DataAnalysis]支持向量机解决线性不可分问题——核函数

[DataAnalysis]支持向量机解决线性不可分问题——核函数[DataAnalysis]支持向量机解决线性不可分问题——核函数在特征空间中的内积等于等于他们在原始样本空间中通过函数[DataAnalysis]支持向量机解决线性不可分问题——核函数计算的结果

从而支持向量机的目标函数改写成:

[DataAnalysis]支持向量机解决线性不可分问题——核函数

[DataAnalysis]支持向量机解决线性不可分问题——核函数

求解后可以得到:

[DataAnalysis]支持向量机解决线性不可分问题——核函数

核函数选择

通常对文本数据采用线性核函数,情况不明时可先尝试高斯核函数

常用核函数
名称 表达式 参数
线性核 [DataAnalysis]支持向量机解决线性不可分问题——核函数  
多项式核 [DataAnalysis]支持向量机解决线性不可分问题——核函数 [DataAnalysis]支持向量机解决线性不可分问题——核函数为多项式次数
高斯核 [DataAnalysis]支持向量机解决线性不可分问题——核函数 [DataAnalysis]支持向量机解决线性不可分问题——核函数为高斯核的带宽
拉普拉斯核 [DataAnalysis]支持向量机解决线性不可分问题——核函数 [DataAnalysis]支持向量机解决线性不可分问题——核函数
SIgmoid [DataAnalysis]支持向量机解决线性不可分问题——核函数 tanh为双曲正切函数

构造新的核函数

[DataAnalysis]支持向量机解决线性不可分问题——核函数[DataAnalysis]支持向量机解决线性不可分问题——核函数为核函数

(1)对于任意正数[DataAnalysis]支持向量机解决线性不可分问题——核函数,其线性组合

[DataAnalysis]支持向量机解决线性不可分问题——核函数也是核函数

(2)核函数的直积

[DataAnalysis]支持向量机解决线性不可分问题——核函数也是核函数

(3)[DataAnalysis]支持向量机解决线性不可分问题——核函数也是核函数