我怎么知道训练数据足以进行机器学习

时间:2014-07-15 08:03:33

标签: machine-learning classification sample-data

例如:如果我想训练分类器(可能是SVM),我需要收集多少样本?对此有一种衡量方法吗?

3 个答案:

答案 0 :(得分:9)

要知道需要收集多少样品并不容易。但是,您可以按照以下步骤操作:

解决典型的ML问题:

  1. 使用少量样本构建数据集a,有多少?这取决于你遇到的问题,现在不要花很多时间。
  2. 将数据集拆分为训练,交叉,测试和构建模型。
  3. 现在您已经构建了ML模型,您需要评估其有多好。计算您的测试错误
  4. 如果您的测试错误低于预期,请收集新数据并重复步骤1-3,直至达到您认为合适的测试错误率。
  5. 如果您的模型没有遭受高度偏见,那么此方法将起作用。

    This video from Coursera's Machine Learning course, explains it

答案 1 :(得分:5)

不幸的是,没有简单的方法。

经验法则越大越好,但在实际使用中,您必须收集足够的数据量。足够我的意思是覆盖你认为可以接受的模型空间的大部分。

此外,金额并非一切。测试样本的质量也非常重要,即训练样本不应包含重复项。

就个人而言,当我不能同时获得所有可能的训练数据时,我会收集一些训练数据然后训练分类器。那我的分类器质量是不可接受的,我收集更多的数据等等。

Here是关于估计训练集质量的一些科学知识。

答案 2 :(得分:4)

这很大程度上取决于数据的性质和您尝试进行的预测,但作为一个简单的规则,您的训练数据应该大约是模型参数的10倍。例如,在使用N个特征训练逻辑回归时,尝试从10N训练实例开始。

对于10"的规则的经验推导,请参阅 https://medium.com/@malay.haldar/how-much-training-data-do-you-need-da8ec091e956