Generative model 和 Discriminative model的区别

来源:互联网 发布:番茄表单怎么导出数据 编辑:程序博客网 时间:2024/06/05 09:35

Let's say you have input data x and you want to classify the data into labels y. A generative model learns the joint probability distribution p(x,y) and a discriminative model learns the conditional probability distribution p(y|x) -which you should read as 'the probability of y given x'.

Here's a really simple example. Suppose you have the following data in the form (x,y):

       (1,0), (1,0), (2,0), (2, 1)

p(x,y) is

             y=0   y=1

            -----------

       x=1 | 1/2   0

       x=2 | 1/4   1/4

p(y|x) is

             y=0   y=1

            -----------

       x=1 | 1     0

       x=2 | 1/2   1/2

If you take a few minutes to stare at those two matrices, you will understand the difference between the two probability distributions.

The distribution p(y|x) is the natural distribution for classifying a given example x into a class y, which is why algorithms that model this directly are called discriminative algorithms.Generative algorithms model p(x,y), which can be tranformed into p(y|x) by applying Bayes rule and then used for classification. However, the distribution p(x,y) can also be used for other purposes. For example you could use p(x,y)to generate likely (x,y) pairs.

From the description above you might bethinking that generative models are more generally useful and therefore better,but it's not as simple as that. This paper is a very popular reference on the subject of discriminative vs. generative classifiers, but it's pretty heavy going. The overall gist is that discriminative models generally outperform generative models in classification tasks.


另一个解释,摘录如下:

  • 判别模型Discriminative Model,又可以称为条件模型,或条件概率模型。估计的是条件概率分布(conditional distribution), p(class|context)。
  • 生成模型Generative Model,又叫产生式模型。估计的是联合概率分布(joint probability distribution),p(class, context)=p(class|context)*p(context)。
总的说:
就是Discriminative Model讲的是,x是否属于y,这是一个判别。
Generative Model,生成x,y的概率。


原创粉丝点击