使用 Python 方法进行机器学习


有各种 ML 算法、技术和方法可用于构建模型,以使用数据解决现实生活中的问题。在本章中,我们将讨论这些不同类型的方法。

不同类型的方法


以下是基于一些大类的各种 ML 方法:

基于人工监督

在学习过程中,一些基于人工监督的方法如下:

监督学习

监督学习算法或方法是最常用的机器学习算法。该方法或学习算法在训练过程中获取数据样本,即训练数据及其相关输出,即每个数据样本的标签或响应。

监督学习算法的主要目标是在执行多个训练数据实例后学习输入数据样本和相应输出之间的关联。

例如,我们有

x :输入变量和

Y :输出变量

现在,应用一种算法来学习从输入到输出的映射函数,如下所示:

Y=f(x)

现在,主要目标是很好地逼近映射函数,即使我们有新的输入数据 (x),我们也可以轻松地预测新输入数据的输出变量 (Y)。

它被称为有监督的,因为整个学习过程可以被认为是由老师或主管监督的。监督机器学习算法的例子包括 决策树、随机森林、KNN、逻辑回归 etc.

基于机器学习任务,监督学习算法可以分为以下两大类:

  • 分类
  • 回归

分类

基于分类的任务的关键目标是预测给定输入数据的分类输出标签或响应。输出将基于模型在训练阶段学到的内容。正如我们所知,分类输出响应意味着无序和离散值,因此每个输出响应将属于特定的类或类别。我们还将在接下来的章节中详细讨论分类和相关算法。

回归

基于回归的任务的主要目标是预测给定输入数据的连续数值的输出标签或响应。输出将基于模型在其训练阶段所学的内容。基本上,回归模型使用输入数据特征(自变量)及其相应的连续数字输出值(因变量或结果变量)来学习输入和相应输出之间的特定关联。我们还将在后续章节中详细讨论回归和相关算法。

无监督学习

顾名思义,它与有监督的机器学习方法或算法相反,这意味着在无监督机器学习算法中,我们没有任何监督者来提供任何形式的指导。无监督学习算法在我们没有自由(如在监督学习算法中)拥有预先标记的训练数据并且我们希望从输入数据中提取有用模式的情况下很方便。

例如可以这样理解:

假设我们有:

x:输入变量 ,那么就没有相应的输出变量,算法需要发现数据中有趣的模式进行学习。

无监督机器学习算法的例子包括 K-means 聚类, K-最近邻 etc.

基于 ML 任务,无监督学习算法可以分为以下几大类:

  • 聚类
  • 协会
  • 降维

聚类

聚类方法是最有用的无监督机器学习方法之一。这些算法用于发现数据样本之间的相似性以及关系模式,然后根据特征将这些样本聚类成具有相似性的组。集群的真实示例是根据客户的购买行为对客户进行分组。

协会

另一种有用的无监督机器学习方法是 协会 它用于分析大型数据集以找到进一步代表各种项目之间有趣关系的模式。它也被称为 关联规则挖掘 or 购物篮分析 主要用于分析客户购物模式。

降维

这种无监督 ML 方法用于通过选择一组主要或代表性特征来减少每个数据样本的特征变量数量。这里出现了一个问题,为什么我们需要降维?背后的原因是当我们开始从数据样本中分析和提取数百万个特征时出现的特征空间复杂性问题。这个问题通常是指“维度的诅咒”。 PCA(主成分分析)、K-最近邻和判别分析是用于此目的的一些流行算法。

异常检测

这种无监督的机器学习方法用于找出罕见事件的发生或通常不会发生的观察。通过使用学习到的知识,异常检测方法将能够区分异常或正常数据点。一些无监督算法,如聚类、KNN 可以根据数据及其特征检测异常。

半监督学习

这种算法或方法既不是完全监督的,也不是完全无监督的。它们基本上介于两者之间,即监督和无监督学习方法。这些类型的算法通常使用小型监督学习组件,即少量预先标记的注释数据和大型无监督学习组件,即大量未标记的数据进行训练。我们可以按照以下任何一种方法来实现半监督学习方法:

  • 第一种也是简单的方法是基于少量标记和注释数据构建监督模型,然后通过将其应用于大量未标记数据来构建无监督模型以获得更多标记样本。现在,在他们身上训练模型并重复这个过程。

  • 第二种方法需要一些额外的努力。在这种方法中,我们可以首先使用无监督方法对相似的数据样本进行聚类,对这些组进行注释,然后使用这些信息的组合来训练模型。

强化学习

这些方法与以前研究的方法不同,也很少使用。在这种学习算法中,我们希望在一段时间内训练一个代理,以便它可以与特定环境进行交互。代理将遵循一组与环境交互的策略,然后在观察环境后,它将针对环境的当前状态采取行动。以下是强化学习方法的主要步骤:

  • 步骤 1 : 首先,我们需要准备一个带有一些初始策略的代理。

  • 步骤 2 : 然后观察环境及其当前状态。

  • 步骤 3 : 接下来,根据当前环境状态选择最优策略并执行重要动作。

  • 步骤 4 : 现在agent可以根据上一步的动作得到相应的奖励或惩罚。

  • 步骤 5 : 现在,如果需要,我们可以更新策略。

  • 步骤 6 : 最后,重复步骤 2-5,直到智能体学习并采用最优策略。

适合机器学习的任务


下图显示了哪种类型的任务适合各种 ML 问题:

Task For ML Problems

基于学习能力

在学习过程中,基于学习能力的方法有以下几种:

批量学习

在许多情况下,我们有端到端的机器学习系统,我们需要使用整个可用的训练数据一次性训练模型。这种学习方法或算法称为 批量或离线学习 .它被称为批处理或离线学习,因为它是一个一次性的过程,并且模型将在一个批次中使用数据进行训练。以下是批量学习方法的主要步骤:

  • 步骤 1 :首先,我们需要收集所有的训练数据,开始训练模型。

  • 步骤 2 : 现在,通过一次性提供完整的训练数据开始模型的训练。

  • 步骤 3 : 接下来,一旦获得满意的结果/表现,就停止学习/训练过程。

  • 步骤 4 : 最后,将这个训练好的模型部署到生产中。在这里,它将预测新数据样本的输出。

在线学习

它与批量或离线学习方法完全相反。在这些学习方法中,训练数据以多个增量批次(称为小批量)的形式提供给算法。以下是在线学习方法的主要步骤:

  • 步骤 1 :首先,我们需要收集所有的训练数据来开始模型的训练。

  • 步骤 2 : 现在,通过向算法提供一个小批量的训练数据来开始模型的训练。

  • 步骤 3 : 接下来,我们需要向算法提供多个增量的小批量训练数据。

  • 步骤 4 : 由于它不会像批量学习一样停止,因此在提供完整的小批量训练数据后,也向其提供新的数据样本。

  • 步骤 5 : 最后,它会根据新的数据样本在一段时间内不断学习。

基于泛化方法

在学习过程中,以下是一些基于泛化方法的方法:

基于实例的学习

基于实例的学习方法是通过基于输入数据进行泛化来构建 ML 模型的有用方法之一。与之前研究的学习方法相反,这种学习涉及 ML 系统以及使用原始数据点本身为更新的数据样本绘制结果而不在训练数据上建立显式模型的方法。

简而言之,基于实例的学习基本上是通过查看输入数据点开始工作,然后使用相似度度量,它将泛化和预测新的数据点。

基于模型的学习

在基于模型的学习方法中,在基于各种模型参数(称为超参数)构建的 ML 模型上发生迭代过程,其中输入数据用于提取特征。在本次学习中,基于各种模型验证技术对超参数进行了优化。这就是为什么我们可以说基于模型的学习方法使用更传统的 ML 方法进行泛化。