判别式模型与生成式模型的对比

首先,两种模型都属于监督学习中的分类。

生成式模型(Generative Model):

输入特征x,标签为y,求联合概率分布p(x,y);常见的模型有:Gaussians、Naive Bayes、Mixtures of Multinomials、Mixtures of Gaussians、Mixtures of Experts、HMMs、Sigmoidal Belief Networks, Bayesian Networks、Markov Random Fields、Latent Dirichlet Allocation

优点:

  1. 生成给出的是联合分布P(x,y),不仅能够由联合分布计算条件分布P(y x)(反之则不行),还可以给出其他信息,比如可以使用P(x)=P(x y)* P(y)来计算边缘分布P(x)。如果一个输入样本的边缘分布P(x)很小的话,那么可以认为学习出的这个模型可能不太适合对这个样本进行分类,分类效果可能会不好,这也是所谓的outlier detection;
  2. 生成模型收敛速度比较快,即当样本数量较多时,生成模型能更快地收敛于真实模型;
  3. 生成模型能够应付存在隐变量的情况,比如混合高斯模型就是含有隐变量的生成方法。

缺点:

  1. 天下没有免费午餐,联合分布是能提供更多的信息,但也需要更多的样本和更多计算,尤其是为了更准确估计类别条件分布,需要增加样本的数目,而且类别条件概率的许多信息是我们做分类用不到,因而如果我们只需要做分类任务,就浪费了计算资源;
  2. 另外,实践中多数情况下判别模型效果更好。

判别式模型(Discriminative Model):

输入特征x,标签为y;求条件概率分布p(y x);常见的模型有:LR、SVM、Traditional Neural Networks、Nearest Neighbor、CRF、Linear Discriminant Analysis、Boosting、Linear Regression

优点:

  1. 与生成模型缺点对应,首先是节省计算资源,另外,需要的样本数量也少于生成模型;
  2. 准确率往往较生成模型高;
  3. 由于直接学习P(y x),而不需要求解类别条件概率,所以允许我们对输入进行抽象(比如降维、构造等),从而能够简化学习问题。

缺点:

  1. 是没有生成模型的上述优点。

再来一个表格来对比一下两个模型。

img

弹钢琴的猫 /
Published under (CC) BY-NC-SA in categories 机器学习  tagged with 判别式模型  生成式模型