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

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

https://blog.csdn.net/danieljianfeng/article/details/41896323

在看论文和机器学习教材的时候,经常会看到生成模型和判别模型,一致对着两个模型概念很模糊,在这里自己做一个小结。

 

在后面介绍这个两个模型时,我们以分类问题为例,以加深理解。我们都知道,分类问题可以分为两个阶段:推理阶段(inference stage)和决策阶段(decision stage)。

推理阶段:利用训练数据学习得到一个可以计算 的模型。

决策阶段:利用在推理阶段得到的后验概率预测数据的类别。

 

当然不是所有的分类模型都分为这两个阶段,比如判别函数(discriminative function),它会把两个阶段何在一起,直接学习从输入数据x到类别的映射。

1.  例子

我们先来看一个例子,从宏观上了解生成模型和判别模型的区别。

我们的任务是判断一个动物是大象(y=1)还是小狗(y=0)。判别模型是先从训练数据中学习得到判别大象和小狗的决策面(decision boundary),有了这个决策面之后,如果需要分类一个新动物是大象还是小狗,只需要判断它在决策面的哪一边。

另一种方法是生成模型,我们首先观察大象,根据其特征学习一个大象的模型,同样的我们学习得到一个小狗的模型。当我们判别一个新动物时,分别和大象模型和小狗模型比较,哪个动物更像就认为新动物为那个类。

2.   生成模型 

生成模型中,我们首先需要得到每一个类的条件概率(class-conditional density) ,以及先验概率(prior class probability) ,然后通过贝叶斯定理得到

我们都知道,贝叶斯定理中的分母可以表示成 ,这在每个类别的后验概率中都是一样的,所以我们可以之间计算联合分布,在通过normalize得到后验概率。到目前为止,我们已经得到了后验概率,有了它我们就可是决策理论来决定输入的x属于那个类。比如,输入x,我们计算x关于每一类的后验概率,哪个后验概率最大,就把x归为那个类。


3.  判别模型

判别模型直接学习后验概率 ,然后利用决策理论判断输入数据属于哪个类,逻辑回归(logistic regression)和感知机(perceptron algorithm)就是典型的判别模型。


4.  判别函数

判别函数和判别模型在名字上非常的像,但存在一定的区别,生成模型和判别模型都是从概率的角度进行预测,而判别函数不涉及概率,而是从训练数据中直接学习得到输入数据x到类别的映射,而且把推理阶段和决策阶段合在一起进行。

现在举一个二分类问题的例子,f(.)是一个二值函数,当f=0时表示类别1,f=1时表示类别2,这个函数f就是判别函数,它可以把输入数据映射到0和1两个类。

5.   总结 

生成模型的要求比较高,需要学习得到输入数据x和类别的联合分布。在实际的应用中,x的维度往往非常的高,只有在非常大的训练数据下我们才能得到比较合理的类条件分布(class-conditional distribution)。庆幸地是,先验概率 比较容易计算,只需计算训练样本中每一类数据占整个训练数据的百分比。虽然生成模型的计算比较复杂,需要学习每一个类的分布,但就可以反映同一类数据本身的一些特点。

如果仅仅是处理分类问题,已知 ,就可以很好的解决这个问题,生成模型需要计算类条件概率和先验概率,这就增加的计算量。相反,判别模型就是直接去求解 ,学习不同类别之间的最优分类面,反映不同类数据之间的差异。但这类模型不能反映数据本身的特点,只能告诉你该数据属于哪个类,而不能反映整个场景的情况。

最简单的判别函数只是学到从输入空间到类别空间的一个映射,不涉及任何的概率,因此该方法不能量化该数据属于某个类的可能性。此外,该方法把推理阶段和决策阶段的任务合在一起进行,但在实际过程中我们需要更加不同的应用选择不同的决策方法。


6. 参考

Bishop《PRML》

Andrew Ng,  handout of《machine learning》


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值