【问题标题】:How can I know training data is enough for machine learning我怎么知道训练数据足以用于机器学习
【发布时间】:2014-09-05 08:06:47
【问题描述】:

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

【问题讨论】:

    标签: machine-learning classification sample-data


    【解决方案1】:

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

    用于解决典型的机器学习问题:

    1. 用几个样本构建一个数据集 a,有多少?这取决于您遇到的问题类型,现在不要花太多时间。
    2. 将数据集拆分为训练、交叉、测试和构建模型。
    3. 现在您已经构建了 ML 模型,您需要评估它的好坏。计算您的测试错误
    4. 如果您的测试错误低于您的预期,请收集新数据并重复第 1-3 步,直到达到您可以接受的测试错误率。

    如果您的模型没有遭受“高偏差”,此方法将有效。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我正在使用逻辑回归对评论 cmets 进行分类。在我对数据进行规范化和矢量化之后,我有一个数组,其中每一列都是一个唯一的单词。上面当你说“参数”、“特征”和“训练实例”时,这与我应用 10X 规则的评论 cmets 的数量与唯一词的数量有什么关系?
      【解决方案3】:

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

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

      另外,数量并不是一切。测试样本的质量也很重要,即训练样本不应包含重复。

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

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

      【讨论】:

        猜你喜欢
        • 2019-07-15
        • 2017-06-25
        • 2017-04-06
        • 2020-06-15
        • 2020-02-21
        • 2021-10-01
        • 2011-02-15
        • 1970-01-01
        • 2014-12-27
        相关资源
        最近更新 更多