您的位置:首页 > 其它

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

2012-01-01 16:37 274 查看
原文网址:http://www.zhan5zhan.com/post/14.html

什么是判别模型(Discriminative Model)和生成模型(Generative Model)? 一个通俗易懂的解释判别模型和生成模型可以点击这里查看,这里我摘录如下:

Let's say you have input data x and you want to classify the data into labels y. A generative model(生成模型) learns the joint probability distribution(联合概率分布) p(x,y) and adiscriminative
model(判别模型)
learns the conditional probability distribution(条件概率分布) p(y|x) - which you should read as 'the probability of y given x'.

关于生成模型和判别模型,我发现的另外一个解释我摘录如下,原文点击这里

判别模型Discriminative Model,又可以称为条件模型,或条件概率模型。估计的是条件概率分布(conditional distribution), p(class|context)。

生成模型Generative Model,又叫产生式模型。估计的是联合概率分布(joint probability distribution),p(class, context)=p(class|context)*p(context)。

另外对于生成模型和判别模型,总结如下:

1.生成模型和判别模型的定义

记o为观察序列,s为状态序列。对o和s进行统计建模,通常有两种方式:

(1) 生成模型 (又叫产生模型): 构建o和s的联合分布p(s,o)

(2) 判别模型 (又叫条件概率模型, 也叫条件模型): 构建o和s的条件分布p(s|o)

2.判别模型和生成模型的对比

(1) 训练时,二者优化准则不同:生成模型优化训练数据的联合分布概率,而判别模型优化训练数据的条件分布概率。从这里可以看出,判别模型与序列标记问题有较好的对应性。

(2) 对于观察序列的处理不同:生成模型中,观察序列作为模型的一部分,而判别模型中,观察序列只作为条件,因此可以针对观察序列设计灵活的特征。

(3) 训练复杂度不同:由于需要归一化,判别模型训练复杂度较高。

(4) 是否支持无指导训练:生成模型支持无指导训练,而判别模型不支持。

3. 二者的本质区别是:判别模型(discriminative model )估计的是条件概率分布(conditional distribution)p(class|context),而生成模型(generative model) 估计的是联合概率分布(joint probability distribution)

通常来讲,(该部分援引自这里)常见的生成模型(Generative Model)主要有:

– Gaussians, Naive Bayes, Mixtures of multinomials

– Mixtures of Gaussians, Mixtures of experts, HMMs

– Sigmoidal belief networks, Bayesian networks

– Markov random fields

常见的Discriminative Model主要有:

– logistic regression

– SVMs

– traditional neural networks

– Nearest neighbor
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: