了解 SVM 的内核函数

机器算法验证 机器学习 分类 支持向量机 内核技巧
2022-04-18 09:39:54

我正在学习支持向量机,特别是那些具有非线性决策边界的内核的机器。我理解将原始数据投影到更高维空间的概念,以便可以插入线性决策边界。但我不明白的是内核函数实际上是如何进行这种映射的。

例如,将径向基函数视为核这实际上意味着什么?K(x,x)=λ||xx||2

是说对于每个数据点,您都会找到它到点 x' 的平方距离吗?而这个距离对应于它在新的高维空间中的值?但是到底是什么?而且,这只是映射到一维空间,因为值只是距离......而不是更高维空间。xx

当然,我的理解是完全错误的,但是请有人解释一下我在哪里感到困惑?谢谢!

2个回答

通过求解对偶形式的 SVM 的优化问题,结果表明问题对训练数据的依赖性仅通过它们的内积。也就是说,您只需要即,您拥有的所有点对的内积。所以要训练一个 SVM,你只需要给它标签和一个内核矩阵,其中{xi}i=1n{xixj}i,j=1nY=(y1,,yn)KKij=xixj.

现在要将每个数据点映射到高维空间,您可以应用所以核矩阵变为xiϕ(x)

Kij=ϕ(xi),ϕ(xj)

其中只是一般内积空间中内积的形式符号。可以看出,只要在高维空间中定义一个内积,就可以训练SVM。我们甚至不需要计算本身。我们只需要计算内积这是我们设置的,ϕ(x)ϕ(xi),ϕ(xj)

Kij=k(xi,xj)

对于您选择的一些内核已知(由 Moore-Aronzajn 定理)如果是正定的,则​​它对应于某个内积空间,即存在一个对应的特征映射使得kkϕ()k(xi,xj)=ϕ(xi),ϕ(xj)

要回答您的问题,内核没有指定的投影。与指定投影相关联的是(通常是隐式的)。例如,RBF 内核是无限维的。k(x,y)xϕ()kϕk(x,y)=exp(γxy22)

首先,径向基函数 (RBF) 由,其中 其中是一个正参数。k:X×XR

k(x,y)=exp(γxy2),
γ

在 SVM 中真正有用的是所谓的“内核技巧”。简而言之,您不需要明确知道从原始空间到高维空间的映射(这有时甚至是不可能的)。您真正需要知道的是如何将此映射应用于SVM 公式中存在的因此,如果映射函数为,则内积被转换为形式的内积,由对这些点求值的核函数给出,即 xixjϕxixjϕ(xi)ϕ(xj)

ϕ(xi)ϕ(xj)=k(xi,xj).