(所以 rbf 是正确的选择?)
这取决于。 RBF 是非常简单的通用内核,可以使用,但还有很多其他的。以 pykernels https://github.com/gmum/pykernels
中包含的内容为例
当 SVM 被训练时,它会绘制一个超平面(我认为它就像 3d 中的平面,但具有更多维度?)最能分离数据。
让我们避免一些奇怪的混淆。这里没有绘制。 SVM 将寻找由v(法线向量)和b(偏差,与原点的距离)定义的 d 维超平面,这只是点x 的集合,使得<v, x> = b。在 2D 超平面中是一条线,在 3D 中超平面是平面,在 d+1 维中它是 d 维对象,总是比空间低一维(线是 1D,平面是 2D)。
调整时,改变 gamma 的值会改变超平面的表面(也称为决策边界?)。
现在这是一个经常出现的错误。决策边界不是超平面。决策边界是超平面在输入空间上的投影。您无法观察到实际的超平面,因为它通常具有非常高的维度。您可以将此超平面表示为一个函数方程,但仅此而已。另一方面,决策边界“存在”在您的输入空间中,如果输入是低维的,您甚至可以绘制这个对象。但这不是一个超平面,它只是这个超平面与您的输入空间相交的方式。这就是为什么决策边界通常是弯曲的,甚至是不连续的,即使超平面总是线性和连续的——因为你只是看到了一个非线性截面。现在gamma 在做什么? RBF核导致连续函数空间的优化。有很多这些(这些对象是连续的)。然而,SVM 只能表达这些人的一小部分——训练点中核值的线性组合。固定特定的伽玛限制要考虑的函数集 - 伽玛越大,内核越窄,因此正在考虑的函数由这种“尖峰”分布的线性组合组成。所以伽马本身不会改变表面,它会改变考虑假设的空间。
因此,伽玛值的增加会导致高斯变窄。这是否就像说可以绘制的平面上的凹凸(如果以 3d 绘制)允许更窄以更好地适应训练数据?或者在 2D 中这就像说 gamma 定义了分隔数据的线的弯曲程度?
我想我已经回答了前一点 - 高伽马意味着你只考虑形式的超平面
<v, x> - b = SUM_i alpha_i K_gamma(x_i, x) - b
K_gamma(x_i, x) = exp(-gamma ||x_i-x||^2),因此您将获得非常“尖锐”的基础元素。这将导致非常适合您的训练数据。决策边界的确切形状很难估计,因为这取决于训练期间选择的最佳拉格朗日乘数alpha_i。
我也很困惑这如何从有限数量的特征中产生无限维表示?任何好的类比都会对我有很大帮助。
“无限表示”来自这样一个事实,即为了使用向量和超平面,您的每个点实际上都映射到连续函数。因此,在内部,SVM 不再真正处理 d 维点,而是处理函数。考虑 2d 情况,您有点 [0,0] 和 [1,1]。这是一个简单的二维问题。当您在此处应用带有 rbf 内核的 SVM 时 - 您将使用以 [0, 0] 为中心的非归一化高斯分布和以 [1,1] 为中心的另一个高斯分布。每个这样的高斯函数都是从 R^2 到 R 的函数,表示其概率密度函数 (pdf)。这有点令人困惑,因为内核看起来也像高斯,但这是仅,因为两个函数的点积通常被定义为它们的积的积分,而两个高斯积的积分是.. ..也是一个高斯!那么这个无限在哪里呢?请记住,您应该使用向量。如何将函数写成向量?您必须列出它的所有值,因此如果您有一个函数f(x) = 1/sqrt(2*pi(sigma^2) exp(-||x-m||^2 / (2*sigma^2)),则必须列出 无限数量 的此类值以完全定义它。这就是无限维的概念——您将点映射到函数,就向量空间而言,函数是无限维的,因此您的表示是无限维的。
一个很好的例子可能是不同的映射。考虑数字 1、2、3、4、5、6、7、8、9、10 的一维数据集。让我们为奇数分配与偶数不同的标签。你不能线性地分开这些家伙。但是您可以将每个点(数字)映射到一种特征函数,形式的函数
f_x(y) = 1 iff x e [y-0.5, y+0.5]
现在,在所有这些函数的空间中,我可以通过简单地构建方程的超平面,轻松地将由奇数 x 创建的函数与其余函数线性分开
<v, x> = SUM_[v_odd] <f_[v_odd](y), f_x(y)> = INTEGRAL (f_v * f_x) (y) dy
如果 x 是奇数,这将等于 1,因为只有这个积分不为零。显然,我只是使用有限数量的训练点(此处为 v_odd),但表示本身是无限维的。这些额外的“信息”来自哪里?根据我的假设——我定义映射的方式在我正在考虑的空间中引入了一个特定的结构。与 RBF 类似 - 你得到无限维度,但这并不意味着你实际上正在考虑每个连续函数 - 你将自己限制在以训练点为中心的高斯线性组合。同样,您可以使用正弦内核,它将您限制为正弦函数的组合。选择特定的“最佳”内核是另一回事,复杂且没有明确的答案。希望这会有所帮助。