做机器学习项目数据不够?这里有5个不错的解决办法

许多开展人工智能项目的公司都具有出色的业务理念,但是当企业AI团队发现自己没有足够多的数据时,就会慢慢变得十分沮丧……不过,这个问题的解决方案还是有的。 本文将简要介绍其中一些经笔者实践证明确实有效的办法。

数据稀缺的问题非常重要,因为数据是任何AI项目的核心,数据集的大小往往是影响项目表现优劣的一个重要因素。大多数情况下,与数据相关的问题,往往都是无法做出优秀人工智能项目的主要原因。

有监督的机器学习模型正广泛用于应对各种业务挑战。但是这些模型需要大量数据,其性能也在很大程度上取决于训练数据的多少。但是在许多情况下,AI团队很难创建足够大的训练数据集。

同时还有另一个问题,那就是项目分析师可能会低估处理常见业务问题所需的数据量。在为大公司工作时,收集数据会更加复杂。

Photo by rawpixel.com from Pexels

我需要多少数据?

在许多情况下,你需要大约10倍的数据,因为模型中有自由度。模型越复杂,就越容易过度拟合,但可以通过模型校验来避免。 不过,根据用例的实际情况,所需的数据可以适当减少。

还有必要讨论一下的是,如何处理缺失值的问题。特别是如果数据中缺失值的数量足够大(超过5%)。

值得一提的是,处理缺失值依赖某些既定的“成功”标准。此外,这些标准对于不同的数据集甚至对于不同的应用也是不同的,例如识别、分割、预测和分类(给定相同的数据集)。

选择什么样的解决方案取决于问题的类型——如时间序列分析,ML,回归等。

涉及到预测技术时,只有当缺失值不是完全随机观察到的时候才应该进行使用,并且需要选择变量来估算这些缺失值与它有某种关系,否则可能产生不精确的估计。

一般来说,可以使用不同的机器学习算法来确定缺失值。可以将缺少的特征转换为标签本身,然后再使用没有缺失值的列来预测具有缺失值的列。

根据笔者的经验,如果你决定构建一个基于AI的解决方案,那么在某些时候你将面临缺乏数据或缺少数据的问题, 但幸运的是,有很多方法可以将这个“负”变为“正”。

缺少数据?

如上所述,不可能精确估计AI项目所需的最小数据量,项目本身将显著影响你需要的数据量的多少。例如,文本、图像和视频通常需要更多数据。但是,为了做出准确的估计,还应考虑许多其他因素。

·要预测的类别数量

模型的预期输出是什么?基本上来说,数量或类别越少越好。

·模型性能

如果你计划将项目投入生产,则需要更多。 一个小数据集,用于概念验证可能足够了,但在生产中,你需要更多数据。

一般来说,小型数据集需要低复杂度(或高偏差)的模型,以避免模型对数据的过度拟合。

非技术解决方案

在探究技术解决方案之前,让我们分析一下可以通过哪些方法来增强数据集。这可能是一句废话,但在开始AI项目之前,需要通过开发外部和内部工具尽可能多地收集数据。如果你知道机器学习算法预期要执行的任务,那就可以提前创建数据收集机制。

另外在启动ML项目时,你也可以借助开源数据。网络上有很多可用于ML的数据,其所属公司已经准备好将其弃用。

如果你需要项目的外部数据,与其他组织建立合作伙伴关系以获取相关数据的办法可能会有用。形成合作关系显然会花费你一些时间,但获得的专有数据将为你提供天然的竞争力。

构建一个有用的应用程序,别管这个应用,只用数据

笔者在之前的项目中使用的另一种方法是向客户提供对云应用程序的访问权限,进入应用的数据可用于构建机器学习模型。笔者以前的客户为医院建立了一个应用程序并供其免费使用。我们收集了大量数据,并设法为我们的ML解决方案创建了一个独特的数据集。

·小数据集

根据笔者的经验,使用小数据集构建预测模型的一些常用方法有:

通常,机器学习算法越简单,就越能从小数据集中学习。从ML的角度来看,小数据需要具有低复杂度(或高偏差)的模型,以避免将模型过度拟合到数据。朴素贝叶斯算法是最简单的分类器之一,因此从相对较小的数据集中学习得非常好。

你还可以依赖其他线性模型和决策树。实际上,它们在小数据集上的表现也相对较好。基本上,简单模型能够比更复杂的模型(神经网络)更好地从小数据集中学习,因为它们本质上是在努力实现更少的学习。

对于非常小的数据集,贝叶斯方法通常是类中最好的,尽管结果可能对您的先验选择很敏感。笔者认为朴素贝叶斯分类器和岭回归是最好的预测模型。

对于小数据集,你需要具有少量参数(低复杂性)和/或强先验的模型。你还可以将“先验”解释为你可以对数据行为方式做出的假设。

根据业务问题的确切性质和数据集的大小,确实存在许多其他解决方案。

迁移学习

定义: 在构建机器学习模型时,利用现有相关数据或模型的框架。

迁移学习使用从学习任务中获得的知识来改进相关任务的性能,通常可以减少所需的训练数据量。

迁移学习技术很有用,因为它们允许模型使用从另一个数据集或现有机器学习模型(称为源域)获得的知识对新域或任务(目标域)进行预测。

当您没有足够的目标训练数据时,应考虑使用迁移学习技术,源域和目标域有一些相似之处,但不尽相同。

单纯地聚合模型或不同的数据集并不总是有效的,如果现有数据集与目标数据非常不同,则新的学习模型可能会受到现有数据或模型的负面影响。

当你有其他可用于推断知识的数据集时,迁移学习效果很好,但是如果你根本没有数据,这时该怎么办?此时,数据生成可以提供很大的帮助。当没有数据可用,或者你需要创建的数据超过你通过聚合收集到的数据时,可以使用这一方法。

简单来说,该方法需要修改现存的少量数据,以创建该数据的变体,进而训练模型。例如,可以通过裁剪和缩小某一个汽车图像,来生成更多的汽车图像。

缺乏高质量的标签数据也是数据科学团队面临的最大挑战之一,通过使用迁移学习和数据生成等技术,可以在一定程度上克服数据稀缺问题。

迁移学习的另一个常见应用是在跨客户数据集上训练模型,以克服冷启动问题。笔者注意到许多SaaS公司在将新客户加入他们的ML产品中时,经常需要处理这个问题。实际上,在新客户收集到足够的数据以实现良好的模型性能(可能需要几个月)之前,很难提供有效的价值。

数据扩充

数据扩充表示增加数据点的数量。在笔者的最新项目中,我们使用数据扩充技术来增加数据集中的图像数量。就传统的行/列格式数据而言,这意味着增加行或对象的数量。

我们别无选择,只能依靠数据扩充,原因有两个:时间和准确性。每个数据收集过程都与成本相关联,这个成本可以是美元、人力、计算资源,当然也可以是过程中消耗的时间。

因此,我们不得不扩充现有数据,以增加我们提供给ML分类器的数据大小,并补偿进一步数据收集所产生的成本。

有很多方法可以扩充数据。仍然是汽车图像的例子,你可以旋转原始图像,更改光照条件,以不同方式裁剪。因此对于一个图像,你可以生成不同的子样本。 这样,你就可以减少对分类器的过度拟合。

但是,如果你使用过采样方法(如SMOTE)生成人工数据,那么很可能会引发过度拟合。

在开发AI解决方案时,你必须考虑这一点。

合成数据

合成数据是指包含与“真实”对应物相同模式和统计属性的虚假数据。基本上,这些数据看起来非常真实,几乎看不出来它是假数据。

那么,合成数据的意义是什么呢?如果我们已经获得了真实的数据,为什么又要做这件事?

在某些情况下,特别是当我们处理私人数据(银行,医疗保健等)时,使用合成数据其实是一种更安全的开发方法。

合成数据主要用于没有足够的实际数据,或者没有足够的实际数据用于特定的模式。对于训练和测试数据集,它的用法基本相同。

合成少数类过采样技术(SMOTE)和Modified-SMOTE是生成合成数据的两种技术。简单地说,SMOTE采用少数类数据点并创建位于由直线连接的任何两个最近数据点之间的新数据点。

该算法计算特征空间中两个数据点之间的距离,将距离乘以0到1之间的一个随机数,并将新数据点放在距离计算所用数据点之一的新距离上。

为了生成合成数据,你必须使用一个训练集来定义一个模型,这需要进行验证,然后通过更改感兴趣的参数,你就可以通过仿真生成合成数据。域/数据的类型非常重要,因为它影响整个流程的复杂性。

在笔者看来,在开始做一个AI项目时,问问自己是否有足够的数据,可能会揭示你以前也许从未意识到的问题,这有助于揭露你认为完美的业务流程中的问题,并让你了解为什么这个问题是在企业中创建成功数据战略的关键所在。

原文作者:Alexandre Gonfalonieri

Image placeholder
walden
未设置
  88人点赞

没有讨论,发表一下自己的看法吧

推荐文章
你真的了解 React 吗?这里有 50 个 React 面试问题

如果你是一位有理想的前端开发人员,并且正在准备面试,那么这篇文章就是为你准备的。本文收集了React面试中最常见的50大问题,这是一份理想的指南,让你为React相关的面试做好充分的准备工作。首先我

从关系型数据库到分布式机器学习,揭秘腾讯大数据十年发展历程

大数据技术在过去10多年中极大改变了企业对数据的存储、处理和分析方式。如今,大数据技术逐渐成熟,涵盖了计算、存储、数仓、数据集成、可视化、NOSQL、OLAP分析、机器学习等丰富领域。在未来,大数据技

【转】vue mounted 调用两次的解决办法

因为售后项目是vue框架,但是对vue没有什么实战经验,就一直从头排bug。最后发现当我把上面初始化方法注释,发现就请求结果是一位数值。就意识到是否mounted调用两次?网上一搜索果然验证了想法。下

制定机器学习训练数据策略的6个技巧

人工智能(AI)和机器学习(ML)如今已经十分常见。AI指的是机器模仿人类进行认知的概念,ML是一种用于构建AI的方法。如果AI是指计算机可以根据指令执行一组任务,那么ML就是机器从数据中摄取、解析和

Github 上 Star 最多的 Spring Boot 个人开源学习项目

2016年,在一次技术调研的过程中认识到了SpringBoot,试用之后便一发不可收拾的爱上它。为了防止学习之后忘记,就在网上连载了 SpringBoot系列文章,没想到这一开始便与SpringBoo

Python 教程-机器学习

Python有着海量的可用于数据分析、统计以及机器学习的库,这使得Python成为很多数据科学家所选择的语言。 下面我们列出了一些被广泛使用的机器学习及其他数据科学应用的Python包。

2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

大数据文摘出品来源:thegradient编译:张大笔茹、曹培信、刘俊寰、牛婉扬、Andy2019年,机器学习框架之争进入了新阶段:PyTorch与TensorFlow成为最后两大玩家,PyTorch

TensorFlow技术主管Peter Wardan:机器学习的未来是小而美

大数据文摘授权转载自OReillyAIPeteWardan任谷歌TensorFlow移动和嵌入式团队的leader,在O’ReillyAIConference2019的Keynote演讲环节,他对机器

甜过初恋!浙大博士用200个西瓜130页论文,教你用机器学习科学挑瓜

大数据文摘出品作者:易琬玉刚刚送走了最热七月,转眼就迎来了最热八月。2019年是人类有气象纪录以来最热的几个年份之一,虽然这个夏天还没结束,但气象学家们已经有十足把握做出这个判断。为了应付热,人们想出

Adobe又逆天!不用机器学习,用13.5M软件把《长安十二时辰》变成水墨动画

大数据文摘出品作者:曹培信用过修图软件的同学们应该都知道,利用强大的GAN,已经可以实现一键转换照片风格的功能,比如将你拍的风景照转换成一副印象派的画作。现在,轻松转换视频风格的软件也诞生了!Secr

为什么IoT需要机器学习才能蓬勃发展?

人们一直在热烈讨论大数据和人工智能等技术的机遇和威胁,并对它们的未来表示担忧。与此同时,公司希望通过安装越来越多的传感器,来提高效率降低成本。然而,InData实验室的机器学习顾问表示,如果没有适当的

如何使用TensorFlow机器学习对图像进行分类?

本文将介绍如何使用迁移学习使用TensorFlow机器学习平台对图像进行分类。在机器学习环境中,迁移学习是一种技术,使我们能够重用已经训练的模型并将其用于另一个任务。图像分类是将图像作为输入并为其分配

一份关于机器学习“模型再训练”的终极指南

机器学习模型的训练,通常是通过学习某一组输入特征与输出目标之间的映射来进行的。一般来说,对于映射的学习是通过优化某些成本函数,来使预测的误差最小化。在训练出最佳模型之后,将其正式发布上线,再根据未来生

机器学习在高德用户反馈信息处理中的实践

1.背景作为国内领先的出行大数据公司,高德地图拥有众多的用户和合作厂商,这为高德带来了海量的出行数据,同时通过各个渠道,这些用户也在主动地为我们提供大量的反馈信息,这些信息是需要我们深入挖掘并作用于产

机器学习——单变量线性回归

机器学习之单变量线性回归modelrepresentation模型表示引言 给定房屋面积和房屋价格的数据,然后以房屋面积为横坐标,房屋价格为纵坐标,绘制数据点。通过绘制曲线,获得房屋房价的模型,根据房

面向企业的私有5G网络

许多人认为,5G网络是面向消费者部署的焦点。但是迄今为止,企业私有的5G网络已经出现。对于IT经理来说,他们可以在园区网络中替代有线局域网。私有5G网络有望吸引寻求私有系统的企业IT经理的注意,这些系

基于时序数据库做监控,这里有超流行的开源方案

在微服务架构下,我们对服务进行了拆分,所以用户的每次请求不再是由某一个服务独立完成了,而是变成了多个服务一起配合完成。这种情况下,一旦请求出现异常,我们必须得知道是在哪个服务环节出了故障,就需要对每一

我从来不觉得程序员是吃青春饭的!这里有169万份分析数据

阅读本文约需要5分钟程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型。在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。因为,大多

Facebook又叒陷数据门,5亿条数据不安全存储在亚马云服务器中

大数据文摘出品编译:周素云上周Facebook用户又经历了糟糕的一周。Facebook发言人对各大主流媒体承认,用户的多组个人数据被存放在亚马逊AWS数据库中,包括数以百万计的Facebook用户的超

做深度学习这么多年还不会挑GPU?这儿有份选购全攻略

大数据文摘出品来源:timdettmers编译:刘佳玮、钱天培深度学习是一个对算力要求很高的领域。GPU的选择将从根本上决定你的深度学习体验。一个好的GPU可以让你快速获得实践经验,而这些经验是正是建

智能数据可视化的5个步骤

如今,许多企业正在利用模型、数据分析、数据可视化和仪表板等措施实现数据驱动。例如商业领袖注重提升客户体验,技术领导者注重分析速度和网站指标,应用程序团队在其应用程序中嵌入分析程序等等。这意味着更多的开

数据偏移、分区陷阱……我们这样避开DynamoDB的5个坑

摘要:本文主要介绍作者所在团队在具体业务中所遇到的挑战,基于这些挑战为何最终选型使用AmazonDynamoDB,在实践中遇到了哪些问题以及又是如何解决的。文中不会详细讨论AmazonDynamoDB

干了5年程序员,该如何转行?5个新工作方向了解一下

大数据文摘出品来源:Medium编译:灿灿、曹培信写了5年代码,年龄已近30,头发尚存几缕,除了写代码其他并无所长,职业未来在何方?对于从毕业就进入互联网公司,已经工作了5年甚至更久的程序员来说,现在

关于企业数字化转型和AI应用的5个建议

波士顿咨询公司(BostonConsultingGroup)表示,企业对数字化转型和人工智能抱有很高的期望,但也面临着一些挑战。许多企业正在迎来第一波数字化转型浪潮,在扩大覆盖面和定制化、改进流程、提

企业应如何进行云迁移?小心这5个陷阱!

  国际数据公司(InternationalDataCorp)表示,到2022年,全球数字化转型支出将达到近2万亿美元。然而,各种各样的迁移事故仍然会对企业数字化转型过程造成阻碍,威胁着企业的生存与发