概念

机器学习的有监督模型可以将其分为两类模型:判别式模型和生成式模型。简单地说,判别式模型是针对条件分布建模,而生成式模型则针对联合分布进行建模
生成模型的特点都是输入属性X可以直接得到Y

例子

山羊绵羊的例子

判别式模型:要确定一个羊是山羊还是绵羊,用判别式模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。
生成式模型:是根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型,然后从这只羊中提取特征,放到山羊模型中看概率是多少,再放到绵羊模型中看概率是多少,哪个大就是哪个。
总结:判别式模型是根据一只羊的特征可以直接给出这只羊的概率(比如logistic regression,这概率大于0.5时则为正例,否则为反例),而生成式模型是要都试一试,最大的概率的那个就是最后结果

朴素贝叶斯的例子

对于Naive Bayes的都知道,对于输入X,需要求出好几个联合概率,然后较大的那个就是预测结果
朴素贝叶斯

区别

判别式模型是在寻找一个决策边界,通过该边界来将样本划分到对应类别。而生成式模型则不同,它学习了每个类别的边界,它包含了更多信息,可以用来生成样本。

判别模型的特点

判别式模型直接学习决策函数 生成模型和判别模型 - 图1 或者条件概率 生成模型和判别模型 - 图2 ,不能反映训练数据本身的特性,但它寻找不同类别之间的最优分裂面,反映的是异类数据之间的差异
直接面对预测往往学习准确度更高,
对数据进行抽象定义特征和使用特征,简化学习问题

  • 对条件概率建模,学习不同类别之间的最优边界。
  • 捕捉不同类别特征的差异信息,不学习本身分布信息,无法反应数据本身特性。
  • 学习成本较低,需要的计算资源较少。
  • 需要的样本数可以较少,少样本也能很好学习。
  • 预测时拥有较好性能。
  • 无法转换成生成式。

    生成模型的特点

    生成式模型学习的是联合概率密度分布 生成模型和判别模型 - 图3
    可以从统计的角度表示分布的情况,能够反映同类数据本身的相似度,它不关心到底划分不同类的边界在哪里。
    生成式模型的学习收敛速度更快,当样本容量增加时,学习到的模型可以更快的收敛到真实模型,
    当存在隐变量时,依旧可以用生成式模型,此时判别式方法就不行了。

  • 对联合概率建模,学习所有分类数据的分布。

  • 学习到的数据本身信息更多,能反应数据本身特性。
  • 学习成本较高,需要更多的计算资源。
  • 需要的样本数更多,样本较少时学习效果较差。
  • 推断时性能较差。
  • 一定条件下能转换成判别式。

    总结

    总之,判别式模型和生成式模型都是使后验概率最大化,判别式是直接对后验概率建模,而生成式模型通过贝叶斯定理这一“桥梁”使问题转化为求联合概率
    生成模型和判别模型 - 图4

包含的算法

image.png