每天五分钟机器学习:核函数

B站影视 2024-12-23 04:18 1

摘要:在学习支持向量机算法之前,我们要继续学习一些数学基础,本文我们将学习核函数的概念。当数据线性不可分的时候,此时就需要核函数出场了,它可以将低维不可分的数据映射到高维可分数据,此时就可以完成数据分类了。

在学习支持向量机算法之前,我们要继续学习一些数学基础,本文我们将学习核函数的概念。当数据线性不可分的时候,此时就需要核函数出场了,它可以将低维不可分的数据映射到高维可分数据,此时就可以完成数据分类了。

核函数K(x, y)定义为两个数据点x和y在某个高维空间中的相似性度量。具体地,如果有一个非线性映射函数φ(x),将输入空间的数据点x映射到高维特征空间F中,即φ(x)∈F,那么核函数K(x, y)就等于这两个映射后的数据点在高维特征空间中的内积,即K(x, y) = φ(x) · φ(y)。

在支持向量机(SVM)中,如果求解过程只用到内积运算,而在低维输入空间中存在一个函数K(x, x'),它恰好等于在高维空间中这个内积,即K(x, x') = φ(x) · φ(x'),那么就可以避免计算复杂的非线性变换φ(x),而直接通过函数K(x, x')得到非线性变换的内积,从而大大简化了计算。这样的函数K(x, x')就称为核函数。

核函数有多种类型,常见的有以下几种:

线性核函数(Linear Kernel):线性核函数是最简单的核函数,用于直接度量两个向量的点积。它适用于线性可分的数据集,常用于不需要非线性映射的场景。在线性支持向量机(SVM)中,用线性核可以直接找到超平面进行分类。线性核函数的优点是简洁、参数少、速度快,对于线性可分数据,其分类效果很理想。

多项式核函数(Polynomial Kernel):多项式核函数用于将原始特征空间中的数据映射到一个高次特征空间,能够捕捉特征之间的多项式关系。多项式核函数的参数包括常数c和控制偏移的d(多项式的次数)。较高的d值会增加模型的复杂性。多项式核函数适用于数据中具有多项式关系的场景,可以增强模型的非线性表达能力。但是,当多项式的阶数比较高时,核矩阵的元素值将趋于无穷大或者无穷小,计算复杂度会大到无法计算。

{!-- PGC_COLUMN --}

高斯核函数(Gaussian Kernel,RBF Kernel):高斯核函数,也叫做径向基核函数(Radial Basis Function Kernel),是一种常用的核函数,可以将数据映射到无穷维的特征空间,适用于数据之间的复杂非线性关系。高斯核函数的形状为钟形曲线,参数σ控制曲线的宽度(胖瘦)。高斯核函数计算出来的值永远在0到1之间。高斯核函数能够很好地处理非线性边界,是非线性支持向量机中最常用的核函数之一。它适用于几乎所有情况下的数据,尤其适合复杂的数据集,能够通过高维映射将非线性问题变为线性。

Sigmoid核函数(Sigmoid Kernel):Sigmoid核函数源自神经网络中的激活函数(tanh),它模仿了人工神经元的输出,具有非线性特性。Sigmoid核函数的参数包括斜率α和截距c。由于它与神经网络中激活函数的形式类似,有时也被用来模拟神经网络的行为。尽管在SVM中不如高斯核和多项式核流行,但在一些特殊的情况下仍然可以表现出良好的效果。

拉普拉斯核函数(Laplacian Kernel):拉普拉斯核函数与高斯核函数类似,但它的相似性度量基于绝对距离而不是平方距离。拉普拉斯核函数也常用于处理非线性数据,它与高斯核函数的效果类似,但在某些情况下对离群点更为稳健。

来源:人工智能技术分享AI

相关推荐