Machine Learning 简明教程

Machine Learning - Models

有各种机器学习算法、技术和方法,可用于通过使用数据构建 models 来解决实际问题。在本章中,我们将讨论这些不同类型的算法。

基于人工监督,机器学习算法主要分为四种类型:

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

Supervised Learning

Supervised learning 算法或方法是最常用的 ML 算法。此方法或学习算法在训练过程中获取数据样本(即训练数据)及其相关的输出(即每个数据样本的标签或响应)。

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

例如,我们有

x : 输入变量和

Y : 输出变量

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

Y=f(x)

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

我们称之为监督,因为整个学习过程可以理解为它是由老师或主管监督的。监督机器学习算法的示例包括 Decision tree, Random Forest, KNN, Logistic Regression 等。

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

  1. Classification

  2. Regression

Classification

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

以下是某些常见分类模型:

Regression

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

以下是某些常见回归模型:

Unsupervised Learning

正如名称所建议的那样,{s0}与我们没有监督者提供任何指导的监督 ML 方法或算法相反。在没有特权的情况下,无监督学习算法非常方便,例如在有预先标记的训练数据并且我们希望从输入数据中提取有用模式的监督学习算法中。

例如,它可以理解如下:

假设我们有 -

{s1},那么将没有相对应的输出变量,并且算法需要发现数据中有趣的模式以进行学习。

无监督机器学习算法的示例包括 K 均值聚类,{s2} 等。

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

  1. Clustering

  2. Association

  3. Dimensionality Reduction

Clustering

聚类方法是最有用的无监督 ML 方法之一。这些算法用于查找数据样本的相似性和关系模式,然后将这些样本聚类到具有基于特征的相似性的组中。聚类的实际示例是按购买行为对客户进行分组。

以下是某些常见聚类模型:

Association

另一种有用的无监督 ML 方法是 {s3},它用于分析大体数据集以查找进一步表示不同项目之间的有趣关系的模式。它也称为 {s4} 或 {s5},主要用于分析客户购物模式。

以下是某些常见关联模型:

  1. Apriori Algorithm

  2. Eclat algorithm

  3. FP-growth algorithm

Dimensionality Reduction

此无监督 ML 方法通过选择代表性特征或主要特征集,用于减少每个数据样本的特征变量数量。这里产生一个问题,即我们为什么要减少维数?背后的原因是特征空间复杂性的问题,该问题在我们开始分析和从数据样本中提取数百万个特征时出现。此问题通常称为“维数灾难”。主成分分析 (PCA)、K 近邻和判别分析是用于此目的的部分流行算法。

以下是某些常见维数缩减模型:

  1. Principal Component Analysis(PCA)

  2. Autoencoders

  3. Singular value decomposition (SVD)

Anomaly Detection

此无监督 ML 方法用于找出通常不会发生的罕见事件或观测的发生。通过使用学到的知识,异常检测方法将能够区分异常数据点或正常数据点。诸如聚类、KNN 等部分无监督算法可以基于数据及其特征检测异常。

Semi-supervised Learning

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

  1. 第一个且简单的方法是基于少量标记和带注释数据构建有监督模型,然后将相同的模型应用于大量未标记数据来构建无监督模型以获得更多的标记样本。现在,在它们上训练模型并重复该过程。

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

Reinforcement Learning

Reinforcement learning 方法与过去研究的方法不同,也很少使用。在这样的学习算法中,有一个智能体,我们希望在一段时间内训练它,以便它能够与特定环境进行交互。该智能体将遵循一组与环境交互的策略,然后在观察环境后采取有关环境当前状态的行动。以下强化学习方法的主要步骤 −

  1. Step 1 − 首先,我们需要准备一个智能体,其中包含一些初始策略。

  2. Step 2 − 然后观察环境及其当前状态。

  3. Step 3 −接下来,选择有关环境当前状态的最佳策略并执行重要操作。

  4. Step 4 − 现在,智能体可以根据它在之前步骤中采取的行动获得相应的奖励或处罚。

  5. Step 5 − 现在,我们可以根据需要更新策略。

  6. Step 6 − 最后,重复步骤 2-5,直到智能体学会并采用最佳策略。

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

  1. Q-learning

  2. Markov Decision Process (MDP)

  3. SARSA

  4. DQN

  5. DDPG

我们将在即将到来的章节中详细讨论上述每种机器学习模型。