本文转载自 数模百科 - 支持向量机 - 核技巧
假设你正在尝试分离两种油,一种是橄榄油,另一种是葵花籽油。它们在一个平的盘子里混合在一起,你试图用一条直线把它们分开。听起来很不可能对吧?因为在平的盘子里(或者说在二维空间里),这两种油混合在一起,无法分开。
现在这个时候你把它们装在一个底面积更小的三维容器里,那么用不了一会儿,因为二者密度的差异,密度低的油会慢慢浮上去,密度大的油会慢慢沉下来。
这就类似于“核技巧”做的事情。如果数据在原始空间中不能线性分隔(就像平盘中的油),我们可以将它投影到一个更高维度的空间(把二维平面的盘子变成三维的容器),在那里它可以被线性分隔。
“核技巧”本质上是一种机器学习技术,它允许我们以一种使决策边界更易于发现的方式转换数据。通过这种方式,我们可以解决复杂的问题,而不会过多地增加计算复杂性,因为“技巧”让我们能够在高维空间工作,而实际上不需要计算那个空间中的数据坐标。
在支持向量机(SVM)中,核技巧是一种非常重要的方法。对于线性不可分的问题,我们可以通过特征映射,把原始的样本空间映射到一个更高维度的新空间(即特征空间),使得样本在新的空间中变成线性可分。
在实际计算过程中,直接进行映射和计算会产生大量的计算量,核函数的出现就是为了解决这个问题。给定两个原空间的向量,核函数可以直接计算出它们在高维特征空间的内积,而不需要实际进行映射。换句话说,核函数提供了一种“捷径”,使我们能在原空间直接进行计算,而无需实际到高维空间去计算。
举一个具体的例子,假设我们有一个转换函数 ,它可以将原始数据 x 转换到一个新的特征空间,那么在新的特征空间中,两个数据点的内积就可以表示为。对于很多情况,原始空间的维度可能相对较低,但转换后的特征空间维度可能会非常高,所以直接计算这个内积可能会非常复杂甚至无法计算。
但如果我们有一个核函数
那么我们就可以直接在原始空间中通过计算 来获得新的特征空间中的内积,而无需显式地进行空间转换和高维度内积的计算。这就是核函数的基本思想。
线性核函数也被称为线性核,是最简单的一种核函数。在许多应用中,尽管它非常简单,但往往表现非常良好。
线性核函数的形式如下:
这里 和 是输入向量。线性核函数实际上就是在输入数据上计算普通的点积。
重要的是注意,使用线性核函数的支持向量机(SVM)是线性分类器,这意味着它只能找到一个线性决策边界(即可以被一条直线或者一个平面分开的数据)。
因此,如果数据是线性可分的,或者近似为线性可分,那么线性核函数可能是一种很好的选择。然而,如果数据不是线性可分的,那么可能需要使用比如多项式核函数,或者高斯径向基函数核(RBF kernel)等非线性核函数来处理。
多项式核函数是在支持向量机(SVM)中常用的一种核函数,它可以处理线性不可分的数据。多项式核可以将输入特征映射到一个高维度的特征空间,从而在高维度空间找到一个分类超平面。
多项式核函数的标准形式如下:
其中 x 和 y 是输入向量。,r 和 d 是核函数的参数,根据这些参数的不同,可以得到不同的核函数。 是比例系数,r 是偏置项,d 是特征映射的目标维度,也就是度数。
在实际使用中,多项式核函数的参数需要根据具体问题进行调整,以便找到最佳的分类性能。参数的选择通常涉及到交叉验证等技术。
多项式核通过增加特征的交互项,可以很好地捕捉到特征之间的非线性关系,因此它通常用于处理特征之间有交互影响的数据。然而,如果多项式核的度数选择过高,可能会导致过拟合问题。
总的来说,多项式核通过在高维度空间中创建非线性决策边界,解决了一些线性核无法处理的问题,从而在许多实际问题中提供了更好的解决方案。
本文转载自 数模百科 - 支持向量机 - 核技巧
关于支持向量机的完整内容请看 数模百科 - 支持向量机
数模百科是一个由一群数模爱好者搭建的数学建模知识平台。我们想让大家只通过一个网站,就能解决自己在数学建模上的难题,把搜索和筛选的时间节省下来,投入到真正的学习当中。
我们团队目前正在努力为大家创建最好的信息集合,从用最简单易懂的话语和生动形象的例子帮助大家理解模型,到用科学严谨的语言讲解模型原理,再到提供参考代码。我们努力为数学建模的学习者和参赛者提供一站式学习平台,目前网站已上线,期待大家的反馈。
如果你想和我们的团队成员进行更深入的学习和交流,你可以通过公众号数模百科找到我们,我们会在这里发布更多资讯,也欢迎你来找我们唠嗑。