Machine Learning With Python 简明教程

Machine Learning - Basic Concepts

我们知道机器学习是人工智能的一个子集,它涉及训练计算机算法自动学习数据中的模式和关系。这里有一些机器学习的基本概念 −

Data

数据是机器学习的基础。没有数据,算法将无处学习。数据可以有多种形式,包括结构化数据(例如电子表格和数据库)和非结构化数据(例如文本和图像)。用于训练机器学习算法的数据的质量和数量是关键因素,可以显著影响其表现。

Feature

在机器学习中,特征是描述输入数据的变量或属性。目标是选择最相关和信息最丰富的特征,能让算法做出准确的预测或判断。特征选择是机器学习过程中至关重要的一步,因为算法的表现很大程度上取决于所用特征的质量和相关性。

Model

机器学习模型是输入数据(特征)和输出(预测或判断)之间关系的数学表示。使用训练数据集创建模型,然后使用一个独立的验证数据集对其进行评估。目标是创建能够准确推广到新数据和从未见过的数据的模型。

Training

训练是教机器学习算法进行准确预测或判断的过程。这是通过向算法提供一个大数据集并允许它从数据中的模式和关系中学到而实现的。在训练期间,算法调整其内部参数,使预测输出和实际输出之间的差最小。

Testing

测试是评估机器学习算法在之前从未见过的独立数据集中的表现的过程。目标是确定算法对新数据和从未见过的数据的泛化程度。如果算法在测试数据集中表现良好,那么它会被认为是一个成功的模型。

Overfitting

过拟合发生在机器学习模型过于复杂并且过于紧密地拟合训练数据时。这会导致对新数据和从未见过的数据的糟糕表现,因为该模型过于专门针对训练数据集。为了防止过拟合,使用一个验证数据集来评估模型的表现并使用正则化技术来简化模型非常重要。

Underfitting

欠拟合发生在机器学习模型过于简单并且不能捕捉数据中的模式和关系时。这会导致在训练数据集和测试数据集中的表现都很糟糕。为了防止欠拟合,我们可以使用若干技术,例如增加模型复杂性、收集更多数据、减少正则化以及特征工程。

需要注意的是,防止欠拟合是在模型复杂性和可用数据量之间进行平衡。增加模型复杂度有助于防止欠拟合,但如果没有足够的数据来支持增加的复杂度,则可能发生过拟合。因此,重要的是监视模型的性能并根据需要调整复杂度。

Why & When to Make Machines Learn?

我们已经讨论了机器学习的必要性,但另一个问题出现了,即在什么情况下我们必须让机器学习?机器需要高效且大规模地进行数据驱动决策的情况可能有多种。以下是机器学习更有效的一些情况−

Lack of human expertise

第一个我们希望机器学习并做出数据驱动决策的情况可能是缺乏人类专业知识的领域。示例可以是未知领域或空间行星的导航。

Dynamic scenarios

有些情况本质上是动态的,即它们会随着时间的推移而不断变化。对于这些情况和行为,我们希望机器学习并做出数据驱动决策。一些示例可以是网络连接和组织中基础设施的可用性。

Difficulty in translating expertise into computational tasks

人类可能在各个领域拥有专业知识;但是,他们无法将此专业知识转化为计算任务。在这种情况下,我们需要机器学习。示例可以是语音识别、认知任务等领域。

Machine Learning Model

在讨论机器学习模型之前,我们需要了解米切尔教授给出的以下 ML 正式定义:

“如果计算机程序相对于某些类别的任务 T 和性能衡量标准 P 从经验 E 中学习,那么根据 P 衡量,它在 T 中的任务的性能会通过经验 E 而提高。”

上面的定义主要关注三个参数,也是任何学习算法的主要组成部分,即任务(T)、性能(P)和经验(E)。在这种情况下,我们可以将此定义简化为−

机器学习是包括学习算法的人工智能领域,其中包含:

  1. Improve their performance (P)

  2. 在执行某个任务 (T) 时

  3. 随着时间的推移和经验 (E)

基于上述内容,以下图表表示一个机器学习模型−

machine learning model

现在让我们更详细地讨论它们−

Task(T)

从问题的角度来看,我们可以将任务 T 定义为要解决的现实世界问题。该问题可以是找到特定位置的最佳房屋价格或找到最佳营销策略等。另一方面,如果我们谈论机器学习,任务的定义是不同的,因为很难通过传统编程方法解决基于机器学习的任务。

任务 T 被称为基于机器学习的任务,当它基于数据点进行操作必须遵循的过程和系统时。基于机器学习的任务的示例包括分类、回归、结构化注释、聚类、转录等。

Experience (E)

顾名思义,它是从提供给算法或模型的数据点中获得的知识。一旦提供了数据集,模型将迭代运行并会学习一些固有模式。由此获得的学习称为经验(E)。与人类学习进行类比,我们可以将这种情况视为一个人从情况、关系等各种属性中学习或获得一些经验的情况。监督学习、无监督学习和强化学习是学习或获得经验的一些方法。我们的机器学习模型或算法获得的经验将用于解决任务 T。

Performance (P)

机器学习算法应该随着时间的推移执行任务并获得经验。衡量机器学习算法是否按预期执行的衡量标准是其性能 (P)。P 基本上是一个定量指标,它告诉模型如何使用其经验 E 执行任务 T。有许多指标有助于理解机器学习性能,例如准确性得分、F1 分数、混淆矩阵、精确度、召回率、灵敏度等。