主要区别:
假设x表示输入,y表示类别标签。
判别式模型(Discriminative Model)
主要对P(y|x)建模,得到判别函数。所需要做的就是优化判别函数,使得数据可分。它更能反映数据之间的差异性,而对数据本身的性质并不关心。
生成式模型(Generative Model)
主要对P(x,y)进行建模,得到概率密度模型。它要求训练样本数量尽可能的大。它更关心数据本身的情况,数据整体的分布,数据的相似度,而不关心到底判决界面在哪里。
生成式模型的应用范围比较广,它可以通过贝叶斯公式转换为P(y|x),然后进行分类。它还可以用作其他目的,比如直接运用P(x,y)生成(x,y)数据对。
应用
常见的判别式模型有:
回归分析
线性判别分析
支持向量机
条件随机场
神经网络
它常用于:图像分类、生物序列分析等领域。
常见的生成式模型有:
混合模型(如高斯混合模型)
隐马尔科夫模型
朴素贝叶斯模型
AODE
Latent Dirichlet allocation
Restricted Boltzmann Machine
它常用于:医学诊断、自然语言处理等领域。
关系
生成式模型能够通过贝叶斯公式转换成为判别式模型,但是判别式模型无法转化为生成式模型。
表面上看生成式模型比判别式模型更有用,但实际并非如此。生成式模型学习和计算比较复杂,而且判别式模型的性能比生成式模型更好。
参考文献:
http://blog.csdn.net/wolenski/article/details/7985426
http://www.leexiang.com/discriminative-model-and-generative-model