SVM – 训练样本数量与特征数量之间的关系

训练样本的数量与训练数据的维度之间应该是什么关系?

例如,我有一个包含20000个训练样本和16000个特征的案例。我正在考虑使用PCA来进行降维,但我不知道应该将训练数据降到多少维度。这两者之间有关系吗?我使用的是支持向量机分类器,具有2个类别和线性核函数。


回答:

SVM找到的解自动限制在样本所跨越的空间内,因此仅使用PCA来去除零方差的维度不会改变解。正如damienfrancois所写,进一步降维可能会破坏相关信息。为了避免这种情况,你有两个选择:

1) 相信结构风险最小化不仅仅是一个有趣的理论概念,而且对你的应用也起到了正确的作用,只需按原样使用数据即可。

2) 使用特征选择算法来找出哪些特征/组合实际上是有信息量的。然而,对于如此多的特征,找到最佳特征组合显然是不切实际的,因此你可以根据单个特征的表现对特征进行排序(在线性情况下:使用t分数),然后测试你需要多少个最佳特征才能获得好的结果。

Zaw Lin的评论当然是正确的,在如此高维的空间中总是可以分离类别,但同样当然,分类器的性能不应该在训练数据上评估,而应该使用例如交叉验证来评估。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注