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

他们的来源还是机器学习,在机器学习中,我们知道是分类问题,器分类就是等价于输入,求输出的概率即,由此可知分类问题其实就是一个求条件概率的问题,因此这里就牵扯到如何求解条件概率的问题,根据求解这个条件概率的不同方式进行分为生成式模型和判别式模型,下面我们分别看看生成式模型和判别式模型是如何求解这个条件概率的。

这里先简单的用书面语解释什么是生成式模型,什么是判别式模型,其实很简单的,生成式模型就是根据条件概率公式进行求解,如下:

                                                                        

即如果要求条件概率我就需要求AB的联合概率分布,而求出后对其求边缘密度即可求出,因此只要求出联合概率密度就可以求出条件概率了,而判别式模型不是通过求解联合概率密度,而是通过其他方法直接估算出条件概率的模型称为判别式模型。其实他们的区别就是这样,很简单,这里大家感觉那个好用呢?其实没什么对比的,看场合使用,有时候我们很难求联合概率密度,因为一旦变量变大,计算量指数级增长,因此就出现了判别式模型,这里分别对其举一个例子,供大家理解,至于为什么要介绍这个知识点,稍后解释。

生成式模型:     

朴素贝叶斯

朴素贝叶斯是典型的生成式模型,这里不懂朴素贝叶斯的建议看我的这篇文章,下面使用朴素贝叶斯对垃圾邮件分类的例子进行说明生成式模型的求解过程。

这里简要介绍一下,使用x代表邮件的文本,主要由多个特征组成,特征可能包含风险连接、敏感字句如“代考”,‘伟哥’等、还包括广告等等这样的特征,y是判断是否为垃圾邮件,如果是垃圾邮件用T表示,反之用F表示,邮件分类可表示如下:

                                           

                                            

上面两式分别表示邮件为垃圾邮件和非垃圾邮件的概率,大家会不会疑惑分母是文本文件的概率,怎么求的呢?其实在这里不用求,把相除即可抵消,即:

                                            

这样就就巧妙的消去了难求的,此时只要比较比值的大小就可以确定分类了,如果比值大于1就把邮件分为垃圾邮件反之为正常邮件,但是这里需要注意的是即使没有了式还是很难求,因为联合概率密度很难求(不是没显示是代表T或者F的意思),他表示什么意思呢?在不同特征的垃圾或者非垃圾邮件的概率,这个很难求,如果一个文本有1000个特征计算量还是很大的,因此计算联合概率密度还是很困难的,那么通过什么解决呢?还是通过条件概率,按照下式把右端的分子分母展开如下:

将 式按照上式展开的到:

上式的展开是根据朴素贝叶斯展开的,不懂的请查看我上面的链接,这个转换就很容易了求了,首先表示是垃圾邮件或者不是垃圾邮件的情况下,出现某个特征的概率,而表示是垃圾邮件或者不是垃圾邮件的概率。这还是很容易求的。上面的根据朴素贝叶斯把特征展开后怎么计算呢?即如何求?很简单,如下:

这不是又绕回来了吗?这里大家需要看清楚是求所有特征的联合概率密度,这里是求一个特征的联合概率密度,这样还是很简单的,这里大家需要深入理解,别晕了。但是呢如果某个特征不存在那他的联合概率密度不就等于0了吗,相乘结果就是0啊,怎么办呢?这里采用拉普拉斯平滑化,这里引用吴恩达的论文里的公式,这篇论文是《On Discriminative VS.Generative
classifiers: Acomparison Of logistic regression and naive Bayes》如下:

上面的符号和我们不同,原理都是一样的,这里的s是计数的意思就是通过出现这个特征的次数比上出现总特征的次数去逼近所求的条件概率,上式加就是防止特征不存在时为0的情况,这里大家需要知道,好,到这里一般就可以分类了,这了我们是按照进行比较的,即是否大于1,但是在我们的分类中更习惯和0比较,因此就出了吴恩达下面的式子:

取log就变成和0比较了,很聪明的做法,好通过上面的推倒我们知道了,最后我们是通求联合概率密度求得最后的分类。因此这样的分类模型为生成式模型,下面我们看看判别式模型。

判别式模型

上面说了判别式模型求条件概率,他不是按照联合概率密度进行求解而是通过概率统计求解或者其他的方法进行求解,这里使用logistics回归进行说明判别式模型是如何求解的。

logistics回归

logistics回归的原理这里不再细讲了,不懂的建议参考我的这篇文章,这里直接使用了:

我们上面的分类问题可以写成如下:

这里我利用最小二乘法或者利用最大释然法求出权值,求出后就可以直接使用了,期间没有求联合概率密度,因此这样的求解方式为判别式模型。

总结

上面就是产生式模型和判别式模型了,这里大家会不会有疑问,这两个哪个好呢?吴恩达的论文给出了详细的解释了,这里直接拿过来总结一下:

一般认为判别式模型更受喜爱,“人们应该更直接去解决问题,永进不要把求解更复杂的问题作为中间阶段”(Vapnik),吴恩达的论文作了较全面的分析,产生式模型(朴素贝叶斯)在少量样本的情况下,可以取得更好的精确率,判别式模型(logistics
回归)在样本增加的情况下,逐渐逼近前者的精确率 。下面我把那篇的论文的数据拿过来大家看看:

这里就拿过来一部分,更多的请查看原始论文,上图实线是生成式模型,虚线为判别式模型。

下面我们简单的介绍一下为什么要讲这些内容,以后会用到哪里?

我们后面讲的隐马尔可夫(HMM)其实就是序列化的朴素贝叶斯,什么是序列化呢?在我们语音识别和词性标注中,我们是一个一个识别的,我们可以通过朴素贝叶斯去判断该语音或者词属于什么符号或者说属于什么分类,而且是源源不断的进行判断,这就是序列化的朴素贝叶斯了,而朴素贝叶斯分类就是生成式模型的分类器,即HMMs是生成式分类器,所以计算量很复杂,因此为了改进一下,我们在条件上进行一些假设或者条件放宽,使他变成判别式模型即条件随机场,这样处理会更好一点,这就是他们的关系,大家可能会晕,不用担心等我们到了那一步后还会详细对比一下,这里给大家提一下,就是希望大家心里有点逻辑,这样学起来会更好即从总体把握他们的关系,好了,本节就到这里,下一节就是隐马尔可夫,这里需要强调的是,不懂什么是马尔科夫的建议先学学什么是马尔科夫过程,什么是马尔科夫链,可以参考我的这篇文章,好,本节结束,下一节隐马尔可夫HMMs。

NLP --- 产生式模型VS判别式模型相关推荐

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

    近来看到贝叶斯分类器,其中有一个知识点提及产生式模型和判别式模型,查阅了一番资料终于理解透彻了,特此记录. 产生式模型和判别式模型区分 二者是分类器中常遇到的概念,产生式模型估计它们的联合概率分布P( ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 机器学习小问题 -- 生成式模型与判别式模型

    本篇博文总结最近学习到的生成式模型与判别式模型的知识. 1. 简介 就像之前在总结分类和聚类时说的一样,机器学习基本在做的事情就是在分类.打标签,我们的模型也就像一个个分类机器(个人看法,欢迎指正). ...

最新文章

  1. GNSS NMEA ddmm.mmmmm格式转换
  2. 用python画玫瑰花代码-用python画一朵玫瑰给你
  3. 三星T5 SSD制作ubuntu18.04随身携带即插即用与win10共享文件真爽~(简单粗暴安装大法一步到位)
  4. 心灵战争服务器维护,心灵战争服务器异常产生哪些问题如何解决_心灵战争服务器异常产生问题及解决方法_玩游戏网...
  5. hdu2133: What day is it
  6. 使用深度学习框架 Tensorflow 实现线性回归 (Linear Model)
  7. 用poi-3.6-20091214.jar 实现java给excel资料加密
  8. 对称加密、非对称加密、RSA、消息摘要、数字签名、数字证书与 HTTPS 简介
  9. [黑金原创教程][连载][iBoard 电子学堂][第八卷 设计任意波发生器]第三篇 直接数字合成(DDS)原理...
  10. 常用的C语言函数介绍
  11. python3制作歌词解析器
  12. myd导入mysql_数据库是.frm,.myd,myi备份如何导入mysql
  13. OSChina 周一乱弹 —— 今天下班带你去放松咧
  14. 双11之战:被激化的酒类电商出击,看1919新打法
  15. C# 添加PDF页眉/页脚
  16. 牧神记之后,宅猪新书《临渊行》首日八万排第二,不敌《庆余年》
  17. 操作系统中 完成时间,周转时间,带权周转时间和到达时间,服务时间是什么关系,怎么算
  18. 0930-值得纪念的一天,永远不要心存侥幸
  19. 关于校外访问西安电子科技大学校内图书馆资源和教务系统等的方法总结
  20. 农民伯伯2009年夜总结

热门文章

  1. java NIO 复习
  2. Oracle数据库外部的身份认证方法
  3. Q106:Mac系统下安装编译PBRT-V3
  4. error: undefined reference to `PathTrace::PathTrace(World*)' (Codeblocks, C++)
  5. TypeScript算法专题 - blog4 - 单链表节点的两-两翻转(两两一组逆序)
  6. u盘锁电脑_如何给u盘设置密码 给u盘设置密码方法【步骤详解】
  7. mysql轻量在线管理工具_重磅推荐!我在Github找到一个超级轻量、灵活的SQL工具...
  8. 快读快写:读入输出优化
  9. 用户增长 - BG/NBD概率模型预测用户生命周期LTV(二)
  10. R语言︱文本挖掘套餐包之——XML+SnowballC+tm包