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

原文出处:http://blog.csdn.net/amblue/article/details/17023485

   在NLP和机器学习中经常会遇到这两种显著不同的模型,在学习阶段(训练阶段)和评估阶段(测试阶段)都有不同的表现

总结一下它们之间的区别,欢迎补充:

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算法可以在状态值未知的情况下求得极大似然估计的局部最优解

posted @ 2014-07-22 10:15  佳儿mickey  阅读(548)  评论(0编辑  收藏  举报