机器学习的良好数据秘诀是什么?
似乎许多刚接触ML的人经常纠结于这些概念,而不是如何以及在哪里应用它们。更准确地说,他们很难在100篇研究论文或博客中找到相关的好数据。那么,为您的ML项目找到好的原始数据的秘诀是什么呢?
你需要真实的数据吗?
你首先要问自己的是真实数据有多重要?你是想回答一个重要的问题,还是仅仅演示一个算法或概念证明。如果您正在执行后者,则可以生成自己的数据。生成增加或模拟真实数据的数据也是另一种选择,但这有时需要一个有效的ML算法来预测这些值。当然,这可能是一个较小的算法,或者只是随机选择的值。具体的方法将根据您的情况而有所不同。
你能模拟数据吗?
如果你被迫使用或坚持使用真实数据,另一个生成选项是使用生成对抗网络(简称GAN)。GAN是深度学习的一个子集,它允许你使用2个神经网络,基于竞争性的对抗性方法生成新的数据。一个网络创建模拟数据,另一个网络评估它是否真实。当第一个网络学会如何欺骗第二个网络时,就有了生成可信真实数据的方法。该方法对图像识别和其他图像数据集的扩充有一定的参考价值。如果您熟悉神经网络和深度学习,这是一种潜在的选择,但您可能希望尝试更简单的方法。
你能收集更多的数据吗?
另一个在真实数据集上构建的选项是走出去收集更多的数据。这可能需要你收集网站或连接到其他公共存储库。幸运的是,这里有很多工具,如果您需要获取站点或存储库,那么Python Scrapy库是一个很好的选择。根据来源,这可能是您收集或使用数据的一个灰色区域,因此要负责并了解任何机密性或隐私问题。但是,如果您的数据是私有的,那么轻松收集数据可能不是一种好选择。这意味着你必须转向另一种方法。
有数据模拟吗?
找到类似或相关但有更多或更好数据的问题。也许您正在为您的城市开发流量应用程序,但没有已建立的数据集。另一种方法是查看其他类似城市的数据模拟。在某些情况下,这种关系可能看起来并不那么明显,但有很多类似物与一切相关。在首次建立POC或决定投资是否确实值得时,建立基于类似类似物的ML应用是另一种选择。
强化学习是一种选择吗?
最后一个选择是建立一个无监督的训练系统,如强化学习。高级RL和其他无监督系统能够探索仅具有部分视图的环境或数据集。他们还可以探索新数据并不断自学。具有大状态或开放状态的RL系统的训练时间可能会长得多,但这些系统将继续学习和训练自己。现在,实施RL无监督系统将是最具挑战性的,但肯定会带来最大的好处和扩展。有一些很好的资源可以教你RL,但是专门用于数据科学的实用例子是有限的。
简单第一......
显然,选择最适合您和/或您的团队的选项。在构建像GAN或RL之类的更复杂的东西之前,通常使用最简单的选项来使整个系统正常工作。永远不要忽视随机数据的使用。测试随机数据集可以发现一些明显的数据或算法问题,并帮助您顺利解决您选择的ML问题。