sol*_*old 16 classification machine-learning svm
当我尝试在一些高维输入上应用一些ML算法(分类,更具体地说,特别是SVM)时,我应该如何处理,我得到的结果不太令人满意?
可以显示1,2或3维数据以及算法的结果,这样您就可以了解正在发生的事情,并了解如何解决问题.一旦数据超过3个维度,除了直观地使用参数,我不确定如何攻击它?
Ste*_*joa 26
你对数据做了什么?我的回答:没事.SVM 旨在处理高维数据.我现在正在研究一个涉及使用SVM进行监督分类的研究问题.除了在互联网上查找来源之外,我还在分类之前对降维的影响进行了自己的实验.使用PCA/LDA预处理特征并未显着提高SVM的分类准确性.
对我而言,从SVM的工作方式来看,这是完全有意义的.设x是m维特征向量.令y = Ax,其中y在R ^ n中,并且对于n <m,x在R ^ m中,即,y是x投影到较低维度的空间上.如果类Y1和Y2在R ^ n中是线性可分的,则对应的类X1和X2在R ^ m中是线性可分的.因此,理论上,原始子空间应该"至少"与它们在较低维度上的投影是可分离的,即PCA应该没有帮助.
这是一个讨论在SVM之前使用PCA的讨论:链接
您可以做的是更改SVM参数.例如,对于libsvm 链接,参数C和gamma对于分类成功至关重要.libsvm faq,特别是此条目链接,包含更多有用的提示.其中:
编辑:我只想添加这个"数据点".我最近在四个独占数据集上使用SVM和PCA预处理进行了另一次大规模实验.对于任何降低维数的选择,PCA都没有改进分类结果.具有简单对角缩放的原始数据(对于每个特征,减去平均值并除以标准偏差)表现更好.我没有做出任何广泛的结论 - 只是分享这个实验.也许在不同的数据上,PCA可以提供帮助.
一些建议:
项目数据(仅用于可视化)到较低维空间(使用PCA或MDS或对数据有意义的任何内容)
试着理解学习失败的原因.你认为它适合吗?你认为你有足够的数据吗?您的功能中是否可能没有足够的信息来解决您要解决的任务?有方法可以回答每个问题,而无需可视化数据.
此外,如果您告诉我们任务是什么以及您的SVM输出是什么,那么人们可能会提出更具体的建议.