生成式模型和判别式模型

一、简单理解

  • 判别式模型出现早于生成式模型。
  • 判别式模型其实并没有学习到数据的内容,只是单纯的记住了数据特征来做分类和判断。就像做模拟题,考试时遇到和模拟题一样的题会做,不一样的不会做。
  • 而生成式模型能够学习数据的内容,对样本进行理解。就像真的学会了知识,考试时遇到的题都会做。

 

二、生成式模型 Generative Model(联想)

1、定义:学习得到联合概率分布P(X,Y),就是特征X和标记Y共同出现的概率。然后再求条件概率分布。能够学习数据的生成机制。

2、重点:由联合概率求条件概率

3、常见算法:隐马尔可夫模型HMM、马尔可夫随机场、朴素贝叶斯、主题模型(LDA)、高斯混合模型。

4、计算思路:学习全部样本的先验和条件概率分布求出后验概率。

5、优点:

  • 不仅可以通过联合概率分布,得到条件概率分布,还能够得到其他信息(如边缘分布);
  • 收敛速度比较快,当样本数据较多时,能更快的收敛于真实的模型;
  • 完全学习了所有分布,可以用来检测某个异常值
  • 有更强大的泛化能力,可以举一反三;
  • 能够应付存在隐变量的情况(如高斯混合模型就是含有隐变量的生成式模型)。

6、缺点:

  • 虽然说联合概率可以得到更多的信息,但是需要付出更多的样本和计算资源,尤其是更准确地估计类别条件分布需要增加更多的样本数量,而且类别条件概率的许多信息是我们做分类用不到的,这样来说就有点浪费了(多数实践情况下,判别式模型的效果会更好)。

 

三、判别式模型 Discriminative Model(记忆)

1、定义:学习条件概率分布P(Y|X),就是特征X出现的情况下标记Y出现的概率。就是在给定数据X的情况下,分析样本具有的特征,然后再根据已知的特征去匹配。

2、重点:直接学习条件概率,不会去学习联合概率分布。

3、常见算法:支持向量机(SVM)、感知机、KNN、决策树、逻辑回归、线性回归、条件随机场(CRF)。(大部分有监督学习的算法都是判别模型)

4、计算思路:直接计算得到条件概率分布或者说得到决策边缘。

5、优点:

  • 节省计算资源,需要的样本数量也少于生成式模型;
  • 准确率往往会比生成式模型高。

6、缺点:

  • 因为只求条件概率分布,而不是联合概率分布,所以可能得不到生成式模型会得到的信息;
  • 泛化能力不行,对于自己没有见过的新样本效果不是很好。

 

四、实例:判断一个狗狗的品种是金毛还是哈士奇?

1、生成式模型

  • 首先根据金毛的特征去学习一个模型M1,再根据哈士奇的特征去学习一个模型M2;
  • 从要判断的这条狗中提取特征;
  • 将提取的特征放到学习好的金毛的模型M1中得到概率P1,再放到学习好的哈士奇的模型M2中得到概率P2;
  • P1和P2哪个更大,就是哪个品种。

2、判别式模型

  • 从大量的历史数据中去学习一个模型M;
  • 从要判断的这条狗中提取特征;
  • 将提取的特征放到学习好的模型M来预测是金毛的概率P1和哈士奇的概率P2;
  • P1和P2哪个更大,就是哪个品种。

3、总结

  判别式模型只生成一种模型,而生成式模型会学习很多个模型(一般是有多少种类别,就会学习多少种模型)。

posted @ 2022-03-25 08:57  NLP的小Y  阅读(639)  评论(0编辑  收藏  举报
/*粒子线条,鼠标移动会以鼠标为中心吸附的特效*/