您的位置 首页 设计

机器学习究竟需求多少数据?或许并不是越多越好

机器学习中最值得问的一个问题是,到底需要多少数据才可以得到一个较好的模型?从理论角度,有Probablyapproximatelycorrect(PAC)learningtheory来描述在何种情

  机器学习中最值得问的一个问题是,究竟需求多少数据才能够得到一个较好的模型?从理论视点,有Probably approximately correct (PAC) learning theory来描绘在何种情况下,能够得到一个近似正确的模型。但从有用视点看,PAC的运用范围仍是比较限制的。所以今日咱们主要想评论一个问题:究竟怎样界说有用数据量。

  1. 数据的粒度(granularity)

  数据的粒度能够了解为数据的细分程度,或许详细程度。举个简略比方,咱们想猜测股票的走势,那么咱们能够得到以下历史数据:

  每秒钟的买卖数据

  每分钟的买卖数据

  …

  每年的买卖数据

  换成另一个场景,假如咱们计划对一个语句进行切断,“我今日真快乐”,那么成果能够是:

  我 | 今 | 天 | 真 | 高 | 兴

  我今 | 今日 | 单纯 | 真高 | 快乐

  我今日 | 单纯高 | 快乐X

  跟着细分程度的改动,那么数据量也有显着的改变。数据的粒度越细,数据量越大。一般来说,咱们寻求尽量细分的数据,由于能够经过聚合(aggregation)来实现从详细数据到微观数据的复原,但反之则不可得。

  可是不是数据越详细越好?纷歧定,过于详细的数据缺失了特征,有用的特征仅在某个特定的粒度才存在。打个比方,人是由原子、分子、细胞、安排、器官构成,但在分子层面咱们纷歧定能分辩它是人,只要抵达必定的粒度才能够。因而,数据搜集的第一个重点是搞清楚,在什么粒度能够处理咱们的问题,而不是盲目的搜集一大堆数据,或许搜集过于笼统的数据。

  2. 数据量与特征量的份额

  机器学习中关于数据的表达一般是 n*m的矩阵,n代表样本的数量,一行(row)数据代表一个独立数据。而m代表特征变量(attribute/feature/variable)的数量,一列(column)数据代表某个特征在一切样本上的数值。比方下图就代表了一个 4*2(n=4,m=2)的矩阵,即总共有4条数据,每个数据有2个特征。

    

  人们评论数据量,往往评论的是n,也便是有多少条数据。但这个是不精确的,由于愈加合适的评价应该是n/m,也便是样本量除以特征数,原因很简略。假如你只要100条数据,但只要2个特征。假如用线性函数来拟合,相当于给你100个点来拟合到二次函数上,这个数据量一般来说是比较富余的。但仍是100个数据点,每个数据的特征数是200,那么很显着你的数据是不行的,过拟合的危险极高。

  所以议论数据量,不能光说有多少条数据n,必定也要考虑数据的特征数m。

  3. 特征间的相关性与有用性

  前文一切的评论都树立在一个规范上,那便是咱们挑选的数据是有用的。从两个方向了解:

  数据间的重复性低:

  样本间的重复性比较低,不会存在很多的重复样本。一行数据仿制100次仍是1行数据,因而拿到数据后去重也是很有必要的。

  特征间的重复性低:这个要回归到线性代数上,假定你有3个特征,成果 X_3 = \alpha X_1 + \beta X_2 ,那么从某种含义上来看你并没有3个独立特征,即特征间的相关性比较高。关于表达才能比较弱的模型,咱们乃至有时还会人为的手动制作一些这样的变量,但假如你的数据量很多的变量都是相关的,那么要慎重地以为你的数据量很大。举个极点的比方,你有n个变量,成果 X_j = X_1 \cdot j \quad \forall j\in[1,2,…n] ,那么说究竟你仍是只要1个变量。

  数据的有用性:此处的有用性指的是你的变量关于处理问题有协助,而不是彻底无关或许相关性极低的数据。不要小看无关数据,简直无处不在。拿我常举的比方来说:

    

  图1. 全球非商业性空间飞船发射数量与美国社会学博士结业数量之间的联系[1]

  4. 数据是否越多越好?

  接受上一个部分,数据比模型更重要,数据重要性 >> 模型重要性。机器学习模型的表现高度依赖于数据量 [2],挑选对的模型仅仅其次,由于巧妇难为无米之炊。

  但数据不是越多越好,随机数据中也或许由于偶然而存在某种相关。Freedman在1989年做过的模拟实验 [3]中发现,即便数据满是由噪音构成,在恰当的处理后,也能发现数据中明显的相关性:a. 6个特征明显 b. 对回归的做F-test的p值远小于0.05,即回归存在统计学含义

  以此为例,很多数据不代表必定有明显的含义,即便相关性查验也不能证明这一点。一般来说,需求先承认数据的来历性,其非必须承认明显的特征是否正常,最终需求重复实验来验证。最重要的是,要依据人为经历选取或许有关的数据,这树立在对问题的深化了解上。更多相关的评论能够参阅 微调:你实践中学到的最重要的机器学习经历是什么?。

  5. 数据量与模型挑选

  一般来说,在大数据量小特征数时,简略模型如逻辑回归+正则即可。在小数据量多特征下,集成的树模型(如随机森林和xgboost)往往优于神经网络。跟着数据量增大,两者表现趋于挨近,跟着数据量持续上升,神经网络的优势会逐渐表现。跟着数据量上升,对模型才能的要求添加而过拟合的危险下降,神经网络的优势总算有了用武之地而集成学习的优势下降。我在微调:怎样理处理策树、xgboost能处理缺失值?而有的模型(svm)对缺失值比较灵敏呢? 从前总结过一些依据数据量挑选模型的经历:

  数据量很小,用朴素贝叶斯、逻辑回归或支撑向量机

  数据量适中或许较大,用树模型,优先 xgboost和lightgbm

  数据量较大,测验运用神经网络

  所以说究竟,仍然不存在定式,而依赖于经历和了解,供我们参阅。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/158782.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部