首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持向量机的多分类训练数据是否需要洗牌?

支持向量机的多分类训练数据是否需要洗牌?
EN

Stack Overflow用户
提问于 2013-12-22 15:58:45
回答 2查看 6.5K关注 0票数 4

实际上,我正在使用OpenCV的svm接口,并试图将数据分类为4类。当标签和培训数据符合要求时,我的意思是,例如,数据分为4组,分别是标签1、标签2、标签3和标签4,正确率很低,只有50%左右正确。但当我整理训练数据时,结果是合理的,大约90%是正确的。因此,我的问题是:培训数据顺序是否影响最终结果,还是需要在培训前对数据进行洗牌?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-22 16:18:02

不,它不会更改SVM培训,尽管代码中使用的一些参数调优方法可能取决于排序。例如,如果您使用交叉验证而没有随机化,则排序集比有序集难得多(每个结果折叠甚至可以有一些类的0个样本!)

简言之:

  • 支持向量机训练不依赖于数据排序。
  • 作为“附加方法”的一些基于库的工具可以依赖于它。
票数 8
EN

Stack Overflow用户

发布于 2013-12-22 17:47:32

我的回答是不。基于此页

与人工神经网络的反向传播学习算法不同,无论初始条件如何,给定的支持向量机都会确定性地收敛到给定数据集的同一解。对于包含大约5000点的训练集,梯度下降为这个优化问题Campbell和Cristianini提供了一个有效的解决方案,1999。

首先,在洗牌后,确保特征向量与其相应的标签相对应。此外,确保每个标签都有足够的特征向量在两种情况下。

其次,您可以尝试重复运行您的培训,以观察支持向量机是否发生变化。使用完全相同的数据集,具有相同的顺序,不需要洗牌。理论上,它不会改变,因为凸优化问题应该有唯一的最大值。

第三,如果你的训练收敛得非常慢,你就有可能达到最大的迭代次数。那么,早期终止可能会导致一些明显的随机性的结果。

最后但并非最不重要的一点是,虽然在数学上,支持向量机的原始解是唯一的,但对偶解可能是非唯一的。它主要取决于约束变量C的选择。这篇文章分析了原解和对偶解之间可能存在的唯一性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20731214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档