监督学习中的“生成模型”和“判别模型”

ref: http://blog.csdn.net/zouxy09/article/details/8195017  讲的非常清晰了。

该内容部分来自于维基百科。

两者都是概率统计模型,从维基上的解释来看

  • 生成模型(Generative Model):定义了在观测{X}和结果{Y}的联合概率分布 P(X, Y),通过贝叶斯得出后验概率 P(Y|X) = P(X, Y) / P(X), 然后用后验概率模型作为预测模型。因此我们还需要计算P(X)以得到后验概率。常见的生成模型有:
  1. 高斯混合模型
  2. 隐马尔科夫模型
  3. Probabilistic context free grammars
  4. 朴素贝叶斯
  5. RBM(受限波兹曼机)
  6. Averaged one-dependence estimators
  7. Latent Dirichlet allocation
  • 判别模型(Discriminative Model):同样也叫Conditional Model,即条件概率模型。判别模型是建立在观测数据和预测数据上的条件概率模型 P(Y|X) ,因此得出的后验概率可以直接作为预测模型,常见的判别模型有:
  1. 逻辑回归
  2. SVM
  3. Boosting(meta-programming)
  4. 条件随机场
  5. 线性回归
  6. 神经网络

生成模型和判别模型的主要区别在于:1)生成模型是建立在所有变量上面的联合概率模型,而判别模型只是定义在目标变量上的条件概率模型。因此判别模型相对比生成模型有局限性,生成模型还可以作为预测任何一个变量的模型。2)判别模型不需要建立观测变量的概率模型,一般情况下它不能预测复杂的观测和预测值关系。另外,判别模型本质上是有监督的,想要变成无监督会比较困难。

如果观测数据是符合联合概率分布,那么是用Maximize Likelihood求得模型参数是常见的方法。如果建立的概率模型只是所有变量的一个子集,那么直接使用条件概率模型可能会更有效。当然具体模型选择会由相应应用决定。

另外参考:

http://www.cnblogs.com/lifegoesonitself/p/3437747.htm

猜你喜欢

转载自blog.csdn.net/qq_21768483/article/details/79697446