训练数据是如何产生的

数据挖掘 机器学习 监督学习
2021-10-05 01:07:20

机器学习过程非常新。

我很好奇研究人员、公司、学者如何为他们的研究获取训练数据。

他们会付钱给一些用户来训练数据吗?如果是,他们如何保证它的准确性。

研究生(博士生)是否为他们的教授做这件事。(这是开玩笑的意思)

4个回答

“训练”数据实际上只是将您已经收集的数据拆分为测试或训练集。例如,如果您想为手写数字构建分类器,您需要收集数千个手写数字样本,例如MNIST 数据库当您认为您有足够的数据来构建模型时,然后将其拆分为训练集和测试集(通常通过以特定比例将单个样本随机分配到一组或另一组)。

我认为您的困惑在于首先收集“训练”集的想法,就好像它真正独立于测试集一样。在收集手写数字时,研究人员并没有说,好吧,我们有 10,000 个样本,让我们用 10,000 个样本建立一个模型,然后让它运行我们尚未收集到的未来数据集 - 事实上,这种策略特别糟糕并可能导致过拟合

您要做的是获取这 10,000 个样本并将它们拆分 - 例如 7,000 个用于训练以构建模型,3,000 个用于测试所述模型 - 也许您会随机构建许多 7,000/3,000 个模型并取这些模型的参数的平均值你建造的。然后你可以说我们的模型以 97% 的准确率预测我们的测试集,我们认为它可以很好地处理我们尚未收集的数据。

您收集初始数据集的方式取决于您试图理解的过程。也许是对网站的点击、来自卫星的图像或来自神经元集合的电记录。有时你花钱来收集数据——比如人口普查或调查,或者甚至购买另一家收集你想要的大量用户数据的公司——通常,数据收集是你正在做的事情的一个固有过程,你正在使用统计方法来收集数据。对您感兴趣的人群进行模型和推论。

数据通常存在。通常不存在的是基本事实(在分类的情况下)。这种基本事实通常总是手动收集,众包起着重要作用。

例如,想想 Facebook 所做的人脸识别。在自动标记可用之前,Facebook 允许用户手动添加标记以创建一组标记数据。

一种更通用的方法是通过亚马逊的 Mechanical Turk(亚马逊的市场)。查看那里列出的任务。其中一些显然与手动生成标签有关,这些标签稍后将构成学习系统的基础。

学术界的大多数研究都在创建方法,您可以证明它在现有数据集上的效果如何。然而,当一家新公司推出例如欺诈检测平台时,他们必须手动将交易标记为欺诈与否。有时,这是在客户收到报告时完成的,有时是通过分析师的人工观察来完成的。

正如您所想象的那样,学术界对了解通过众包获得的结果的质量产生了很大的兴趣,并且仍然是一个活跃的研究领域。

生成训练集需要专家领域的知识,这可能非常困难,也可能非常容易。

示例 1:Web 文档分类

如果您有兴趣对 Web 文档进行分类,那么 Internet 上有数十亿个网页供您下载。问题不在于数据量(你只需要一个网络爬虫,因此很便宜),而是你如何将它们处理成更易于管理的表示。

示例 2:疾病分类

收集疾病数据可能非常昂贵。不仅可能存在立法问题,您还需要一个博士专家团队来分析数据(非常昂贵)。实验还必须在统计上合理,例如,您必须考虑协变量。

我想我可以让它更清楚一点,并将以前的答案收集到一个中。你可以想到四种类型的数据:

类型 1:固有标记数据

例如,用于猜测句子中下一个单词的数据集。一旦你有了文本语料库,你也可以获得模型的目标词。

类型 2:生成的数据

如果我没记错的话,MNIST 数据库是通过让人们写数字来生成的。如果你有一排手写的数字,这些数字都应该是 5,那么你就不必事后付钱给另一个人来给它们贴标签。这使我们...

类型 3:标记数据

人类专家已经手动检查并标记了数据。例如,医生对疾病类型进行分类。

类型 4:未标记数据

任何没有标签的东西。