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

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

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

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

数据扩充

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

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

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

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

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

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

合成数据

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

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

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

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

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

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

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

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

(编辑:核心网)

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

热点阅读