近来看到贝叶斯分类器,其中有一个知识点提及产生式模型和判别式模型,查阅了一番资料终于理解透彻了,特此记录。

产生式模型和判别式模型区分

二者是分类器中常遇到的概念,产生式模型估计它们的联合概率分布P(x,y),判别式模型估计条件概率分布P(y|x)。

判别式模型常见的主要有:
Logistic Regression

SVM

Traditional Neural Networks

Nearest Neighbor

CRF

Linear Discriminant Analysis

Boosting

Linear Regression

产生式模型常见的主要有:

Gaussians

Naive Bayes

Mixtures of Multinomials

Mixtures of Gaussians

Mixtures of Experts

HMMs

Sigmoidal Belief Networks, Bayesian Networks

Markov Random Fields

Latent Dirichlet Allocation

以上就是从理念上对二者进行划分,但对于不少读者而言应该还是像我一样摸不着头脑,因此我们用一个通俗的例子来进一步讲解二者。

二者的区别主要就是由于一个是联合概率分布P(x,y),另一个估计条件概率分布P(y|x),而产生式模型能够根据贝叶斯公式得到判别式模型也是根据公式而来。

联合概率分布,则是特征值对应某标签的概率,现在要判断一个特征值对应的标签,根据联合概率,只能算出其对应各标签的概率值,而只有通过比较全部的值才能知道属于哪个标签;而条件概率分布则是输入特征直接出来对应的标签值。

判别式模型,就是只有一个模型,你把测试用例往里面一丢,label就出来了,如SVM。生成式模型,有多个模型(一般有多少类就有多少个),你得把测试用例分别丢到各个模型里面,最后比较其结果,选择最优的作为label。

接下来再看实例
判别式模型举例:要确定一个羊是山羊还是绵羊,用判别模型的方法是从历史数据中学习到模型(!!学习到一个羊分类模型,输入羊特征能够划分各种羊),然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。

理解不了为什么会直接输出一个对应的类别值,可以看决策树实例,输入特征值就会返回一个唯一的分类结果。

生成式模型举例:利用生成模型是根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型(与判别式不同的是会生成多个羊类分类器),然后从这只羊中提取特征,放到山羊模型中看概率是多少,在放到绵羊模型中看概率是多少,哪个大就是哪个。

细细品味上面的例子,判别式模型是根据一只羊的特征可以直接给出这只羊的概率(比如logistic regression,这概率大于0.5时则为正例,否则为反例),而生成式模型是要都试一试,最大的概率的那个就是最后结果~

二者的优缺点对比

  1. 一般来说, 生成式模型都会对数据的分布做一定的假设, 比如朴素贝叶斯会假设在给定的情况下各个特征之间是条件独立的:, GDA会假设

. 当数据满足这些假设时, 生成式模型通常需要较少的数据就能取得不错的效果, 但是当这些假设不成立时, 判别式模型会得到更好的效果.

  1. 生成式模型最终得到的错误率会比判别式模型高, 但是其需要更少的训练样本就可以使错误率收敛[限于Genarative-Discriminative Pair, 详见[2]].

  2. 生成式模型更容易拟合, 比如在朴素贝叶斯中只需要计下数就可以, 而判别式模型通常都需要解决凸优化问题.

  3. 当添加新的类别时, 生成式模型不需要全部重新训练, 只需要计算新的类别和的联合分布即可, 而判别式模型则需要全部重新训练.

  4. 生成式模型可以更好地利用无标签数据(比如DBN), 而判别式模型不可以.

  5. 生成式模型可以生成, 因为判别式模型是对进行建模, 这点在DBN的CD算法中中也有体现, 而判别式模型不可以生成.

  6. 判别式模型可以对输入数据进行预处理, 使用来代替, 如下图所示, 而生成式模型不是很方便进行替换.

产生式模型和判别式模型区分相关推荐

  1. NLP --- 产生式模型VS判别式模型

    上一节我们介绍了概率图模型,这将在隐马尔可夫和条件随机场使用到,还会使用到的另外一个概念就是产生式模型和判别式模型,那么什么是产生式模型,什么是判别式模型呢?下面我们详细介绍这两种模型的区别. 他们的 ...

  2. 生成式模型 vs 判别式模型

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 生成式模型和判别式模型的概念是机器学习领域非常重要的基础知识,但能准确区分开二者并不是 ...

  3. 生成式模型、判别式模型的区别?

    生成式模型.判别式模型的区别? ​ 对于机器学习模型,我们可以根据模型对数据的建模方式将模型分为两大类,生成式模型和判别式模型.如果我们要训练一个关于猫狗分类的模型, 对于判别式模型,只需要学习二者差 ...

  4. 生成式模型与判别式模型

    生成式模型与判别式模型的区别 生成式模型(Generative Model)与判别式模型(Discriminative Model)是分类器常遇到的问题 对于判别式模型来说求得P(Y|X),对未见示例 ...

  5. 【机器学习】生成式模型和判别式模型

    在机器学习中,对于有监督学习可以将其分为两类模型:判别式模型和生成式模型.判别式模型是针对条件分布建模,而生成式模型则针对联合分布进行建模. 1.抛砖引玉 假设有训练数据(X,Y),X是属性集合,Y是 ...

  6. 机器学习 之 生成式模型 VS 判别式模型

    [摘要] 判别式模型,就是只有一个模型,你把测试用例往里面一丢,label就出来了,如SVM.生成式模型,有多个模型(一般有多少类就有多少个),你得把测试用例分别丢到各个模型里面,最后比较其结果,选择 ...

  7. 机器学习:生成式模型和判别式模型

    决策函数Y=f(X)与条件概率分布P(Y|X) 决策函数Y=f(x):输入一个x,它就输出一个y值,这个y与一个阈值比较,根据比较结果判定x属于哪个类别. 条件概率分布P(y|x):输入一个x,它通过 ...

  8. 机器学习中的生成式模型VS判别式模型,分类,特点

    机器学习中的生成式模型VS判别式模型,分类,特点 提示: 本文将从生成式模型与判别式模型的概念, 适用环境 具体模型 三个方面分析比较这两个模型, 并在最后对列出模型范例,进行范例比较. 基础知识: ...

  9. 生成式模型和判别式模型(通俗易懂)

    原文链接:https://blog.csdn.net/qq_14997473/article/details/85219353 决策函数Y=f(X)与条件概率分布P(Y|X) 决策函数Y=f(x):输 ...

最新文章

  1. System V IPC
  2. MAC通过SSH使用PEM文件登录
  3. php copy 图片_PHP-imagecopy黑色背景
  4. 什么是mysql事物定义_Mysql事务原理
  5. 数据库:学好SQL必须知道的10个高级概念
  6. MyBatis-Plus_通用service
  7. 微软的自动更新问题,导致svchost.exe占用cpu超过50%
  8. python 读取jpg文件是yuv_Python读取YUV文件,并显示的方法
  9. django mysql 初始化_Django初始化基础(1)
  10. CentOS查看系统信息命令和方法
  11. Java实现冒泡排序及逆序冒泡排序
  12. 编程基本功:如果可能,不用if,尽量使用switch
  13. 安装双系统(ubantu和window10)失败后,如何找回数据及格式化被加密的U盘
  14. 免费的IT类技术书籍大全
  15. 好家伙?阿里网盘的分享功能已经出来了?
  16. 跨平台为何选择Flutter?
  17. 央行开通个人信用报告在线查询服务
  18. SDN相关组织之ODL(opendaylight)
  19. Python requirement的使用
  20. pdf2htmlEX命令行参数大全

热门文章

  1. 联想V310重装win10系统(待完善)
  2. c语言2164错误,美能达C203253353复印机常见错误故障代码介绍
  3. CentOS7部署安装CloudStack4.11.0成功添加第一个主机
  4. uniapp 微信小程序 多人语音
  5. Java过滤器链原理解析
  6. 终端安全-设备指纹篇
  7. EduCoder-Linux 与 Python编程2021-Python面向对象编程实训-第1关:按揭贷款——定义抽象类
  8. 正则验证手机号、护照等
  9. 支付宝 印刷文字识别_身份证识别
  10. CAD3:显示相关工具选项板组