0

0

生成式模型与辨别式模型

WBOY

WBOY

发布时间:2023-05-19 21:31:04

|

1458人浏览过

|

来源于51CTO.COM

转载

分类模型可以分为两大类:生成式模型与辨别式模型。本文解释了这两种模型类型之间的区别,并讨论了每种方法的优缺点。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

生成式模型与辨别式模型

辨别式模型

辨别式模型是一种能够学习输入数据和输出标签之间关系的模型,它通过学习输入数据的特征来预测输出标签。在分类问题中,我们的目标是将每个输入向量x分配给标签y。判别模型试图直接学习将输入向量映射到标签的函数f(x)。这些模型可以进一步分为两个子类型:

分类器试图找到f(x)而不使用任何概率分布。这些分类器直接为每个样本输出一个标签,而不提供类的概率估计。这些分类器通常称为确定性分类器或无分布分类器。此类分类器的例子包括k近邻、决策树和SVM。

分类器首先从训练数据中学习后验类概率P(y = k|x),并根据这些概率将一个新样本x分配给其中一个类(通常是后验概率最高的类)。

这些分类器通常被称为概率分类器。这种分类器的例子包括逻辑回归和在输出层中使用sigmoid或softmax函数的神经网络。

在所有条件相同的情况下,我一般都使用概率分类器而不是确定性分类器,因为这个分类器提供了关于将样本分配给特定类的置信度的额外信息。

一般的判别式模型包括:

  • 逻辑回归(Logistic Regression,LR)
  • 支持向量机(Support Vector Machine,SVM)
  • 决策树(Decision Tree,DT)

生成式模型

生成式模型在估计类概率之前学习输入的分布。生成式模型是一种能够学习数据生成过程的模型,它可以学习输入数据的概率分布,并生成新的数据样本。

更具体地说生成模型首先从训练数据中估计类别的条件密度P(x|y = k)和先验类别概率P(y = k)。他们试图了解每个分类的数据是如何生成的。

然后利用贝叶斯定理估计后验类概率:

生成式模型与辨别式模型

贝叶斯规则的分母可以用分子中出现的变量来表示:

生成式模型与辨别式模型

生成式模型也可以先学习输入和标签P(x, y)的联合分布,然后将其归一化以得到后验概率P(y = k|x)。一旦我们有了后验概率,我们就可以用它们将一个新的样本x分配给其中一个类(通常是后验概率最高的类)。

例如,考虑一个图像分类任务中,我们需要区分图像狗(y = 1)和猫(y = 0)。生成模型首先会建立一个狗 P(x|y = 1) 的模型,以及猫 P(x|y = 0) 的模型。然后在对新图像进行分类时,它会将其与两个模型进行匹配,以查看新图像看起来更像狗还是更像猫。

为生成模型允许我们从学习的输入分布P(x|y)中生成新的样本。所以我们将其称之为生成式模型。最简单的例子是,对于上面的模型我们可以通过从P(x|y = 1)中采样来生成新的狗的图像。

一般的生成模型包括

ModelGate
ModelGate

一站式AI模型管理与调用工具

下载
  • 朴素贝叶斯(Naïve Bayes)
  • 高斯混合模型(GMMs)
  • 隐马尔可夫模型(hmm)
  • 线性判别分析 (LDA)

深度生成模型(DGMs)结合了生成模型和深度神经网络:

  • 自编码器(Autoencoder,AE)
  • 生成式对抗网络(Generative Adversarial Network,GAN)
  • 自回归模型,例如GPT(Generative Pre-trained Transformer)是一种包含数十亿参数的自回归语言模型。

区别和优缺点

生成式模型和辨别式模型的主要区别在于它们学习的目标不同。生成式模型学习输入数据的分布,可以生成新的数据样本。辨别式模型学习输入数据和输出标签之间的关系,可以预测新的标签。

生成式模型:

生成模型给了我们更多的信息,因为它们同时学习输入分布和类概率。可以从学习的输入分布中生成新的样本。并且可以处理缺失的数据,因为它们可以在不使用缺失值的情况下估计输入分布。但是大多数判别模型要求所有的特征都存在。

训练复杂度高,因为生成式模型要建立输入数据和输出数据之间的联合分布,需要大量的计算和存储资源。对数据分布的假设比较强,因为生成式模型要建立输入数据和输出数据之间的联合分布,需要对数据的分布进行假设和建模,因此对于复杂的数据分布,生成式模型在小规模的计算资源上并不适用。

生成模型可以处理多模态数据,因为生成式模型可以建立输入数据和输出数据之间的多元联合分布,从而能够处理多模态数据。

辨别式模型:

如果不对数据做一些假设,生成式模型学习输入分布P(x|y)在计算上是困难的,例如,如果x由m个二进制特征组成,为了对P(x|y)建模,我们需要从每个类的数据中估计2个ᵐ参数(这些参数表示m个特征的2个ᵐ组合中的每一个的条件概率)。而Naïve Bayes等模型对特征进行条件独立性假设,以减少需要学习的参数数量,因此训练复杂度低。但是这样的假设通常会导致生成模型比判别模型表现得更差。

对于复杂的数据分布和高维数据具有很好的表现,因为辨别式模型可以灵活地对输入数据和输出数据之间的映射关系进行建模。

辨别式模型对噪声数据和缺失数据敏感,因为模型只考虑输入数据和输出数据之间的映射关系,不利用输入数据中的信息填补缺失值和去除噪声。

总结

生成式模型和辨别式模型都是机器学习中重要的模型类型,它们各自具有优点和适用场景。在实际应用中,需要根据具体任务的需求选择合适的模型,并结合混合模型和其他技术手段来提高模型的性能和效果。


相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号