如何测试/检查给定内核(例如:RBF /多项式)是否确实将数据分开?
我想知道是否有一种方法(当然没有绘制数据)可以让我检查一个给定的数据集(标有两个类)是否可以在高维空间中分开?
答案 0 :(得分:1)
总之 - 不,没有一般方法。但是,对于某些内核,您可以轻松地说......一切都是可分的。这个属性以多种形式证明(以及Schoenberg的其他形式),例如,如果你的内核是K(x,y)= f(|| x-y || ^ 2),f是:
然后它将始终能够分隔每个二进制标记的,一致的数据集(完全相同的标签没有两个点)。实际上它说的更多 - 你可以完全插值,意思是,即使它是一个回归问题 - 你也会得到零误差。因此,特别是多类,多标签问题也将是线性可解的(存在线性/多线性模型,为您提供正确的插值)。
但是,如果上述属性不成立,则并不意味着您的数据无法完美分离。这只是“单向”证明。
特别是,这类内核包括RBF内核,因此总是能够分离任何训练集(这就是为什么它容易过度配置!)< / p>
那么另外呢?在这里你必须首先修复内核的超参数,然后你也可以通过优化来解答它 - 解决硬边缘SVM问题(C = inf),如果数据是可分的,它将找到解决方案。