- Python人工智能教程
- 首页
- Python人工智能 - 基础概念
- Python人工智能 - 快速入门
- Python人工智能 - 机器学习
- Python人工智能 - 数据准备
- 监督学习:分类
- 监督学习:回归
- Python人工智能 - 逻辑编程
- 无监督学习:聚类
- 自然语言处理
- Python人工智能 - NLTK包
- 时间序列数据分析
- Python人工智能 - 语音识别
- Python人工智能 - 启发式搜索
- Python人工智能 - 游戏
- Python人工智能 - 神经网络
- 强化学习
- Python人工智能 - 遗传算法
- Python人工智能 - 计算机视觉
- Python人工智能 - 深度学习
- Python人工智能资源
- Python人工智能 - 快速指南
- Python人工智能 - 有用资源
- Python人工智能 - 讨论
Python人工智能 - 机器学习
学习是指通过学习或经验获得知识或技能。基于此,我们可以将机器学习 (ML) 定义如下:
它可以定义为计算机科学领域,更具体地说,是人工智能的一个应用,它使计算机系统能够通过数据学习并从经验中改进,而无需显式编程。
基本上,机器学习的主要重点是让计算机在没有人为干预的情况下自动学习。现在的问题是,这种学习如何开始和进行?它可以从数据的观察开始。数据可以是一些例子、指令或一些直接的经验。然后,根据这个输入,机器通过寻找数据中的某些模式来做出更好的决策。
机器学习 (ML) 的类型
机器学习算法帮助计算机系统学习,而无需显式编程。这些算法分为监督学习或无监督学习。让我们现在看看一些算法:
监督机器学习算法
这是最常用的机器学习算法。它被称为监督学习,因为算法从训练数据集学习的过程可以被认为是老师在监督学习过程。在这种ML算法中,可能的结果已经知道,并且训练数据也用正确的答案标记。它可以理解为:
假设我们有输入变量x和输出变量y,并且我们应用算法来学习从输入到输出的映射函数,例如:
Y = f(x)
现在,主要目标是很好地逼近映射函数,以便当我们有新的输入数据 (x) 时,我们可以预测该数据的输出变量 (Y)。
主要监督学习问题可以分为以下两种问题:
分类 - 当我们有分类输出时,例如“黑色”、“教学”、“非教学”等,问题被称为分类问题。
回归 - 当我们有实数值输出时,例如“距离”、“公斤”等,问题被称为回归问题。
决策树、随机森林、knn、逻辑回归是监督机器学习算法的例子。
无监督机器学习算法
顾名思义,这些类型的机器学习算法没有任何监督者提供任何指导。这就是为什么无监督机器学习算法与一些人所说的真正人工智能密切相关。它可以理解为:
假设我们有输入变量 x,那么与监督学习算法一样,将没有相应的输出变量。
简单来说,我们可以说在无监督学习中,将没有正确的答案,也没有老师来指导。算法有助于发现数据中有趣的模式。
无监督学习问题可以分为以下两种问题:
聚类 - 在聚类问题中,我们需要发现数据中固有的分组。例如,按客户的购买行为对客户进行分组。
关联 - 一个问题被称为关联问题,因为这种问题需要发现描述我们大部分数据的规则。例如,找到同时购买x和y的客户。
用于聚类的K均值、用于关联的Apriori算法是无监督机器学习算法的例子。
强化机器学习算法
这些类型的机器学习算法使用较少。这些算法训练系统做出特定决策。基本上,机器被暴露在一个环境中,它使用反复试验的方法不断地训练自己。这些算法从过去的经验中学习,并试图捕捉最佳知识以做出准确的决策。马尔可夫决策过程是强化机器学习算法的一个例子。
最常见的机器学习算法
在本节中,我们将学习最常见的机器学习算法。算法描述如下:
线性回归
它是统计学和机器学习中最著名的算法之一。
基本概念 - 线性回归主要是一种线性模型,它假设输入变量(例如 x)和单个输出变量(例如 y)之间存在线性关系。换句话说,我们可以说 y 可以从输入变量 x 的线性组合计算出来。变量之间的关系可以通过拟合最佳线来建立。
线性回归的类型
线性回归有以下两种类型:
简单线性回归 - 如果线性回归算法只有一个自变量,则称为简单线性回归。
多元线性回归 - 如果线性回归算法有多个自变量,则称为多元线性回归。
线性回归主要用于根据连续变量估计实数值。例如,可以使用线性回归根据实数值估计商店一天的总销售额。
逻辑回归
它是一种分类算法,也称为logit回归。
逻辑回归主要是一种分类算法,用于根据给定的自变量集估计离散值,如 0 或 1、真或假、是或否。基本上,它预测概率,因此其输出介于 0 和 1 之间。
决策树
决策树是一种监督学习算法,主要用于分类问题。
基本上,它是一个分类器,表示为基于自变量的递归分区。决策树具有构成有根树的节点。有根树是一个有向树,其中一个节点称为“根”。根没有任何传入边,所有其他节点都有一个传入边。这些节点称为叶节点或决策节点。例如,考虑以下决策树来查看一个人是否健康。
支持向量机 (SVM)
它用于分类和回归问题。但主要用于分类问题。SVM 的主要概念是将每个数据项绘制为 n 维空间中的一个点,其中每个特征的值是特定坐标的值。这里 n 将是我们拥有的特征。下面是一个简单的图形表示,用于理解 SVM 的概念:
在上图中,我们有两个特征,因此我们首先需要将这两个变量绘制在二维空间中,其中每个点都有两个坐标,称为支持向量。这条线将数据分成两个不同的分类组。这条线将是分类器。
朴素贝叶斯
它也是一种分类技术。这种分类技术的逻辑是使用贝叶斯定理来构建分类器。假设预测器是独立的。简单来说,它假设类中特定特征的存在与任何其他特征的存在无关。以下是贝叶斯定理的方程式:
$$P\left ( \frac{A}{B} \right ) = \frac{P\left ( \frac{B}{A} \right )P\left ( A \right )}{P\left ( B \right )}$$
朴素贝叶斯模型易于构建,尤其适用于大型数据集。
K 近邻 (KNN)
它用于问题的分类和回归。它广泛用于解决分类问题。该算法的主要概念是它用于存储所有可用案例,并通过其 k 个邻居的多数投票对新案例进行分类。然后将案例分配给在其 K 个最近邻居中最常见的类别,通过距离函数测量。距离函数可以是欧几里德距离、明科夫斯基距离和汉明距离。考虑使用 KNN:
在计算上,KNN 比用于分类问题的其他算法更昂贵。
如果不进行变量归一化,则较高范围的变量可能会对其产生偏差。
在 KNN 中,我们需要处理像噪声去除这样的预处理阶段。
K 均值聚类
顾名思义,它用于解决聚类问题。它基本上是一种无监督学习。K 均值聚类算法的主要逻辑是通过多个聚类对数据集进行分类。按照以下步骤通过 K 均值形成聚类:
K 均值选择每个聚类的 k 个点,称为质心。
现在每个数据点都与最接近的质心形成一个聚类,即 k 个聚类。
现在,它将根据现有的聚类成员找到每个聚类的质心。
我们需要重复这些步骤直到收敛。
随机森林
它是一种监督分类算法。随机森林算法的优点是它可以用于分类和回归问题。基本上,它是决策树的集合(即森林),或者可以说,是决策树的集成。随机森林的基本概念是每棵树都给出一个分类,而森林则从其中选择最佳分类。以下是随机森林算法的优点:
随机森林分类器可用于分类和回归任务。
它们可以处理缺失值。
即使森林中树木的数量更多,它也不会过度拟合模型。