使用 Python 的 AI – 机器学习

学习意味着通过学习或经验获得知识或技能。基于此,我们可以将机器学习 (ML) 定义如下 −

它可以定义为计算机科学领域,更具体地说是人工智能的一种应用,它为计算机系统提供了通过数据学习并从经验中改进的能力,而无需明确编程。

基本上,机器学习的主要重点是让计算机自动学习而无需人工干预。现在出现了一个问题,即如何开始和完成这种学习?它可以从观察数据开始。数据可以是一些示例、指令或一些直接经验。然后,在此输入的基础上,机器通过寻找数据中的某些模式做出更好的决策。

机器学习 (ML) 的类型

机器学习算法帮助计算机系统在无需明确编程的情况下进行学习。这些算法分为监督式或无监督式。现在让我们看几个算法 −

监督机器学习算法

这是最常用的机器学习算法。之所以称为监督,是因为算法从训练数据集学习的过程可以被认为是老师监督学习过程。在这种 ML 算法中,可能的结果已经知道,训练数据也标有正确答案。可以理解如下 −

假设我们有输入变量 x 和输出变量 y,我们应用一种算法来学习从输入到输出的映射函数,例如 −

Y = f(x)

现在,主要目标是很好地近似映射函数,以便当我们有新的输入数据(x)时,我们可以预测该数据的输出变量(Y)。

主要监督学习问题可分为以下两类问题 −

  • 分类 − 当我们有分类输出(例如"黑人"、"教学"、"非教学"等)时,问题称为分类问题。

  • 回归 −当我们有实际值输出(例如"距离"、"千克"等)时,问题就称为回归问题。

决策树、随机森林、knn、逻辑回归都是监督式机器学习算法的例子。

无监督式机器学习算法

顾名思义,这类机器学习算法没有任何监督者提供任何形式的指导。这就是为什么无监督式机器学习算法与某些人所说的真正的人工智能密切相关。可以理解为 −

假设我们有输入变量 x,那么就不会有相应的输出变量,就像监督式学习算法中那样。

简而言之,我们可以说在无监督学习中没有正确答案,也没有老师提供指导。算法有助于发现数据中有趣的模式。

无监督学习问题可以分为以下两类问题 −

  • 聚类 − 在聚类问题中,我们需要发现数据中固有的分组。例如,根据客户的购买行为对其进行分组。

  • 关联 − 问题之所以称为关联问题,是因为此类问题需要发现描述大量数据的规则。例如,找到同时购买 xy 的客户。

用于聚类的 K-means、用于关联的 Apriori 算法是无监督机器学习算法的例子。

强化机器学习算法

这些类型的机器学习算法很少使用。这些算法训练系统做出特定的决策。基本上,机器暴露在一个环境中,它使用反复试验的方法不断训练自己。这些算法从过去的经验中学习,并试图获取最好的知识来做出准确的决策。马尔可夫决策过程是强化机器学习算法的一个例子。

最常见的机器学习算法

在本节中,我们将了解最常见的机器学习算法。算法如下所述 −

线性回归

它是统计学和机器学习中最著名的算法之一。

基本概念 −线性回归主要是一种线性模型,它假设输入变量 x 和单个输出变量 y 之间存在线性关系。换句话说,我们可以说 y 可以通过输入变量 x 的线性组合计算出来。变量之间的关系可以通过拟合最佳线来建立。

线性回归的类型

线性回归有以下两种类型−

  • 简单线性回归 − 如果线性回归算法只有一个独立变量,则称为简单线性回归。

  • 多元线性回归 − 如果线性回归算法有多个独立变量,则称为多元线性回归。

线性回归主要用于根据连续变量估计实际值。例如,基于实际值,可以通过线性回归估计一家商店一天的总销售额。

逻辑回归

它是一种分类算法,也称为logit回归。

逻辑回归主要是一种分类算法,用于根据给定的一组独立变量估计离散值,如 0 或 1、真或假、是或否。基本上,它预测概率,因此其输出介于 0 和 1 之间。

决策树

决策树是一种监督学习算法,主要用于分类问题。

基本上,它是一种基于独立变量的递归分区分类器。决策树具有形成根树的节点。根树是一棵有向树,其节点称为"根"。根没有任何传入边,而所有其他节点都有一个传入边。这些节点称为叶节点或决策节点。例如,考虑以下决策树,以查看一个人是否健康。

决策树

支持向量机 (SVM)

它既用于分类问题,也用于回归问题。但主要用于分类问题。SVM 的主要概念是将每个数据项绘制为 n 维空间中的一个点,每个特征的值是特定坐标的值。这里 n 是我们将拥有的特征。以下是一个简单的图形表示,用于理解 SVM 的概念 −

支持向量机

在上图中,我们有两个特征,因此我们首先需要在二维空间中绘制这两个变量,其中每个点都有两个坐标,称为支持向量。该线将数据分成两个不同的分类组。这条线将是分类器。

朴素贝叶斯

它也是一种分类技术。这种分类技术背后的逻辑是使用贝叶斯定理来构建分类器。假设预测变量是独立的。简而言之,它假设类中某个特定特征的存在与任何其他特征的存在无关。以下是贝叶斯定理的方程式 −

$$P\left ( \frac{A}{B} ight ) = \frac{P\left ( \frac{B}{A} ight )P\left ( A ight )}{P\left ( B ight )}$$

朴素贝叶斯模型易于构建,尤其适用于大型数据集。

K-最近邻 (KNN)

它用于问题的分类和回归。它被广泛用于解决分类问题。该算法的主要概念是它用于存储所有可用案例,并根据其 k 个邻居的多数票对新案例进行分类。然后,该案例被分配到其 K 个最近邻居中最常见的类,由距离函数测量。距离函数可以是欧几里得距离、明可夫斯基距离和汉明距离。考虑以下使用 KNN −

  • 从计算上讲,KNN 比用于分类问题的其他算法成本高。

  • 需要对变量进行规范化,否则较高范围的变量可能会产生偏差。

  • 在 KNN 中,我们需要进行预处理阶段,例如消除噪音。

K-Means 聚类

顾名思义,它用于解决聚类问题。它基本上是一种无监督学习。K-Means 聚类算法的主要逻辑是通过多个聚类对数据集进行分类。按照以下步骤通过 K-means 形成聚类 −

  • K-means 为每个聚类选择 k 个点,称为质心。

  • 现在每个数据点都与最接近的质心形成一个聚类,即 k 个聚类。

  • 现在,它将根据现有的聚类成员找到每个聚类的质心。

  • 我们需要重复这些步骤,直到收敛。

随机森林

它是一种监督分类算法。随机森林算法的优点是它可以用于分类和回归类型的问题。基本上,它是决策树的集合(即森林),或者可以说是决策树的集合。随机森林的基本概念是每棵树都会给出一个分类,然后森林会从中选择最佳分类。以下是随机森林算法的优点 −

  • 随机森林分类器可用于分类和回归任务。

  • 它们可以处理缺失值。

  • 即使森林中的树木数量更多,也不会过度拟合模型。