Machine Learning With Python 简明教程
Machine Learning - Models
有各种机器学习算法、技术和方法,可用于通过使用数据构建 models 来解决实际问题。在本章中,我们将讨论这些不同类型的算法。
基于人工监督,机器学习算法主要分为四种类型:
在接下来的四章中,我们将详细讨论每种机器学习模型。在这里,我们对这些方法进行简要概述:
Supervised Learning
Supervised learning 算法或方法是最常用的 ML 算法。此方法或学习算法在训练过程中获取数据样本(即训练数据)及其相关的输出(即每个数据样本的标签或响应)。
监督学习算法的主要目的是在执行多个训练数据实例后,学习输入数据样本与相应输出之间的关联。
例如,我们有
x : 输入变量和
Y : 输出变量
现在,应用算法从输入到输出学习映射函数,如下所示:
Y=f(x)
现在,主要目标是要很好地逼近映射函数,即使我们有新的输入数据 (x),我们也能轻松预测该新输入数据的输出变量 (Y)。
我们称之为监督,因为整个学习过程可以理解为它是由老师或主管监督的。监督机器学习算法的示例包括 Decision tree, Random Forest, KNN, Logistic Regression 等。
基于 ML 任务,监督学习算法可分为以下两大类:
-
Classification
-
Regression
Classification
基于分类的任务主要目的是为给定的输入数据预测分类输出标签或响应。输出将基于模型在训练阶段学到的内容。我们知道分类输出响应表示无序和离散值,因此每个输出响应都将属于特定类别或分类。我们还将在接下来的章节中详细讨论分类和相关算法。
以下是某些常见分类模型:
-
Linear Discriminant Analysis
Unsupervised Learning
正如名称所建议的那样,{s0}与我们没有监督者提供任何指导的监督 ML 方法或算法相反。在没有特权的情况下,无监督学习算法非常方便,例如在有预先标记的训练数据并且我们希望从输入数据中提取有用模式的监督学习算法中。
例如,它可以理解如下:
假设我们有 -
{s1},那么将没有相对应的输出变量,并且算法需要发现数据中有趣的模式以进行学习。
无监督机器学习算法的示例包括 K 均值聚类,{s2} 等。
根据 ML 任务,无监督学习算法可以分为以下几大类:
-
Clustering
-
Association
-
Dimensionality Reduction
Clustering
聚类方法是最有用的无监督 ML 方法之一。这些算法用于查找数据样本的相似性和关系模式,然后将这些样本聚类到具有基于特征的相似性的组中。聚类的实际示例是按购买行为对客户进行分组。
以下是某些常见聚类模型:
Association
另一种有用的无监督 ML 方法是 {s3},它用于分析大体数据集以查找进一步表示不同项目之间的有趣关系的模式。它也称为 {s4} 或 {s5},主要用于分析客户购物模式。
以下是某些常见关联模型:
-
Eclat algorithm
-
FP-growth algorithm
Semi-supervised Learning
{s6} 算法或方法既不是完全有监督也不是完全无监督。它们基本上介于有监督和无监督学习方法之间。这类算法通常使用小型有监督学习组件,即少量预先标记的带注释数据和大型无监督学习组件,即大量未标记数据进行训练。我们可以遵循以下任何一种方法来实现半监督学习方法:
-
第一个且简单的方法是基于少量标记和带注释数据构建有监督模型,然后将相同的模型应用于大量未标记数据来构建无监督模型以获得更多的标记样本。现在,在它们上训练模型并重复该过程。
-
第二种方法需要一些额外的工作。在这种方法中,我们首先可以使用无监督方法对类似的数据样本进行聚类,注释这些组,然后使用这些信息的组合来训练模型。
Reinforcement Learning
Reinforcement learning 方法与过去研究的方法不同,也很少使用。在这样的学习算法中,有一个智能体,我们希望在一段时间内训练它,以便它能够与特定环境进行交互。该智能体将遵循一组与环境交互的策略,然后在观察环境后采取有关环境当前状态的行动。以下强化学习方法的主要步骤 −
-
Step 1 − 首先,我们需要准备一个智能体,其中包含一些初始策略。
-
Step 2 − 然后观察环境及其当前状态。
-
Step 3 −接下来,选择有关环境当前状态的最佳策略并执行重要操作。
-
Step 4 − 现在,智能体可以根据它在之前步骤中采取的行动获得相应的奖励或处罚。
-
Step 5 − 现在,我们可以根据需要更新策略。
-
Step 6 − 最后,重复步骤 2-5,直到智能体学会并采用最佳策略。
以下是一些常见的强化学习算法 −
-
Q-learning
-
Markov Decision Process (MDP)
-
SARSA
-
DQN
-
DDPG
我们将在即将到来的章节中详细讨论上述每种机器学习模型。