在看论文和机器学习教材的时候,经常会看到生成模型和判别模型,一致对着两个模型概念很模糊,在这里自己做一个小结。
在后面介绍这个两个模型时,我们以分类问题为例,以加深理解。我们都知道,分类问题可以分为两个阶段:推理阶段(inference stage)和决策阶段(decision stage)。
推理阶段:利用训练数据学习得到一个可以计算 的模型。
决策阶段:利用在推理阶段得到的后验概率预测数据的类别。
当然不是所有的分类模型都分为这两个阶段,比如判别函数(discriminative function),它会把两个阶段何在一起,直接学习从输入数据x到类别的映射。
1. 例子
我们先来看一个例子,从宏观上了解生成模型和判别模型的区别。
我们的任务是判断一个动物是大象(y=1)还是小狗(y=0)。判别模型是先从训练数据中学习得到判别大象和小狗的决策面(decision boundary),有了这个决策面之后,如果需要分类一个新动物是大象还是小狗,只需要判断它在决策面的哪一边。
另一种方法是生成模型,我们首先观察大象,根据其特征学习一个大象的模型,同样的我们学习得到一个小狗的模型。当我们判别一个新动物时,分别和大象模型和小狗模型比较,哪个动物更