【问题标题】:Does the dataset size influence a machine learning algorithm?数据集大小会影响机器学习算法吗?
【发布时间】:2014-10-29 04:13:15
【问题描述】:

因此,想象一下可以访问足够质量的足够数据(用于训练和测试的数百万个数据点)。请暂时忽略概念漂移并假设数据是静态的并且不会随时间变化。就模型的质量而言,使用所有这些数据是否有意义?

Brain 和 Webb (http://www.csse.monash.edu.au/~webb/Files/BrainWebb99.pdf) 包含了一些关于试验不同数据集大小的结果。他们经过测试的算法在使用 16,000 或 32,000 个数据点进行训练后收敛到一定程度的稳定。然而,由于我们生活在大数据世界中,我们可以访问数百万个点的数据集,所以这篇论文有些相关但已经过时了。

关于数据集大小对学习算法(朴素贝叶斯、决策树、SVM、神经网络等)的影响,是否有任何最新研究。

  1. 什么时候学习算法收敛到某个稳定的模型,更多的数据不再提高质量?
  2. 它会在 50,000 个数据点之后发生,还是在 200,000 个之后或仅在 1,000,000 个之后发生?
  3. 有经验法则吗?
  4. 或者算法无法收敛到稳定的模型,达到一定的平衡?

我为什么要问这个?想象一个存储有限且有大量独特模型(具有自己独特数据集的数千个模型)且无法增加存储的系统。所以限制数据集的大小很重要。

对此有何想法或研究?

【问题讨论】:

    标签: algorithm machine-learning dataset bigdata svm


    【解决方案1】:

    我在这个主题上完成了我的硕士论文,所以我碰巧知道很多。

    简而言之,在我硕士论文的第一部分,我采用了一些非常大的数据集(约 5,000,000 个样本),并通过学习不同百分比的数据集(学习曲线)来测试一些机器学习算法。

    我所做的假设(我主要使用 scikit-learn)不是优化参数,而是使用算法的默认参数(出于实际原因,我不得不做出这个假设,没有优化,一些模拟已经超过 24集群上的小时数)。

    首先要注意的是,实际上,每种方法都会导致数据集的某个部分出现平台期。但是,由于以下原因,您无法就达到稳定期所需的有效样本数得出结论:

    • 每个数据集都是不同的,对于非常简单的数据集,它们可以为您提供 10 个样本所提供的几乎所有内容,而有些在 12000 个样本之后仍然可以揭示一些东西(请参见上面示例中的希格斯数据集)。
    • 数据集中的样本数量是任意的,在我的论文中,我测试了一个带有错误样本的数据集,这些样本只是为了弄乱算法而添加的。

    但是,我们可以区分具有不同行为的两种不同类型的算法:参数(线性,...)和非参数(随机森林,...)模型。如果非参数达到平台期,则意味着数据集的其余部分“无用”。正如您所看到的,虽然 Lightning 方法在我的图片上很快达到稳定状态,但这并不意味着数据集没有任何东西可提供,但除此之外,这是该方法可以做的最好的事情。这就是为什么当要获取的模型很复杂并且可以真正从大量训练样本中受益时,非参数方法效果最好的原因。

    至于你的问题:

    1. 见上文。

    2. 是的,这完全取决于数据集中的内容。

    3. 对我来说,唯一的经验法则是使用交叉验证。如果您认为您将使用 20,000 或 30,000 个样本,那么您通常会遇到交叉验证不成问题的情况。在我的论文中,我计算了我的方法在测试集上的准确性,当我没有注意到显着的改进时,我确定了到达那里所需的样本数量。正如我所说,您可以观察到一些趋势(参数方法往往比非参数方法更快地饱和)

    4. 有时当数据集不够大时,您可以获取所有数据点,但如果您有更大的数据集,则仍有改进空间。在我没有对参数进行优化的论文中,Cifar-10 数据集的行为就是这样,即使在 50,000 之后我的算法都没有收敛。

    我要补充一点,优化算法的参数对收敛到平台的速度有很大影响,但它需要另一个交叉验证步骤。

    您的最后一句话与我的论文主题高度相关,但对我而言,它与执行 ML 任务的内存和时间更相关。 (如果您覆盖的数据集少于整个数据集,您的内存需求就会更小,而且速度会更快)。关于这一点,“核心集”的概念对你来说可能真的很有趣。

    我希望我能帮到你,我不得不停下来,因为我可以继续讨论这个问题,但如果你需要更多说明,我很乐意提供帮助。

    【讨论】:

    • 您的论文是否可以在线获得?
    • 很好的解释,彻底,清晰,正是我想要的。我会添加到@EricEijkelenboom:我们可以在网上找到你的论文吗?我对此很感兴趣。
    • 是的,我也会对你的论文很感兴趣。这个解释很好。
    • 嘿@AdrienNK,如果我有大量数据,有什么方法可以建议您消除不相关的样本(或不代表整个庞大人口的嘈杂样本)以减少 ML 算法的训练时间和使用RAM 不影响模型的准确性?
    猜你喜欢
    • 1970-01-01
    • 2015-06-07
    • 2016-05-11
    • 2011-08-01
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    相关资源
    最近更新 更多