许多从事人工智能项目的公司都有优秀的商业理念,但是当企业的人工智能团队发现他们没有足够的数据时,就会慢慢变得非常沮丧.然而,这个问题仍然有解决办法。本文将简要介绍作者已证明有效的一些方法。
数据的稀缺非常重要,因为数据是任何人工智能项目的核心,数据集的大小往往是影响项目性能的重要因素。在大多数情况下,与数据相关的问题往往是无法进行优秀人工智能项目的主要原因。
监督机器学习模型被广泛用于应对各种业务挑战。然而,这些模型需要大量的数据,它们的性能也在很大程度上取决于训练数据的数量。然而,在许多情况下,人工智能团队很难创建足够大的训练数据集。
还有一个问题,项目分析师可能低估了处理常见业务问题所需的数据量。为大公司工作时,收集数据变得更加复杂。
我需要多少数据?
在许多情况下,您需要大约10倍的数据,因为模型中有自由度。模型越复杂,越容易过度拟合,但可以通过模型检查来避免。然而,根据用例的实际情况,所需的数据可以适当地减少。
还有必要讨论如何处理价值观缺失的问题。尤其是如果数据中缺失值的数量足够大(超过5%)。
值得一提的是,处理缺失值取决于某些既定的“成功”标准。此外,这些标准对于不同的数据集甚至对于不同的应用是不同的,例如识别、分割、预测和分类(给定相同的数据集)。
选择哪种解决方案取决于问题——的类型,如时间序列分析、最大似然法、回归法等。
就预测技术而言,只有当缺失值没有完全随机观察到,并且需要选择变量来估计这些缺失值与预测技术有一定的关系时,才应该使用预测技术,否则可能会出现不准确的估计。
一般来说,不同的机器学习算法可以用来确定缺失值。您可以将缺少的要素转换为标签本身,然后使用没有缺少值的列来预测缺少值的列。
根据作者的经验,如果你决定构建一个基于人工智能的解决方案,你会在某个时候面临数据缺乏或者数据缺乏的问题,但幸运的是,有很多方法可以将这个“负面”变成“正面”。
缺少数据?
如上所述,不可能准确估计人工智能项目所需的最小数据量。项目本身将显著影响您需要的数据量。例如,文本、图像和视频通常需要更多的数据。然而,为了做出准确的估计,还应该考虑许多其他因素。
要预测的类别数量
模型的预期输出是多少?基本上,数量或类别越少越好。
模型性能
如果你计划将项目投入生产,你需要更多。小数据集可能足以证明概念,但是在生产中,您需要更多的数据。
一般来说,小数据集需要低复杂度(或高偏差)的模型,以避免模型与数据过度拟合。
非技术解决方案
在探索技术解决方案之前,让我们分析一下哪些方法可以用来增强数据集。这可能是无稽之谈,但是在开始人工智能项目之前,你需要通过开发外和内部工具来收集尽可能多的数据。如果你知道机器学习算法应该做什么,你可以预先创建一个数据收集机制。
您也可以在启动ML项目时使用开源数据。网络上有很多可供移动电话使用的数据,它的附属公司准备丢弃这些数据。
如果您需要项目的外部数据,与其他组织建立伙伴关系以获取相关数据可能会有所帮助。显然,建立合作关系需要一些时间,但是获得的专有数据将为你提供自然的竞争力。
构建一个有用的应用程序,不管这个应用程序是什么,只使用数据。
作者在以前的项目中使用的另一种方法是向客户提供对云应用程序的访问,并且输入到应用程序中的数据可以用来构建机器学习模型。提交人的前客户为医院建立了一个应用程序,并免费提供。我们收集了大量数据,并设法为我们的毫升解决方案创建了一个独特的数据集。
小数据集
一般来说,机器学习算法越简单,它就越能从小数据集学习。从最大似然法的角度来看,小数据需要一个低复杂度(或高偏差)的模型,以避免模型与数据过度拟合。朴素贝叶斯算法是最简单的分类器之一,所以从相对较小的数据集学习是非常好的。
您也可以依赖其他线性模型和决策树。事实上,它们在小数据集上也表现相对较好。基本上,简单的模型比更复杂的模型(神经网络)能更好地从小数据集学习,因为它们本质上试图实现更少的学习。
对于非常小的数据集,贝叶斯方法通常在类中* * *出现,尽管结果可能对您之前的选择很敏感。我认为朴素贝叶斯分类器和岭回归是* * * *的预测模型。
对于小数据集,您需要一个参数少(低复杂性)和/或先验强的模型。您还可以将“先验”解释为您可以对数据行为方式做出的假设。
根据业务问题的确切性质和数据集的大小,还有许多其他解决方案。
迁移学习
Definition:建立机器学习模型时,使用现有的相关数据或模型框架。
迁移学习使用从学习任务中获得的知识来提高相关任务的性能,这通常会减少所需的培训数据量。
迁移学习技术非常有用,因为它们允许模型使用从另一个数据集或现有机器学习模型(称为源域)获得的知识来预测新的域或任务(目标域)。
当您没有足够的目标培训数据时,您应该考虑使用迁移学习技术。源域和目标域有一些相似之处,但它们并不相同。
简单地聚合模型或不同的数据集并不总是有效的。如果现有数据集与目标数据非常不同,新的学习模型可能会受到现有数据或模型的负面影响。
当你有其他可以用来推断知识的数据集时,迁移学习非常有效,但是如果你根本没有数据,你该怎么办?此时,数据生成可以提供很大的帮助。当没有可用数据时,或者当您需要创建比通过聚合收集的数据更多的数据时,可以使用此方法。
简单地说,该方法需要修改少量现有数据来创建数据的变体,然后训练模型。例如,通过裁剪和缩小某个汽车图像,可以生成更多的汽车图像。
缺乏高质量的标签数据也是数据科学团队面临的* * *挑战之一。通过使用迁移学习和数据生成等技术,可以在一定程度上克服数据稀缺的问题。
迁移学习的另一个常见应用是在跨客户数据集上培训模型,以克服冷启动问题。作者注意到,许多SaaS公司在向他们的移动电话产品中添加新客户时,经常需要处理这个问题。事实上,在新客户收集到足够数据以实现良好的模型性能之前,很难提供有效的价值(这可能需要几个月的时间)。
数据扩充
数据扩展意味着增加数据点的数量。在我的* * *项目中,我们使用数据扩展技术来增加数据集中的图像数量。对于传统的行/列格式数据,这意味着增加行或对象的数量。
我们别无选择,只能依靠数据扩展,原因有二:时间和准确性。每个数据收集过程都与成本相关联,成本可以是美元、人力、计算资源,当然也可以是在该过程中消耗的时间。
因此,我们必须扩展现有数据,以增加我们提供给M1分类器的数据大小,并补偿进一步数据收集的成本。
有许多方法可以扩展数据。仍然是汽车图像的一个例子,您可以旋转原始图像,改变照明条件,并以不同的方式裁剪它。因此,对于图像,可以生成不同的子样本。这样,您可以减少分类器的过度拟合。
但是,如果使用过采样方法(如SMOTE)来生成人工数据,很可能会导致过度拟合。
开发人工智能解决方案时,您必须考虑这一点。
合成数据
synthetic data是指包含与“真实”对应数据相同的模式和统计属性的虚假数据。基本上,这些数据看起来很真实,几乎看不出是假数据。
那么,复合数据是什么意思?如果我们有真实的数据,为什么还要再做一次?
在某些情况下,尤其是当我们处理私人数据(银行、医疗保健等)时。),使用合成数据实际上是一种更安全的开发方法。
复合数据主要用于特定模式下没有足够的实际数据或没有足够的实际数据。对于训练和测试数据集,其用法基本相同。
合成少数过采样技术(SMOTE)和修改-SMOTE是生成合成数据的两种技术。简单地说,SMOTE获取几类数据点,并在由直线连接的任意两个最近的数据点之间创建一个新的数据点。
该算法计算特征空间中两个数据点之间的距离,将该距离乘以0到1之间的随机数,并将新数据点放在距离计算中使用的数据点之一的新距离上。
为了生成复合数据,您必须使用训练集来定义需要验证的模型,然后您可以通过更改感兴趣的参数来通过模拟生成复合数据。域/数据的类型非常重要,因为它影响整个过程的复杂性。
在我看来,当开始一个人工智能项目时,问自己是否有足够的数据可能会暴露出你以前可能没有意识到的问题。这将有助于揭示业务流程中的问题,并让您知道为什么这个问题是在企业中创建成功的数据策略的关键。
极牛网精选文章《做机器学习项目数据不够?这里有5个不错的解决办法》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/3916.html