判别式模型(discriminative model) 和生成式模型(generative model)的区别

生成式模型(Generative Model)与判别式模型(Discrimitive Model)是机器学习中基础概念,在NLP和机器学习中经常会遇到这两种显著不同的模型,在学习阶段(训练阶段)和评估阶段(测试阶段)都有不同的表现,它们的区别在于:

对于输入x,类别标签y:
生成式模型估计它们的联合概率分布P(x,y)
判别式模型估计条件概率分布P(y|x)


生成式模型可以根据贝叶斯公式得到判别式模型,但反过来不行。

Andrew Ng在NIPS2001年有一篇专门比较判别模型和产生式模型的文章:
On Discrimitive vs. Generative classifiers: A comparision of logistic regression and naive Bayes

(http://robotics.stanford.edu/~ang/papers/nips01-discriminativegenerative.pdf)

判别式模型(discriminative model) 和生成式模型(generative model)的区别

 

总结一下它们之间的区别:

1. 二者最本质的区别是建模对象不同

   假设有样本输入值(或者观察值)x,类别标签(或者输出值)y。

   判别式模型评估对象是最大化条件概率p(y|x)并直接对其建模,生成式模型评估对象是最大化联合概率p(x,y)并对其建模。

   其实两者的评估目标都是要得到最终的类别标签Y, 而Y=argmax p(y|x),不同的是判别式模型直接通过解在满足训练样本分布下的最优化问题得到模型参数,主要用到拉格朗日乘算法、梯度下降法,常见的判别式模型如最大熵模型、CRF、LR、SVM等;

   而生成式模型先经过贝叶斯转换成Y = argmax p(y|x) = argmax p(x|y)*p(y),然后分别学习p(y)和p(x|y)的概率分布,主要通过极大似然估计的方法学习参数,如NGram、HMM、Naive Bayes。

2. 判别式模型更加灵活

  主要体现在特征选择上,生成式模型一般需要将特征加入马尔可夫链,而判别式模型加入任意特征进行组合。

3. 判别式模型需要有指导训练,生成式模型可以无指导训练

  上文提到生成式模型主要通过极大似然估计进行参数学习,EM算法可以在状态值未知的情况下求得极大似然估计的局部最优解。

 

参考:

1. http://blog.csdn.net/amblue/article/details/17023485
2. http://blog.csdn.net/ruyueyini/article/details/53302882
3. http://bbs.sciencenet.cn/blog-484653-442300.html
4. http://www.leexiang.com/discriminative-model-and-generative-model
5. http://blog.163.com/huai_jing@126/blog/static/1718619832011227757554/
6. https://zhuanlan.zhihu.com/p/27472708
7. https://zhuanlan.zhihu.com/p/27297452

  • 9
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值