来源:AI科技评论

本文长度为2400字,建议阅读8分钟

本文带你从数据的深度、广度以及质量入手,找出数据瓶颈所在!

“如果我能获得更多的训练数据,我的模型精度就会大大提高”,“我们应该通过API获得更多的数据”,“源数据质量太差,我们无法使用”。

这是很多工程师在模型表现不力时给出的一些解释或者理由。

数据作为机器学习或分析项目的基础,虽然现在拥有的可用数据比之前要多,但是数据不足或者数据类型不匹配等问题并不少见。

然而如何知道这些问题是真正的问题点还是仅仅是借口呢?换句话说,如何发现数据是否是项目的限制因素?

那就需要,查找数据瓶颈!

一般来说,主要可以从以下三个方面来调整数据:

  • 深度:增加数据点的数量;

  • 广度:增加数据源的多样性;

  • 高质量:整合混乱的数据!

从数据深度上下功夫

这种方式不需要改变数据结构,而是新增数据点。

你不能一直控制数据点(例如:你不能轻易地新增用户),但是至少可以在某些方面一直控制这个点。

在下面这几个不同的情况下,增加数据量是很有用的。

1. A/B测试或实验

如果你正在运行一个实验,需要足够的数据点来实现结果统计的意义,而需要多少个数据点,还受到其他因素的影响,例如:误差范围、置信区间和分布的方差。对于要进行的每一个实验,都有一个最小数据量阈值:如果已经达到这个阈值,则可以继续进行下一步,因为再增加数据点已经起不到任何作用了。否则,数据将会成为实验的瓶颈。

下面这篇博文对此进行了很好的概述:

https://towardsdatascience.com/how-do-you-know-you-have-enough-training-data-ad9b1fd679ee

2. 机器学习中的预测精度

如果你正在运行的是一个预测模型,预测精度会随着数据量的增加而提高,但是这个精度会达到某个“饱和”点,如何去发现是否已经达到这样的一个点呢?你可以用不同数量的训练数据点来重新训练模型,然后根据数据量绘制预测精度。如果曲线没有变平,则模型可能从额外增加的数据进一步受益。

来源:Kim 和 Park 在 researchgate 上发表的文章(https://www.researchgate.net/publication/228784109_A_Survey_of_Applications_of_Artificial_Intelligence_Algorithms_in_Eco-environmental_Modelling)

3. 赋能深度学习

虽然传统的机器学习模型可以在较小的数据量下运行,但是模型越复杂,它需要的数据量就越多,到最后,如果没有大量的数据作为支撑,深度学习模型就无法运行。对机器学习模型来说,大数据是一种需求,而不是提高性能的好方法。

4. 分析和思路

即使你没有将数据用于预测,但是想要丰富报告或者进行一次分析来证实你的决策,数据量仍然有可能会成为预测的瓶颈。不过如果你的数据具备许多异构性,并且你还能够从不同的粒度层级上对其进行分析,增加数据量便是正确的做法。例如你有一个庞大的销售队伍,销售的产品范围非常宽泛,每一个销售人员可能只销售产品中的一个子集。如果你想比较他们在销售某一特定产品方面的能力,可能就无从比较了。

从数据广度上下功夫

数据的多样性是关键,但就经验而言,这方面的数据也常常被高估。

我之前有一份工作:便是在一家初创公司用机器学习做房价预测。我们的战略优势是拥有各种各样的数据,因此可以整合所有可能的数据资源,以帮助对房地产进行预测。

而提高模型的预测能力的关键,就在于确定要获取哪些数据资源。

如何评估获取新数据的成本与收益?

我们需要从两个关键点对新数据的收益进行评估:新数据与我们试图预测的目标变量的相关性是什么(希望尽可能高),新数据与已有数据的相关性是什么(希望尽可能少)。但是,这并不容易定量分析,但是一些定性的判断可以帮助我们筛选出最合适我们的新数据。

评估新数据的成本可以看作是拥有数据的总成本。有时,购买数据或支付API会产生实际成本,但这只是其中的一部分。往往如下这些因素才是最需要考虑的:

  • 一次性获取 vs 反复获取

  • 数据转换和存储的复杂性

  • 数据质量和数据清理的需求

  • 数据处理和解析

提高数据质量

哈佛大学教授Xiao-Li Meng曾做过一个非常鼓舞人心的演讲,他提到:“数据质量远比数据数量重要”。

这个演讲的美妙之处在于,他能够用数学方法量化这句话,观察数据质量或数量的统计度量。

观看演讲地址:

https://www.youtube.com/watch?v=8YLdIDOMEZs

我的商业经验也反映了这一点:通常情况下,公司往往在获取或合并更多的数据前,并没有先分析当前现有数据是否已足够。

数据质量经常是一个问题,而且还是一个大问题。这个问题可能是由于手工输入错误、原始数据的不准确性、聚合或处理层中的问题、某段时间内数据丢失等原因造成的。

提高数据质量,是一个需要花费大量时间并且很无趣的工作,但是它也可以给我们带来最有益的的结果。

总结

如果模型表现不佳确实存在数据瓶颈,那就试着找出瓶颈在哪里。总而言之,可以从这三个方面入手:

第一,数据量的问题往往可以通过简单的统计显著性或准确性曲线来检验识别。如果这不是问题所在,那就继续进行下一步。

第二,根据我的经验,我们所拥有的数据的多样性往往被夸大,这并不是因为新数据没有用处,而是因为新数据资源可能已经包含了以某种方式捕获的信息,特别是在已经有了一个相对丰富的数据集的情况下。

第三,数据质量是关键,关注更小、更干净的数据集比关注更大、更混乱的数据集要好得多。

原文链接:

https://towardsdatascience.com/do-you-have-enough-data-87e31191f932

编辑:黄继彦

校对:谭佳瑶

数据不够,是模型表现不佳的“借口”,还是真正的问题所在?相关推荐

  1. 万国数据表现不佳的风险很高

    来源:猛兽财经  作者:猛兽财经 万国数据(GDS)具有历史上与未来股票表现不佳的相关特征.与其他信息技术类股票相比,万国数据的增长势头减缓,盈利能力较差,以至于我们的量化系统给我们发出了" ...

  2. ​美国多项经济数据表现不佳 美元走势将难以摆脱颓势?

    在爆表的6月CPI通胀指标出炉后,美联储更激进加息的预期升温,美元指数于7月14日最高触及109.29,再创近20年新高.然而,在美国6月"恐怖数据"出炉后,美元开始遇到麻烦了.昨 ...

  3. 谷歌40人发表59页长文:为何真实场景中ML模型表现不好?

    文 | 白鹡鸰 编 | 夕小瑶 ~前不久,在卖萌屋NLP群里默默潜水的白鹡鸰被群友提到的一篇Google几天前放出的59页超长论文炸得飞了起来. 来,大家来感受一下气势浩大的论文首页 文章名字是Und ...

  4. 数据质量和模型调优哪个更重要?

    AI与数据科学技术发展及商业价值探讨 MLOps & MLaaS 系列活动二 Data-centric V S Model-centric 人工智能 (AI) 正在吸引越来越多的企业投资.随着 ...

  5. python线性回归模型预处理_线性回归-2 数据预处理与模型验证评估

    主要内容数据向量化处理 特征放缩 上采样和下采样 重采样和交叉验证 模型验证 python 代码实现 1. 数据向量化处理 对于给定的m个样本,假设最终的拟合函数是 为拟合的权重系数,则有 损失函数改 ...

  6. 1.12 改善你的模型表现-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 1.11 超越人的表现 回到目录 1.13 总结 改善你的模型表现 (Improving your model performance) 你们学过正交化,如何设立开发集和测试 ...

  7. 城市大数据的生态模型及应用

    邓晖 中兴软创科技股份有限公司,江苏 南京 211153 摘要:从提出一个生态模型开始,阐述了建立一个可持续的城市大数据生态所需要的关键角色以及地方政府在演进这些角色中所能发挥的作用.接着,给出了一个 ...

  8. 数据并行和模型并行的区别

    此文翻译自[1],[1]对数据并行和模型并行进行了很好地区分,因此这里推荐给大家. ∇\nabla∇ 联系方式: e-mail: FesianXu@gmail.com QQ: 973926198 gi ...

  9. 过拟合及解决方案--过拟合主要是有两个原因造成的:数据太少 + 模型太复杂

    https://www.jianshu.com/p/a9019afc8129 是什么 过拟合(overfitting)是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样 ...

最新文章

  1. python3创建多线程的几种方法
  2. mac下安装nginx
  3. Azure Bill
  4. 7 种 JVM 垃圾收集器,看完我跪了。。
  5. GreenDao3.2简单使用
  6. python读取mysql数据_如何将mysql的数据读取python
  7. 【18】ASP.NET Core MVC 中的 Model介绍
  8. java se程序设计_JavaSE--Java 的基本程序设计结构
  9. UTF-8 Everywhere
  10. winrar x64 3.93如何破解
  11. Linux的capability深入分析(2)
  12. redhat 登录不慢 传文件很慢
  13. python实现一个简单的图片浏览器
  14. NLP+语义分析(四)︱中文语义分析研究现状(CIPS2016、角色标注、篇章分析)
  15. 信息系统开发平台OpenExpressApp - ClickOnce智能部署
  16. js常用处理请求到的数据的方法(即map,filter,find,findIndex,some,every一些常用方法的使用)
  17. WAP1 X/WAP2 0以及WAP浏览器的协议版本
  18. 如何在word(非wps)里面插入公式和编号(完美格式)
  19. 获取中国票房网的五年间年度票房的数据信息(初学者完整代码)
  20. 未来已来让闲置回归价值

热门文章

  1. python入门之函数调用内置函数_第九篇 python基础之函数,递归,内置函数
  2. java B2B2C Springboot电子商务平台源码-Feign 基本使用
  3. Vue.js 2.0 学习重点记录
  4. POJ 2104 K-th Number(区间第k大数)(平方切割,归并树,划分树)
  5. 近期笔试小结(附数据库工程师面试准备)
  6. JavaScript splice() 方法
  7. java通过JDBC链接SQLServer2012
  8. docker nodejs 基本应用
  9. Swift学习——Swift解释特定的基础(七)
  10. Tomcat发布项目方法!