产生式模型(生成式模型)与判别式模型<转载>

转自http://dongzipnf.blog.sohu.com/189983746.html

产生式模型与判别式模型

产生式模型(Generative Model)与判别式模型(Discrimitive Model)是分类器常遇到的概念,它们的区别在于:

对于输入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)

-----------------------------------------------------------------------------------------------------------------------

判别式模型

该模型主要对p(y|x)建模,通过x来预测y。在建模的过程中不需要关注联合概率分布。只关心如何优化p(y|x)使得数据可分。通常,判别式模型在分类任务中的表现要好于生成式模型。但判别模型建模过程中通常为有监督的,而且难以被扩展成无监督的。

  常见的判别式模型有:

    Logistic regression

    Linear discriminant analysis

    Support vector machines

    Boosting

    Conditional random fields

    Linear regression

    Neural networks

生成式模型

该模型对观察序列的联合概率分布p(x,y)建模,在获取联合概率分布之后,可以通过贝叶斯公式得到条件概率分布。生成式模型所带的信息要比判别式模型更丰富。除此之外,生成式模型较为容易的实现增量学习。

    常见的生成式模型有:

      Gaussian mixture model and other types of mixture model

    Hidden Markov model

    Naive Bayes

    AODE

    Latent Dirichlet allocation

    Restricted Boltzmann Machine

    由上可知,判别模型与生成模型的最重要的不同是,训练时的目标不同,判别模型主要优化条件概率分布,使得x,y更加对应,在分类中就是更可分。而生成模型主要是优化训练数据的联合分布概率。而同时,生成模型可以通过贝叶斯得到判别模型,但判别模型无法得到生成模型。

原文地址:https://www.cnblogs.com/syx-1987/p/4077350.html