Machine Learning 简明教程

Machine Learning - Supervised

最常用的 ML 算法是监督学习算法或方法。这种方法或学习算法在训练过程中获取数据样本(即训练数据)和关联输出(即标签或响应)。监督学习算法的主要目的是在执行多次训练数据实例后学习输入数据样本和相应的输出之间的关联性。

例如,我们有:

  1. x - 输入变量和

  2. Y − Output variable

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

Y=f(x)

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

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

基于 ML 任务,监督学习算法可分为两大类− ClassificationRegression

Classification

基于分类的任务的关键目标是针对给定的输入数据预测分类输出标签或响应。输出将基于模型在其训练阶段中学到的内容。

众所周知,分类输出响应表示无序和离散值,因此每个输出响应都将属于特定的类别或分类。我们还将在以后的章节中详细讨论分类和相关算法。

Regression

基于回归的任务的关键目标是针对给定的输入数据预测输出标签或响应,这些输出标签或响应是连续的数值。输出将基于模型在其训练阶段中学到的内容。

基本上,回归模型使用输入数据特征(自变量)及其对应的连续数值输出值(因变量或结果变量)来了解输入与相应输出之间的特定关联。我们还将在以后的章节中详细讨论回归和相关算法。

Algorithms for Supervised Learning

监督学习是最重要的机器训练学习模型之一。本章将详细介绍它。

许多算法可用于监督学习。下面展示了监督学习中一些广泛使用的算法−

  1. k-Nearest Neighbours

  2. Decision Trees

  3. Naive Bayes

  4. Logistic Regression

  5. Support Vector Machines

随着我们本章的学习,让我们详细讨论其中的每种算法。

k-Nearest Neighbours

k-最近邻域算法简称 kNN 是一种统计技术,可用于解决分类和回归问题。让我们讨论使用 kNN 对未知对象进行分类的情况。考虑如下图像所示的对象分布−

nearest neighbours

来源:

该图表显示三种类型的对象,分别用红色、蓝色和绿色标记。当您对上述数据集运行 kNN 分类器时,每种类型对象的边界将如下所示−

dataset boundaries

来源:

现在,考虑一个您想要将它分类为红色、绿色或蓝色的新的未知对象。如下图所示。

depicted figure

如您所见,未知数据点属于蓝色对象类别。从数学上讲,可以通过测量该未知点与数据集中每个其他点的距离来得出这个结论。当您这样做时,您将知道它的大多数邻居都是蓝色的。到红色和绿色对象的平均距离肯定大于到蓝色对象的平均距离。因此,可以将这个未知对象分类为属于蓝色类别。

kNN 算法还可以用于回归问题。kNN 算法在大多数 ML 库中都有现成的可供使用。

Decision Trees

简单的流程图格式决策树如下所示 −

flowchart format

您可以根据此流程图编写代码来对输入数据进行分类。这个流程图不言自明,而且很普通。在此场景中,您尝试对传入的电子邮件进行分类以决定何时阅读它。

实际上,决策树可能又大又复杂。有许多算法可用于创建和遍历这些树。作为机器学习爱好者,您需要理解和掌握创建和遍历决策树的这些技术。

Naive Bayes

朴素贝叶斯用于创建分类器。假设您想从一个水果篮中对不同种类的水果进行分类。您可以使用水果的颜色、大小和形状等特征,例如,任何颜色为红色、形状为圆形、直径约为 10 厘米的水果都可以被认为是苹果。因此,要训练模型,您将使用这些特征并测试给定特征与所需约束匹配的概率。然后将不同特征的概率组合起来,得出给定水果是苹果的概率。朴素贝叶斯通常需要少量的训练数据进行分类。

Logistic Regression

观察以下图表。它显示了数据点在 XY 平面中的分布。

distribution data points

从图表中,我们可以从视觉上检查红色点和绿色点的分离情况。您可以绘制一条边界线以分离出这些点。现在,要对新的数据点进行分类,你只需确定该点位于该线的哪一侧。

Support Vector Machines

观察以下数据分布。此处三类数据不能线性分离。边界曲线是非线性的。在这种情况下,找出手术的公式会变成一项复杂的工作。

non linear

数据来源: http://uc-r.github.io/svm

支持向量机 (SVM) 在这种情况下非常适合确定分离边界。