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

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

发布时间:2019-07-03 22:39:55 所属栏目:教程 来源:Alexandre Gonfalonieri
导读:许多开展人工智能项目的公司都具有出色的业务理念,但是当企业AI团队发现自己没有足够多的数据时,就会慢慢变得十分沮丧......不过,这个问题的解决方案还是有的。 本文将简要介绍其中一些经笔者实践证明确实有效的办法。 数据稀缺的问题非常重要,因为数
副标题[/!--empirenews.page--]

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

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

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

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

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

我需要多少数据?

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

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

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

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

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

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

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

缺少数据?

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

  • 要预测的类别数量

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

  • 模型性能

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

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

非技术解决方案

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

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

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

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

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

  • 小数据集

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

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

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

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

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

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

迁移学习

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

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

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

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

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

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

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

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

(编辑:核心网)

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

热点阅读