生成式模型和判别式模型的区别

特点:

产生式模型:从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度,不关心判别边界。

判别式模型:寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。

区别:

产生式模型(Generative Model)与判别式模型(Discrimitive Model)它们的区别在于:

假设有样本输入值(或者观察值)x,类别标签(或者输出值)y

判别式模型评估对象是最大化条件概率p(y|x)并直接对其建模,

生成式模型评估对象是最大化联合概率p(x,y)并对其建模。

其实两者的评估目标都是要得到最终的类别标签Y, 而Y=argmax p(y|x),不同的是判别式模型直接通过解在满足训练样本分布下的最优化问题得到模型参数,主要用到拉格朗日乘算法、梯度下降法,常见的判别式模型如最大熵模型、CRF、LR、SVM等;

而生成式模型先经过贝叶斯转换成Y = argmax p(y|x) = argmax p(x|y)*p(y),然后分别学习p(y)和p(x|y)的概率分布,主要通过极大似然估计的方法学习参数,如NGram、HMM、Naive Bayes。

优缺点:

生成模型:

优点:
1)实际上带的信息要比判别模型丰富,研究单类问题比判别模型灵活性强
2)模型可以通过增量学习得到
3)生成模型能够应付存在隐变量的情况,比如混合高斯模型就是含有隐变量的生成方法。

缺点:
1)学习过程比较复杂。
2)实践中多数情况下判别模型效果更好。

判别模型:

优点:
1)分类边界更灵活,比使用纯概率方法或生产模型得到的更高级.
2)准确率往往较生成模型高。
3)不需要求解类别条件概率,所以允许我们对输入进行抽象(比如降维、构造等),从而能够简化学习问题。

缺点:
1)不能反映训练数据本身的特性。

你可能感兴趣的:(机器学习)