数据、学习和建模

机器学习领域有一些关键概念,它们构成了理解该领域的基础。

在本文中,您将学习在描述数据和数据集时使用的命名法(标准术语)。

您还将学习用于描述从数据中学习和建模的概念和术语,这将为您在机器学习领域探索之旅提供宝贵的直观认识。

数据

机器学习方法通过示例进行学习。重要的是要对输入数据以及描述数据时使用的各种术语有很好的掌握。在本节中,您将学习机器学习中用于指代数据的术语。

当我想到数据时,我会想到行和列,就像数据库表或 Excel 电子表格一样。这是数据的传统结构,也是机器学习领域普遍采用的结构。图像、视频和文本等其他数据,所谓的非结构化数据,在此不予考虑。

Table of Data Showing an Instance, Feature, and Train-Test Datasets

显示实例、特征和训练/测试数据集的数据表

实例:一行数据称为一个实例。它是来自该领域的一个观测值。

特征:一列数据称为一个特征。它是观测值的一个组成部分,也称为数据实例的属性。某些特征可能是模型的输入(预测变量),而其他特征可能是输出或需要预测的特征。

数据类型:特征具有数据类型。它们可能是实数或整数值,或者可能是分类或有序值。您还可以拥有字符串、日期、时间以及更复杂的数据类型,但在处理传统机器学习方法时,它们通常会被简化为实数或分类值。

数据集:实例的集合称为数据集,在使用机器学习方法时,我们通常需要几个数据集以供不同目的使用。

训练数据集:我们输入到机器学习算法以训练模型的数据集。

测试数据集:我们用于验证模型准确性的数据集,但它不用于训练模型。它也可以称为验证数据集。

我们可能需要收集实例来形成我们的数据集,或者我们可能会收到一个必须将其拆分为子数据集的数据集。

学习

机器学习实际上是通过算法进行的自动化学习。

在本节中,我们将讨论一些关于学习的高级概念。

归纳:机器学习算法通过一个称为归纳或归纳学习的过程进行学习。归纳是从特定信息(训练数据)中进行泛化(模型)的推理过程。

泛化:泛化是必需的,因为机器学习算法准备的模型需要基于在训练期间未见过的数据实例进行预测或决策。

过度学习:当模型过于紧密地学习训练数据而无法泛化时,这称为过度学习。结果是对训练数据集以外的数据表现不佳。这也被称为过拟合。

欠拟合:当模型由于学习过程过早终止而未能从数据库中学习到足够的结构时,这称为欠拟合。结果是泛化良好,但在所有数据(包括训练数据集)上的表现都很差。这也被称为欠拟合。

在线学习:在线学习是指当数据实例可用时,通过这些实例更新方法。在线学习需要对噪声数据具有鲁棒性的方法,但可以生成更能适应领域当前状态的模型。

离线学习:离线学习是指方法在预准备好的数据上创建,然后用于对未观察到的数据进行操作。由于训练数据的范围是已知的,因此可以控制和仔细调整训练过程。模型在准备好后不会更新,并且如果领域发生变化,性能可能会下降。

监督学习:这是一个用于泛化需要预测的问题的学习过程。“教学过程”将模型的预测与已知答案进行比较,并对模型进行更正。

无监督学习:这是一个用于泛化数据结构而无需预测的学习过程。它识别并利用自然结构来关联实例。

我们之前在关于机器学习算法的帖子中讨论过监督学习和无监督学习。这些术语可用于根据算法的行为对其进行分类。

建模

机器学习过程产生的产物本身就可以被视为一个程序。

模型选择:我们可以将配置和训练模型的过程视为模型选择过程。每一次迭代我们都有一个新的模型可以供选择使用或修改。即使是选择机器学习算法也是该模型选择过程的一部分。在针对某个问题存在的所有可能模型中,给定的算法和算法配置在选定的训练数据集上将提供一个最终选定的模型。

归纳偏差:偏差是施加到选定模型的限制。所有模型都有偏差,这会在模型中引入错误,根据定义,所有模型都有错误(它们是从观测值中进行的泛化)。偏差通过模型中进行的泛化引入,包括模型的配置和生成模型的算法选择。机器学习方法可以创建低偏差或高偏差的模型,并且可以使用策略来降低高偏差模型的偏差。

模型方差:方差是模型对训练它的数据的敏感程度。机器学习方法在数据集上创建模型时可能具有高方差或低方差。降低模型方差的策略是多次在具有不同初始条件的数据集上运行它,并将平均准确率作为模型的性能。

偏差-方差权衡:模型选择可以被视为偏差和方差之间的权衡。低偏差模型将具有高方差,并且需要长时间或多次训练才能获得可用的模型。高偏差模型将具有低方差,并且训练速度快,但性能较差且有限。

资源

如果您想深入研究,以下是一些资源。

本文提供了一个有用的术语表,您可以随时参考以获得清晰的定义。

是否有遗漏的术语?您对其中一个术语是否有更清晰的描述?请发表评论,让我们大家知道。

44 条回复“数据、学习和建模”

  1. Bruce 2013年12月20日 下午4:51 #

    这很好。谢谢。

    • jasonb 2013年12月26日 下午8:33 #

      感谢您的肯定,Bruce。如果您想让我深入探讨某个特定术语,请告诉我。

  2. Dirk 2014年7月9日 上午12:09 #

    我会区分验证集和测试集。您在训练集上训练模型,使用验证集调整模型参数,然后使用测试集评估模型的准确性。请注意,测试集不能以任何方式影响建模过程。

    • NicoT 2015年3月10日 上午3:37 #

      Dirk,验证集上的“调整”是针对模型的超参数,而不是模型本身的“参数”!根据模型的类型,会有不同的超参数需要调整(例如成本函数中的正则化参数)。

    • Dr. Carl Speight 2021年1月23日 下午12:34 #

      工作做得非常出色且一致。如果每个主题后面都跟上实际应用,将有助于我们这些更偏向视觉而非文本的学习者。我对学习编程感兴趣,所以更多地结合这些精心设计的解释的示例可能会是一个不错的起点。

      如何利用这些知识成为量化分析师并赚钱,而不是为他人工作?我想用这些技能与他人一起工作,而不是为他人工作。

      再次感谢,工作非常出色。
      Carl

      • Jason Brownlee 2021年1月23日 下午12:49 #

        抱歉,我无法就金融或成为量化分析师提供建议——这不是我的专业领域。

  3. leema 2016年4月25日 下午3:52 #

    嗨 Jason – 如果数据集全部是分类值,我们如何应用算法,因为大多数算法无法直接处理分类值?

    您能否在 Python 中应用向量化技术?

    此致
    Leema Jose

  4. Gunjeet Singh 2016年11月22日 晚上11:09 #

    您能否详细说明模型“实际参数”和“超参数”之间的区别?

    • Jason Brownlee 2016年11月23日 上午9:00 #

      嗨 Gunjeet,

      机器学习算法从数据中学习系数,例如线性回归中的系数来描述一条直线。这些是模型参数。

      为了学习系数,我们经常使用诸如随机梯度下降之类的学习算法。该算法可以有控制学习的参数,例如学习率。学习率就是超参数的一个例子。

      • Sifa 2020年7月24日 晚上10:14 #

        一个非常好的教程,
        谢谢

  5. Jacob Smith 2017年6月27日 上午7:10 #

    偏差就是错误吗?我仍然不确定它在这个上下文中的含义。我将偏差视为估计值的期望值与真实值的平均值之间的平均差异。

  6. saravanan 2017年8月23日 下午5:11 #

    嗨 Jason

    我是一名 SEO 分析师。

    机器学习如何影响 SEO?

    ML 在 SEO 中有什么好处?

    • Jason Brownlee 2017年8月24日 上午6:26 #

      我不确定,SEO 不是我的领域。也许 ML 可以帮助解决次要问题——例如,分析 SERP 和 SERP 变动,或者对一系列类似网站的影响进行建模。

  7. Anurag 2018年1月20日 上午5:16 #

    简洁明了地总结了机器学习基础知识!

    Jason,我认为这篇帖子应该作为您所有书籍的置顶笔记。

  8. Jesús Martínez 2018年2月6日 上午12:05 #

    好文章,Jason。

    如果您不介意,我有一个问题:您认为数据的数量对某些机器学习算法有何影响?例如,您是否认为拥有更多数据总是有益的,还是存在一个点,由于模型的性能停滞不前,收益变得非常小?

    提前感谢!

  9. Abiodun Abiodun 2018年4月24日 晚上8:52 #

    Jason,

    非常有用的文章。这进一步增强了我对机器学习的认识,非常感谢……如果我可以问一下,输入数据可以如何定义?

  10. Abiodun Abioye 2018年4月24日 晚上10:03 #

    嗨,Jason,

    非常有用的文章。这进一步增强了我对机器学习的认识。非常感谢。请问,输入数据可以如何定义?

    等待您的回复。

    先谢谢您了。

  11. Anna 2018年6月19日 下午3:55 #

    先生,
    我在一篇文章中读到,他们将数据集分为在线和离线。您能解释一下在线数据集和离线数据集的区别吗?在研究中,我如何将我的数据集分为在线和离线数据集?谢谢…

    • Jason Brownlee 2018年6月20日 上午6:21 #

      抱歉,我没有听说过关于数据的这种区分。

  12. Paul A. Gureghian 2018年8月2日 上午4:38 #

    关于偏差-方差权衡,如果您倾向于某一方,那么方差高而偏差低是否更有意义?当然,这会导致过拟合,但至少这样您就能获得所需的东西,并带有一些噪音。而欠拟合则一无是处。

    • Jason Brownlee 2018年8月2日 上午6:04 #

      是的。

      例如,神经网络是随机的,并且在最终拟合方面比其他模型具有更高的偏差——例如,在相同数据上使用相同的算法每次运行都会产生不同的拟合。

      我们可以通过使用最终模型的集成来降低方差并增加偏差来解决这个问题。

    • Dr. Mallikarjun Hangarge 2020年8月7日 下午5:26 #

      很好的教程

  13. Ajay 2018年9月4日 晚上7:56 #

    你好先生,

    机器学习中的模型是什么?
    在监督学习的上下文中,模型是什么?
    在无监督学习的上下文中,模型是什么?

    谢谢你

  14. adane gebru fkadu 2018年11月17日 下午5:01 #

    你好先生,
    我对模型和算法有些困惑,如果您能解释一下,能否给我一些解释?

    谢谢

  15. Junot lucas 2019年6月11日 上午2:24 #

    您能为我构建一个复合算法预测数据库吗?我跟踪了纽约彩票 Pick3 和 Pick4 的出奖模式。您能否告知我您是否可以,我将为您提供所有解释和详细信息。

  16. BRIAN ATUHIRWE 2019年10月31日 上午5:33 #

    谢谢 Jason,但我仍然没有掌握学习的要点。

  17. Alisha Parveen 2020年10月19日 晚上8:59 #

    谢谢,信息量很大。
    我有一个问题。
    我有一个 90x42 维的数据集。
    我不知道如何找到因变量和自变量数据集?有什么好的方法来寻找因变量和自变量特征?
    我不知道哪种机器学习算法比较好。

  18. Gore 2020年11月13日 上午7:31 #

    谢谢你

  19. omer 2020年11月27日 下午5:35 #

    Jason,
    这是一个非常好的、令人惊叹的主题概述。

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。