我在理解非线性 SVM 的内核时遇到一些问题。 首先我对非线性SVM的理解是:使用核将输入变换到一个非常高的维度空间,其中变换后的输入可以由线性超平面分隔。
例如 RBF 的内核:
K(x_i, x_j) = exp(-||x_i - x_j||^2/(2*sigma^2));
其中 x_i 和 x_j 是两个输入。这里我们需要改变 sigma 来适应我们的问题。
(1) Say if my input dimension is d, what will be the dimension of the
transformed space?
(2) If the transformed space has a dimension of more than 10000 is it
effective to use a linear SVM there to separate the inputs?
最佳答案
这不仅仅是增加维度的问题。这是一般机制,但不是全部想法,如果内核映射的唯一目标是增加维度,那么我们可以得出结论,所有内核函数都是等效的,但它们不是。
映射的方式将使新空间中的线性分离成为可能。 谈论您的示例,只是为了扩展 greeness 所说的内容,RBF 内核会根据超球面对特征空间进行排序,其中输入向量需要接近现有球体才能产生激活。
直接回答您的问题:
1) 请注意,您不直接在特征空间上工作。相反,优化问题是使用特征空间中向量的内积来解决的,因此在计算上您不会增加向量的维度。
2)这取决于数据的性质,具有高维模式会以某种方式帮助您防止过度拟合,但不一定是线性可分离的。同样,新空间中的线性可分性将由于 map 的制作方式而实现,而不仅仅是因为它处于更高的维度。从这个意义上说,RBF 会有所帮助,但请记住,如果您的数据不是本地封闭的,它可能在泛化方面表现不佳。
关于machine-learning - 非线性 svm 核维数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13013948/