machine-learning - 非线性 svm 核维数

标签 machine-learning computer-vision svm libsvm pattern-recognition

我在理解非线性 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/

相关文章:

当仅更新一个索引时,Python numpy Zeros 数组为每个值分配 1

python - 如何惩罚假阴性而不是假阳性

algorithm - 多项式回归 - 两种算法之间的结果准确性

machine-learning - 分类器预测结果有偏差

python - 检测图像中不均匀照明的稳健算法[仅需要检测]

weka - LibSVM、WEKA 中的 "prob. evaluating classifier: rand"

python - ValueError : x and y must have same first dimension, 但具有形状 (4200,) 和 (16800, 1)

r - 自组织 map 可视化结果解释

opencv - 如果焦距和视差以像素为单位,视差图是否以米为单位给出深度?

c - 在 OpenCV 中对 cvConvexHull2() 的结果使用 cvApproxPoly()