一、生成模型与判别模型概述
生成模型是通过联合概率分布来求条件概率分布,而判别模型是通过数据直接求出条件概率分布,换句话说也就是,生成模型学习了所有数据的特点,判别模型则只是找出分界。
二、生成模型与鉴别模型详细介绍
三、生成模型与判别模型的优缺点
概率图分为有向图(bayesian network)与无向图(markov random filed)。在概率图上可以建立生成模型或判别模型。有向图多为生成模型,无向图多为判别模型。 生成模型(Generative Model),又叫产生式模型。估计的是联合概率分布(joint probability distribution),p(class, context)=p(class|context)*p(context)。用于随机生成的观察值建模,特别是在给定某些隐藏参数情况下。在机器学习中,或用于直接对数据建模(用概率密度函数对观察到的样本数据建模),或作为生成条件概率密度函数的中间步骤。通过使用贝叶斯规则可以从生成模型中得到条件分布。如果观察到的数据是完全由生成模型所生成的,那么就可以拟合生成模型的参数,从而仅可能的增加数据相似度。但数据很少能由生成模型完全得到,所以比较准确的方式是直接对条件密度函数建模,即使用分类或回归分析。与描述模型的不同是,描述模型中所有变量都是直接测量得到。 所以生成模型和判别模型的主要区别在于:添加了先验概率 即:生成模型:p(class, context)=p(class|context)*p(context) 判别模型:p(class|context) 主要特点: (1)一般主要是对后验概率建模,从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度; (2)只关注自己的类本身(即点左下角区域内的概率),不关心到底决策边界在哪。 优点: (1)实际上带的信息要比判别模型丰富; (2)研究单类问题比判别模型灵活性强; (3)模型可以通过增量学习得到; (4)能用于数据不完整(missing data)情况; (5)很容易将先验知识考虑进去。 缺点: (1)容易会产生错误分类; (2)学习和计算过程比较复杂。 常见的主要有:Gaussians、Naive Bayes、Mixtures of multinomials、Mixtures of Gaussians、Mixtures of experts、HMMs、Sigmoidal belief networks、Bayesian networks、Markov random fields。 主要应用: (1)传统基于规则的或布尔逻辑系统正被统计方法所代替; (2)医学诊断。 注:所列举的生成模型也可以用判决模型的方法来训练,比如GMM或HMM,训练的方法有EBW(Extended Baum Welch),或最近Fei Sha提出的Large Margin方法。 过去的报告认为判别模型在分类问题上比生成表现更加好(比如Logistic Regression与Naive Bayesian的比较,再比如HMM与Linear Chain CRF的比较)。 判别模型(Discriminative Model),又可以称为条件模型,或条件概率模型。估计的是条件概率分布(conditional distribution),p(class|context)。利用正负例和分类标签,主要关心判别模型的边缘分布。其目标函数直接对应于分类准确率。(判别模型多数放在分类) 主要特点:寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。 优点: (1)分类边界更灵活,比使用纯概率方法或生产模型得到的更高级; (2)能清晰的分辨出多类或某一类与其他类之间的差异特征; (3)在聚类、视角变化、部分遮挡、尺度改变等方面效果较好; (4)适用于较多类别的识别; (5)判别模型的性能比生成模型要简单,比较容易学习。 缺点: (1)不能反映训练数据本身的特性,即能力有限,可以告诉你的是1还是2,但没有办法把整个场景描述出来; (2)缺少生成模型的优点,即先验结构的不确定性; (3)黑盒操作,即变量间的关系不清楚,不可视。 常见的主要有:logistic regression、SVMs、traditional neural networks、Nearest neighbor、Conditional random fields。 主要应用:Image and document classification、Biosequence analysis、Time series prediction。
参考链接
https://www.cnblogs.com/lifegoesonitself/p/3437747.html