什么是训练数据? 它如何用于机器学习

已发表: 2021-07-30

机器学习模型与他们训练的数据一样好。

没有高质量的训练数据,即使是最高效的  机器学习  算法将无法执行。

对质量、准确、完整和相关数据的需求在培训过程的早期就开始了。 只有给算法提供了良好的训练数据,它才能轻松地提取特征并找到它需要预测的关系。

更准确地说,高质量的训练数据是机器学习(和人工智能)最重要的方面。 如果您将机器学习 (ML) 算法引入正确的数据,您就是在设置它们以确保准确性和成功。

训练数据也称为训练数据集、学习集和训练集。 它是每个机器学习模型的重要组成部分,可帮助他们做出准确的预测或执行所需的任务。

简单地说,训练数据构建了机器学习模型。 它告诉我们预期的输出是什么样的。 该模型反复分析数据集以深入了解其特征并自我调整以获得更好的性能。

在更广泛的意义上,训练数据可以分为两类:标记数据未标记数据

标记数据与未标记数据

什么是标记数据?

标签的数据是一组带有一个或多个有意义标签的数据样本。 它也称为注释数据,其标签标识特定特征、属性、分类或包含的对象。

例如,水果的图像可以标记为苹果、香蕉葡萄

标记的训练数据用于  监督学习。 它使 ML 模型能够学习与特定标签相关的特征,这些特征可用于对较新的数据点进行分类。 在上面的示例中,这意味着模型可以使用标记的图像数据来了解特定水果的特征,并使用此信息对新图像进行分组。

数据标记或注释是一个耗时的过程,因为人类需要标记或标记数据点。 标记数据收集具有挑战性且成本高昂。 与未标记数据相比,存储标记数据并不容易。

什么是未标记数据?

正如预期的那样,未标记的数据与标记的数据相反。 它是原始数据或未用任何标签标记的数据,用于识别分类、特征或属性。 它用于  无监督机器学习,机器学习模型必须在数据中找到模式或相似性才能得出结论。

回到之前的applesbananasgrapes示例,在未标记的训练数据中,这些水果的图像不会被标记。 该模型必须通过查看其特征(例如颜色和形状)来评估每个图像。

在分析了相当多的图像后,该模型将能够将新图像(新数据)区分为苹果香蕉葡萄的水果类型。 当然,模型不会知道特定的水果叫做苹果。 相反,它知道识别它所需的特征。

有混合模型使用监督和无监督机器学习的组合。

如何在机器学习中使用训练数据

与机器学习算法不同,传统的编程算法遵循一组指令来接受输入数据并提供输出。 他们不依赖历史数据,他们所做的每一个动作都是基于规则的。 这也意味着它们不会随着时间的推移而改进,机器学习并非如此。

对于机器学习模型,历史数据就是素材。 就像人类依靠过去的经验做出更好的决策一样,ML 模型通过过去的观察来查看他们的训练数据集来做出预测。

预测可以包括对图像进行分类,例如  图像识别,或理解句子的上下文,如自然语言处理 (NLP)。

将数据科学家视为教师,将机器学习算法视为学生,将训练数据集视为所有教科书的集合。

老师的愿望是学生必须在考试和现实世界中表现出色。 对于 ML 算法,测试就像考试。 教科书(培训数据集)包含考试中将提出的问题类型的几个示例。

提示:查看大数据分析  了解如何收集、结构化、清理和分析大数据。

当然,它不会包含所有将在考试中提出的问题示例,也不会包含所有教材中包含的示例将在考试中提出。 教科书可以通过教他们期望什么以及如何回应来帮助学生做好准备。

任何教科书都不可能完全完整。 随着时间的推移,提出的问题类型会发生变化,因此,教科书中包含的信息也需要更改。 对于 ML 算法,应定期更新训练集以包含新信息。

简而言之,训练数据是一本帮助数据科学家让 ML 算法了解预期结果的教科书。 尽管训练数据集不包含所有可能的示例,但它将使算法能够进行预测。

训练数据与测试数据与验证数据

训练数据用于模型训练,或者换句话说,它是用于拟合模型的数据。 相反,测试数据用于评估模型的性能或准确性。 它是一个数据样本,用于对适合训练数据的最终模型进行无偏评估。

训练数据集是一个初始数据集,它教 ML 模型识别所需模式或执行特定任务。 测试数据集用于评估训练的有效性或模型的准确性。

一旦在特定数据集上训练了 ML 算法,并且如果您在同一数据集上对其进行测试,则它更有可能具有高精度,因为模型知道会发生什么。 如果训练数据集包含模型将来可能遇到的所有可能值,那么一切都很好。

但事实并非如此。 训练数据集永远不可能是全面的,也无法教授模型在现实世界中可能遇到的所有内容。 因此,包含看不见的数据点的测试数据集用于评估模型的准确性。

训练数据与验证数据与测试数据

然后是验证数据。 这是在训练阶段用于频繁评估的数据集。 尽管模型偶尔会看到这个数据集,但它并没有从中学习。 验证集也称为开发集或开发集。 它有助于保护模型免受过度拟合和欠拟合。

尽管验证数据与训练数据是分开的,但数据科学家可能会保留一部分训练数据用于验证。 但是,当然,这自动意味着验证数据在训练期间被保留。

提示:如果您的数据量有限,可以使用一种称为交叉验证的技术来估计模型的性能。 该方法涉及将训练数据随机划分为多个子集并保留一个用于评估。

许多人交替使用术语“测试数据”和“验证数据”。 两者的主要区别在于验证数据用于在训练期间对模型进行验证,而测试集用于在训练完成后对模型进行测试。

验证数据集让模型第一次尝到了看不见的数据。 但是,并非所有数据科学家都使用验证数据进行初步检查。 他们可能会跳过这一部分,直接去测试数据。

什么是人在循环中?

循环中的人是指参与收集和准备训练数据的人员。

原始数据从多个来源收集,包括物联网设备、社交媒体平台、网站和客户反馈。 收集后,参与该过程的个人将确定数据的关键属性,这些属性是您希望模型预测的结果的良好指标。

通过清理数据、考虑缺失值、删除异常值、标记数据点并将其加载到合适的位置以训练 ML 算法来准备数据。 还将进行多轮质量检查; 如您所知,不正确的标签会显着影响模型的准确性。

是什么让训练数据变得更好?

高质量的数据转化为准确的机器学习模型。

低质量的数据会显着影响模型的准确性,从而导致严重的财务损失。 这几乎就像给学生一本包含错误信息的教科书,并期望他们在考试中表现出色。

以下是高质量训练数据的四个主要特征。

相关的

数据需要与手头的任务相关。 例如,如果你想训练一个  计算机视觉  自动驾驶汽车的算法,你可能不需要水果和蔬菜的图像。 相反,您需要一个包含道路、人行道、行人和车辆照片的训练数据集。

代表

AI 训练数据必须具有应用程序用于预测或分类的数据点或特征。 当然,数据集永远不可能是绝对的,但它必须至少具有 AI 应用程序要识别的属性。

例如,如果该模型旨在识别图像中的人脸,则必须为其提供包含来自不同种族的人脸的各种数据。 这将减少人工智能偏见的问题,并且模型不会对特定的种族、性别或年龄组产生偏见。

制服

所有数据都应具有相同的属性,并且必须来自相同的来源。

假设您的机器学习项目旨在通过查看客户信息来预测客户流失率。 为此,您将拥有一个客户信息数据库,其中包括客户姓名、地址、订单数量、订单频率和其他相关信息。 这是历史数据,可以用作训练数据。

数据的一部分不能有额外的信息,例如年龄或性别。 这会使训练数据不完整,模型不准确。 简而言之,一致性是高质量训练数据的一个关键方面。

综合的

同样,训练数据永远不可能是绝对的。 但它应该是一个代表模型大部分用例的大型数据集。 训练数据必须有足够的示例,以使模型能够正确学习。 它必须包含真实世界的数据样本,因为它将有助于训练模型以了解预期的结果。

如果您将训练数据视为放置在大量行和列中的值,对不起,您错了。 它可以是任何数据类型,如文本、图像、音频或视频。

什么会影响训练数据的质量?

人类是高度社会化的生物,但我们可能在孩提时代就已经选择了一些偏见,需要不断有意识地努力摆脱。 虽然不利,但这种偏见可能会影响我们的创作,机器学习应用也不例外。

对于 ML 模型,训练数据是他们阅读的唯一书籍。 它们的表现或准确性将取决于这本书的全面性、相关性和代表性。

话虽如此,三个因素会影响训练数据的质量:

  1. 人员:训练模型的人员对其准确性或性能有重大影响。 如果他们有偏见,自然会影响他们标记数据的方式,并最终影响 ML 模型的运作方式。

  2. 流程:数据标记流程必须进行严格的质量控制检查。 这将显着提高训练数据的质量。

  3. 工具:不兼容或过时的工具会影响数据质量。 使用强大的数据标记软件可以减少与该过程相关的成本和时间。

从哪里获取训练数据

有几种方法可以获取训练数据。 您选择的资源可能因机器学习项目的规模、预算和可用时间而异。 以下是收集数据的三个主要来源。

开源训练数据

大多数无法负担数据收集或标记的业余 ML 开发人员和小型企业都依赖开源训练数据。 这是一个简单的选择,因为它已经收集并免费。 但是,您很可能必须调整或重新注释此类数据集以适应您的培训需求。 ImageNet、Kaggle 和 Google 数据集搜索是开源数据集的一些示例。

互联网和物联网

大多数中型公司使用互联网和物联网设备收集数据。 摄像头、传感器和其他智能设备有助于收集原始数据,这些数据将在以后进行清理和注释。 与开源数据集不同,这种数据收集方法将专门针对您的机器学习项目的要求量身定制。 然而,清理、标准化和标记数据是一个耗时且资源密集型的过程。

人工训练数据

顾名思义,人工训练数据是使用机器学习模型人工创建的数据。 它也称为合成数据,如果您需要具有特定特征的高质量训练数据来训练算法,它是一个很好的选择。 当然,这种方法需要大量的计算资源和充足的时间。

多少训练数据就足够了?

对于多少训练数据才是足够的训练数据,没有一个具体的答案。 这取决于您正在训练的算法——它的预期结果、应用、复杂性和许多其他因素。

假设您要训练一个文本分类器,该分类器根据术语“cat”和“dog”的出现及其同义词(例如“kitty”、“kitten”、“pussycat”、“puppy”或“doggy”)对句子进行分类. 这可能不需要大型数据集,因为只有几个词要匹配和排序。

但是,如果这是一个将图像分类为“猫”和“狗”的图像分类器,那么训练数据集中所需的数据点数量将会显着增加。 简而言之,决定哪些训练数据是足够的训练数据的因素很多。

所需的数据量将根据所使用的算法而变化。

对于上下文,   深度学习是机器学习的一个子集,需要数百万个数据点来训练人工神经网络 (ANN)。 相比之下,机器学习算法只需要数千个数据点。 但当然,这是一个牵强的概括,因为所需的数据量因应用程序而异。

模型训练得越多,它就会变得越准确。 所以最好有大量的数据作为训练数据。

垃圾进垃圾出

短语“garbage in,garbage out”是数据科学中最古老和最常用的短语之一。 即使数据生成的速度呈指数级增长,它仍然适用。

关键是将高质量、有代表性的数据提供给机器学习算法。 这样做可以显着提高模型的准确性。 高质量的训练数据对于创建无偏见的机器学习应用程序也至关重要。

有没有想过具有类似人类智能的计算机能够做到什么? 与人类智能等效的计算机被称为通用人工智能,我们尚未得出结论,它是否会是有史以来最伟大或最危险的发明。