我想知道我们如何知道将数据转换成什么空间?使用什么方法找到合适的映射函数?
假设我们在二维空间中有10个训练案例,这些案例不是线性可分的,但如果我们从F(X,Y)转换它们:(x,y) - > (x,y ^ 2)或G:(X,Y) - > (x,e ^ y)它们是线性可分的。
我们如何确定F和G功能首先起作用?通过观察?然后我们如何决定使用哪个函数?
答案 0 :(得分:1)
SVM通过内核函数映射到不同的空间。因此,为了训练SVM,您不需要将数据映射到线性可分离的位置,只需使用适当的(非线性)内核训练SVM。在给定正确的内核的情况下,它可以学习线性不可分离的函数。尝试rbf,以及多项式内核。同时使用C超参数。
这可能不是您正在寻找的答案,但很多机器学习都是尝试并看到。在这种情况下,多项式内核似乎适合您的状态,但rbf往往效果很好。
答案 1 :(得分:1)
“我们如何确定F和G的功能首先起作用?通过观察?”
差不多......就我所知,目前还没有已知条件可以保证映射后的线性可分性。
“然后我们如何决定使用哪个功能?”
某些功能比其他功能更容易调整。例如,RBF非常适合并且已知适合大多数数据。但是一切都有捕获因此,如果您的数据无限制,您将失去一般性。所以这是一个权衡问题