在模式识别中,怎样判断线性可分和非线性可分怎样选择SVM的类型

关于是否线性可分的问题,如果数据的维度很低(\u0026lt;=2),那么画图即可看出是否线性可分。否则高维的数据是无法看出来的。如何选择SVM的类型,这个其实就是模型选择的问题。模型选择最常用的两种方法是:1.正则化;2. 交叉验证。实际上SVM的模型中,已经包括了正则项。所以更多时候只能使用交叉验证的方法来选择模型。交叉验证的基本思想是:对于给定的模型参数,将所有训练数据分成N份,选择一份做为测试样本,其余N-1份作为训练样本,计算测试样本的分类正确率,重复N次,这样即可得到在该参数下的平均分类正确率。对不同的参数都进行以上实验,分类正确率最高的情况对应的参数即为最优参数。
■网友
对于高维数据可以检查凸包是否相交具体参考:algorithm - Determine whether the two classes are linearly separable (algorithmically in 2D)
■网友
SVM反正就那么几种kernel function,一种种试就好了哦。。。
■网友
特征如果选得好,大多数的数据都是线性可分的。判断是否线性可分最直观的方法就是用统计工具画图。如果线性不可分的话除非你清楚得知道映射到哪个维度就可以线性可分,不然的话最好选取高斯核函数,把目标空间映射到无穷维,再慢慢调参数
■网友
假设数据集被分为集合A,B,对于由A,B形成的闭合凸包M1与M2,检查两个凸包的边界是否相交,即可知道两集合A与B是否线性可分。
【在模式识别中,怎样判断线性可分和非线性可分怎样选择SVM的类型】 工程上实现可以使用 quickhull 算法来得到数据的凸包,使用 sweepline算法 判断凸包边界是否相交。


    推荐阅读