将训练数据转换到另一个空间,以便我们可以找到超平面

时间:2014-03-21 17:39:09

标签: machine-learning svm

我想知道我们如何知道将数据转换成什么空间?使用什么方法找到合适的映射函数?

假设我们在二维空间中有10个训练案例,这些案例不是线性可分的,但如果我们从F(X,Y)转换它们:(x,y) - > (x,y ^ 2)或G:(X,Y) - > (x,e ^ y)它们是线性可分的。

我们如何确定F和G功能首先起作用?通过观察?然后我们如何决定使用哪个函数?

2 个答案:

答案 0 :(得分:1)

SVM通过内核函数映射到不同的空间。因此,为了训练SVM,您不需要将数据映射到线性可分离的位置,只需使用适当的(非线性)内核训练SVM。在给定正确的内核的情况下,它可以学习线性不可分离的函数。尝试rbf,以及多项式内核。同时使用C超参数。

这可能不是您正在寻找的答案,但很多机器学习都是尝试并看到。在这种情况下,多项式内核似乎适合您的状态,但rbf往往效果很好。

答案 1 :(得分:1)

  

“我们如何确定F和G的功能首先起作用?通过观察?”

差不多......就我所知,目前还没有已知条件可以保证映射后的线性可分性。

  

“然后我们如何决定使用哪个功能?”

某些功能比其他功能更容易调整。例如,RBF非常适合并且已知适合大多数数据。但是一切都有捕获因此,如果您的数据无限制,您将失去一般性。所以这是一个权衡问题