机器学习 ML Models 怎么构建和训练?

文章导读
Previous Quiz Next 有各种 Machine Learning 算法、技术和方法,可以使用数据来构建 模型,以解决现实生活中的问题。本章中,我们将讨论这些不同类型的方法。
📋 目录
  1. Supervised Learning
  2. 无监督学习
  3. 半监督学习
  4. 强化学习
A A

机器学习 - 模型



Previous
Quiz
Next

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

根据人类监督的程度,机器学习方法主要分为四种类型 −

  • Supervised Learning
  • Unsupervised Learning
  • Semi-supervised Learning
  • Reinforcement Learning

在接下来的四个章节中,我们将详细讨论这些机器学习模型。这里,让我们先对这些方法进行简要概述:

Supervised Learning

Supervised learning 算法或方法是最常用的 ML 算法。这种方法或学习算法在训练过程中会使用数据样本,即训练数据及其相关的输出,即标签或响应,每个数据样本都有相应的标签。

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

例如,我们有

x:输入变量和

Y:输出变量

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

Y=f(x)

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

它被称为 supervised,是因为整个学习过程可以被视为由老师或监督者监督。Supervised machine learning 算法的示例包括 Decision tree, Random Forest, KNN, Logistic Regression 等。

根据 ML 任务,supervised learning 算法可以分为以下两大类 −

  • Classification
  • Regression

Classification

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

Classification Models

以下是一些常见的 classification models −

  • Logistic Regression
  • Decision Trees
  • Random Forest
  • K-nearest Neighbor
  • Support Vector Machine
  • Naive Bayes
  • Linear Discriminant Analysis
  • Neural Networks

Regression

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

Regression Models

以下是一些常见的 regression models −

  • Linear Regression
  • Ridge regression
  • Decision Trees
  • Random Forest
  • K-nearest Neighbor
  • Neural Network Regression

无监督学习

顾名思义,无监督学习与监督式机器学习方法或算法相反,在这种方法中,我们没有任何监督者提供任何指导。无监督学习算法在以下场景中非常有用:我们没有像监督学习算法那样的预标记训练数据特权,而是希望从输入数据中提取有用的模式。

例如,可以这样理解 —

假设我们有 —

x: 输入变量,则不会有对应的输出变量,算法需要从数据中发现有趣的模式来进行学习。

无监督机器学习算法的示例包括 K-means clustering、K-nearest neighbors 等。

根据机器学习任务,无监督学习算法可以分为以下几大类 —

  • 聚类
  • 关联
  • 降维

聚类

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

聚类模型

以下是一些常见的聚类模型 —

  • K-Means Clustering
  • Hierarchical Clustering
  • Mean-shift Clustering
  • DBSCAN Clustering
  • HDBSCAN Clustering
  • BIRCH Clustering
  • Affinity Propagation
  • Agglomerative Clustering

关联

另一种有用的无监督机器学习方法是 Association,它用于分析大型数据集以查找模式,这些模式进一步表示各种项目之间的有趣关系。它也被称为 Association Rule MiningMarket basket analysis,主要用于分析客户购物模式。

关联模型

以下是一些常见的关联模型 —

  • Apriori Algorithm
  • Eclat algorithm
  • FP-growth algorithm

降维

这种无监督机器学习方法用于通过选择一组主要或代表性特征来减少每个数据样本的特征变量数量。这里会产生一个问题:为什么我们需要降低维度?原因是特征空间复杂性问题,当我们开始从数据样本中分析和提取数百万个特征时就会出现这个问题。这个问题通常被称为维度灾难。PCA (Principal Component Analysis)、K-nearest neighbors 和判别分析是为此目的的一些流行算法。

降维模型

以下是一些常见的降维模型 —

  • Principal Component Analysis(PCA)
  • Autoencoders
  • Singular value decomposition (SVD)

异常检测

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

半监督学习

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

  • 第一种简单的方法是基于少量标记和标注数据构建监督模型,然后将相同方法应用于大量未标记数据以获取更多标记样本。现在,在这些数据上训练模型并重复该过程。
  • 第二种方法需要一些额外努力。在这种方法中,我们可以首先使用无监督方法对相似数据样本进行聚类,标注这些组,然后使用这些信息的组合来训练模型。

强化学习

强化学习方法不同于之前研究的方法,并且使用得非常少。在这类学习算法中,会有一个代理(agent),我们希望通过一段时间的训练,使其能够与特定环境交互。代理将遵循一套策略与环境交互,然后在观察环境后,根据环境当前状态采取行动。以下是强化学习方法的主要步骤 −

  • 步骤 1 − 首先,我们需要准备一个具有初始策略集的代理。
  • 步骤 2 − 然后观察环境及其当前状态。
  • 步骤 3 − 接下来,根据环境当前状态选择最优策略并执行重要行动。
  • 步骤 4 − 现在,代理可以根据前一步采取的行动获得相应的奖励或惩罚。
  • 步骤 5 − 现在,如果需要,我们可以更新策略。
  • 步骤 6 − 最后,重复步骤 2-5,直到代理学会并采用最优策略。

强化学习模型

以下是一些常见的强化学习算法 −

  • Q-learning
  • Markov Decision Process (MDP)
  • SARSA
  • DQN
  • DDPG

我们将在后续章节中详细讨论上述每一种机器学习模型。