要素尺寸的最大数量

时间:2018-11-15 18:54:25

标签: machine-learning

我有一个分类问题,我当前的特征向量似乎没有足够的信息。 我的训练集有1万个条目,我正在使用SVM作为分类器(scikit-learn)。

合理的最大特征向量大小(多少维)是多少?
(使用Labtop CPU进行培训和评估)

100?一千10k? 100k? 1M?

1 个答案:

答案 0 :(得分:2)

问题不是在某些情况下(即条目)应该具有多少个功能,而是相反:

  

拥有最佳算法的人不是谁。谁拥有最多的数据。 (Banko和Brill,2001年)

Banko和Brill在2001年对4种不同的算法进行了比较,他们将训练集大小不断增加,并得出了上述结论。

此外,吴安德(Andrew Ng)教授清楚地涵盖了这个话题,我在这里引用:

  

如果学习算法的差异很大,获得更多训练数据可能会有所帮助。

     

如果学习算法存在高偏差,那么获取更多训练数据(本身)将无济于事


根据经验,考虑到所有要素都应尽可能多地提供信息(即要素之间不是高度共线的(即)。

我在Scikit-Learn文档中的多个地方和某个地方读过一次,即输入(即样本)的数量必须至少是要素数量(即n_samples > n_features ** 2)的平方大小。 / p>


尽管如此,特别是对于SVM,功能数n与条目数m是一个重要因素,它指定了最初要使用的内核类型,这是第二条规则尤其是SVM的经验(同样根据吴安德教授):

  1. 如果功能数量比条目数量大得多(即n最高为 10K ,而m最高为 1K )->使用SVM 无内核(即“ 线性内核”)或使用逻辑回归
  2. 如果功能数量,并且条目数量中级(即n最多达到 1K ,并且{ {1}}达到 10K )->将m高斯内核结合使用。
  3. 如果功能数量较小,并且条目数量较大(即SVM最高可达 1K ,并且n> 50K )->创建/添加更多功能,然后使用m 无内核或使用 Logistic回归