沃卡惠移动端logo

沃卡惠  行业资讯

资讯详情

生成与判别机器学习模型

2022-10-13 10:30:114636

一些机器学习模型属于“生成”或“判别”模型类别。然而,这两类模型之间有什么区别?模型具有判别性或生成性意味着什么?

简短的回答是,生成模型是那些包含数据集分布的模型,返回给定示例的概率。生成模型通常用于预测序列中接下来会发生什么。同时,判别模型用于分类或回归,它们返回基于条件概率的预测。让我们更详细地探讨生成模型和判别模型之间的区别,以便我们真正了解这两种模型的区别以及何时应该使用每种模型。

生成与判别机器学习模型

生成与判别模型

有多种方法可以对机器学习模型进行分类。模型可以分为不同的类别,例如:生成模型、判别模型、参数模型、非参数模型、基于树的模型、非基于树的模型。

本文将重点介绍生成模型和判别模型之间的区别。我们将从定义生成模型和判别模型开始,然后我们将探索每种模型的一些示例。

生成模型

生成模型是以数据集中类的分布为中心的模型。机器学习算法通常对数据点的分布进行建模。生成模型依赖于寻找联合概率。创建给定输入特征和所需输出/标签同时存在的点。

生成模型通常用于估计概率和可能性、建模数据点并根据这些概率区分类别。因为模型学习了数据集的概率分布,它可以参考这个概率分布来生成新的数据实例。生成模型通常依靠贝叶斯定理来找到联合概率,找到 p(x,y)。本质上,生成模型对数据的生成方式进行建模,回答以下问题:

“这个类或其他类生成这个数据点/实例的可能性有多大?”

生成机器学习模型的示例包括线性判别分析 (LDA)、隐马尔可夫模型和贝叶斯网络,如朴素贝叶斯。

判别模型

生成模型了解数据集的分布,而判别模型了解数据集中类之间的边界。对于判别模型,目标是识别类之间的决策边界,以将可靠的类标签应用于数据实例。判别模型通过使用条件概率来分离数据集中的类,而不是对单个数据点做出任何假设。

判别模型旨在回答以下问题:

“这个实例出现在决策边界的哪一边?”

机器学习中的判别模型示例包括支持向量机、逻辑回归、决策树和随机森林。

生成式和判别式之间的差异

以下是生成模型和判别模型之间主要区别的简要说明。

生成模型:

  • 生成模型旨在捕获数据集中类的实际分布。
  • 生成模型利用贝叶斯定理预测联合概率分布 – p(x,y)。
  • 与判别模型相比,生成模型的计算成本更高。
  • 生成模型对于无监督机器学习任务很有用。
  • 生成模型比判别模型更受异常值的影响。

判别模型:

  • 判别模型为数据集类的决策边界建模。
  • 判别模型学习条件概率——p(y|x)。
  • 与生成模型相比,判别模型的计算成本更低。
  • 判别模型对于有监督的机器学习任务很有用。
  • 与生成模型不同,判别模型具有对异常值更稳健的优势。
  • 与生成模型相比,判别模型对异常值更稳健。

我们现在将简要探讨一些生成和判别机器学习模型的不同示例。

生成模型示例

线性判别分析 (LDA)

LDA 模型通过估计数据集中每个类的数据的方差和均值来发挥作用。在计算了每个类的均值和方差之后,可以通过估计给定的一组输入属于给定类的概率来进行预测。

隐马尔可夫模型

马尔可夫链可以被认为是带有概率的图,这些概率表明我们从链中的一个点(一个“状态”)移动到另一个状态的可能性有多大。马尔可夫链用于确定从状态 j 移动到状态 i 的概率,可以表示为 p(i,j)。这只是上面提到的联合概率。隐马尔可夫模型是使用不可见、不可观察的马尔可夫链的地方。数据输入被提供给模型,当前状态和紧接在它之前的状态的概率用于计算最可能的结果。

贝叶斯网络

贝叶斯网络是一种概率图模型。它们表示变量之间的条件依赖关系,如有向无环图所示。在贝叶斯网络中,图的每条边代表一个条件依赖,每个节点对应一个唯一的变量。图中唯一关系的条件独立性可用于确定变量的联合分布并计算联合概率。换句话说,贝叶斯网络捕获特定联合概率分布中独立关系的子集。

一旦创建并正确定义了贝叶斯网络,在已知随机变量、条件关系和概率分布的情况下,它就可以用来估计事件或结果的概率。

最常用的贝叶斯网络类型之一是朴素贝叶斯模型。朴素贝叶斯模型通过将所有特征视为彼此独立来处理计算具有许多参数/变量的数据集的概率的挑战。

判别模型的例子

支持向量机

支持向量机通过在数据点之间绘制决策边界来操作,找到最能区分数据集中不同类别的决策边界。SVM 算法分别为 2 维空间和 3D 空间绘制分隔点的线或超平面。SVM 试图通过最大化边距或线/超平面到最近点之间的距离来找到最能区分类的线/超平面。通过使用“内核技巧”来识别非线性决策边界,SVM 模型也可以用于线性不可分的数据集。

逻辑回归

逻辑回归是一种算法,它使用 logit(log-odds)函数来确定输入处于两种状态之一的概率。sigmoid 函数用于将概率“挤压”到 0 或 1、真或假。大于 0.50 的概率被假定为 1 类,而 0.49 或更低的概率被假定为 0。因此,逻辑回归通常用于二元分类问题。然而,逻辑回归可以通过使用一对多的方法应用于多类问题,为每个类创建一个二元分类模型,并确定一个示例是数据集中的目标类或另一个类的概率。

决策树

决策树模型通过将数据集拆分为越来越小的部分来发挥作用,一旦子集无法进一步拆分,结果就是具有节点和叶子的树。决策树中的节点是使用不同过滤标准做出关于数据点的决策的地方。决策树中的叶子是已分类的数据点。决策树算法可以处理数字和分类数据,树中的拆分基于特定的变量/特征。

随机森林

随机森林模型基本上只是决策树的集合,其中对单个树的预测进行平均以得出最终决策。随机森林算法随机选择观察值和特征,并根据这些选择构建单个树。

本教程文章将探讨如何在 Matplotlib 中创建箱线图。箱线图用于可视化数据集的汇总统计数据,显示分布的属性,如数据的范围和分布。