1(2).生成模型和判别模型

 

生成式模型

  • 朴素贝叶斯
  • K近邻(KNN)
  • 混合高斯模型
  • 隐马尔科夫模型(HMM)
  • 贝叶斯网络
  • Sigmoid Belief Networks
  • 马尔科夫随机场(Markov Random Fields)
  • 深度信念网络(DBN)

 判别式模型

  • 线性回归(Linear Regression)
  • 逻辑斯蒂回归(Logistic Regression)
  • 最大熵模型
  • 神经网络(NN)
  • 支持向量机(SVM)
  • 高斯过程(Gaussian Process)
  • 条件随机场(CRF)
  • CART(Classification and Regression Tree)

 


 判别模型和生成模型都是指监督学习下的模型,监督学习模型本质上就是求决策函数:Y=F(X)  或者条件概率分布P(Y|X)  ,而求解过程又可以分为判别方法和生成方法

生成模型 (discriminative)

生成方法必须要学得其联合概率分布P(X,Y),然后根据联合概率分布和贝叶斯公式求得P(Y|X)

P(Y|X) = P(X,Y)/P(X)

生成模型以概率的方式描述了数据的产生方式,通过对模型采样就可以产生数据。 

举例:利用生成模型是根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型,然后从这只羊中提取特征,放到山羊模型中看概率是多少,在放到绵羊模型中看概率是多少,哪个大就是哪个。


 判别模型(generative)

判别模型是由数据直接学习决策函数F(x)或者条件概率分布P(Y|X)作为预测的模型,判别方法关心的是对于给定的输入X,应该预测什么样的Y

举例:要确定一个羊是山羊还是绵羊,用判别模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。

 生成模型和判别模型的区别和联系

  1. 由生成模型可以得到判别模型,但是由判别模型得不到生成模型
  2. 生成模型可以产生数据,判别模型只能根据数据做判断。生成模型为了得到数据的整体分布。判别模型为了用「线」把数据划开
  3. 判别模型优点: 
    1. 判别模型对数据的分布的假设要求不高,鲁棒性较好,即便是在模型不符合数据假设的情况下,效果通常也会比较好
    2. 直接面对预测,往往在学习的准确率上会更高
    3. 由于直接学习P(Y|X)或者F(x),可以对数据进行各种程度上的抽象,定义特征并且使用特征,因此可以简化学习的问题。
  4. 生成模型的优点: 
    1. 生成方法的学习收敛的速度会更快。即当样本容量增加的时候,学习到的数据可以更快的收敛于真实的模型
    2. 当存在隐变量时,仍然可以用生成方法,这个时候判别方法实际上是不能用的。
  5. 判别模型的缺点:如果数据分布符合生成模型假设的情况下,判别模型效果并没有生成模型好。 存在隐变量时不能用。
  6. 生成模型的缺点:生成模型会对于数据的分布的假设的要求会更高,如果数据的分布不符合假设,那么就会导致效果比较差【鲁棒性差】
posted @ 2018-03-05 13:04  nxf_rabbit75  阅读(369)  评论(0编辑  收藏  举报