加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据集大小是否影响机器学习算法?

发布时间:2020-12-14 04:23:43 所属栏目:大数据 来源:网络整理
导读:所以,想象一下有足够的数据(数百万个数据点进行培训和测试).请忽略现在的概念漂移,并假定数据是静态的,并且不会随时间而改变.在模型的质量方面使用所有数据是否有意义? Brain和Webb(http://www.csse.monash.edu.au/~webb/Files/BrainWebb99.pdf)在实验不同
所以,想象一下有足够的数据(数百万个数据点进行培训和测试).请忽略现在的概念漂移,并假定数据是静态的,并且不会随时间而改变.在模型的质量方面使用所有数据是否有意义?

Brain和Webb(http://www.csse.monash.edu.au/~webb/Files/BrainWebb99.pdf)在实验不同的数据集大小方面已经有一些结果.他们测试的算法在训练后收敛到16,000或32,000个数据点.然而,由于我们生活在大数据世界中,因此我们可以访问数百万分的数据集,因此该文章有些相关,但已经过时.

有没有更多关于数据集大小对学习算法(朴素贝叶斯,决策树,SVM,神经网络等)的影响的研究.

>什么时候学习算法收敛到某个稳定模型,哪些更多的数据不再增加质量?
>它可以发生在50,000个数据点之后,或者可能在20万之后或仅在1,000,000之后?
有没有经验法则?
>或者也许没有办法让算法收敛到一个稳定的模型,达到一定的平衡?

为什么我问这个?想象一下,一个具有有限存储空间和大量独特模型(数千个模型,拥有自己独特的数据集)的系统,并且无法增加存储空间.因此限制数据集的大小很重要.

对此有任何想法或研究?

解决方法

我做了我的硕士论文这个问题,所以我碰巧知道一个很多.

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

我所做的假设(主要是使用scikit学习)不是优化参数,使用算法的默认参数(由于实际原因我不得不提出这个假设,没有优化,一些模拟已经在24小时以上簇).

首先要注意的是,有效地,每种方法将导致数据集的某一部分的平台.然而,您不能得出关于达到高原所需样本数量的有效数量的结论,原因如下:

>每个数据集是不同的,对于真正简单的数据集,他们可以给你几乎所有提供的10个样本,而有些仍然有一些东西可以揭示12000个样本(见上面我的例子中的希格斯数据集).
>数据集中的样本数是任意的,在我的论文中,我测试了一个数据集,其中错误的样本只是加入了算法.

然而,我们可以区分将具有不同行为的两种不同类型的算法:参数(线性,…)和非参数(随机森林,…)模型.如果达到非参数平台,意味着数据集的其余部分是“无用的”.正如你可以看到,当闪电方法在我的照片很快达到一个高原,并不意味着数据集没有任何提供,但更多的是,这是该方法可以做的最好的.这就是为什么非参数方法在获得的模型是复杂的并且真正可以从大量的培训样本中受益的时候最好的工作.

所以就你的问题:

>见上文.
>是的,这一切都取决于数据集内部的内容.
对于我来说,唯一的经验法则是交叉验证.如果您处于认为您将使用20,000或30,000个样品的情况,则通常在交叉验证不成问题的情况下.在我的论文中,我计算了我的方法在测试集上的准确性,当我没有注意到一个显着的改进时,我确定了到达那里的样本数量.正如我所说,您可以观察到一些趋势(参数方法比非参数更快地饱和)
>有时当数据集不够大时,如果你有一个更大的数据集,你可以把每个数据点都拥有,并且还有改进的余地.在我的论文中,没有对参数进行优化,Cifar-10数据集表现如此,即使在50,000以后,我的算法都没有收敛.

我补充说,优化算法的参数对于与高原的收敛速度有很大的影响,但它需要交叉验证的另一个步骤.

你的最后一句与我的论文题目高度相关,但对我来说,这更重要的是可以用来完成ML任务的内存和时间. (好像覆盖整个数据集一样,内存要求更小,速度更快).关于这一点,“核心集”的概念真的可以让你感兴趣.

我希望我可以帮助你,我不得不停下来,因为我可以继续说,但如果你需要更多的澄清,我很乐意提供帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读