NLP之统计机器学习中的生成式和判别式

机器学习的方法主要分为生成式和判别式两种。

生成式模型:假定输入是X,类别标签是Y。产生式模型估计联合概率P(X,Y),因为可以根据联合概率来生成样本。

判别式模型:假定输入是X,类别标签是Y。判别式模型估计条件概率P(X|Y),该模型只能用来判断分类,因为其不包含有关X的知识。

举个例子来说明这两个概念:

假如我现在给出了一组样本:(1,0),(1,1),(2,0),(2,1)。假定这就是能观察到的全部

生成模型估计P(Y,X)如:P(1,0)=1/2;P(1,1)=0;P(2,0)=1/4;P(2,1)=1/4;

判别模型估计P(X|Y)如:P(0|1)=1,P(1|1)=0,P(0|2)=1/2,P(1|2)=1/2

假设X代表的是类别标签(那么就有两类:0和1类),Y是样本属性(那么就有两个属性值:1和2);那么通过判别模型我们可以对给出的样本属性进行分类了,例如:如果样本属性是1时那它一定就是0类了。但是通过判别模型却不可能生成新的样本,因为我们通过给出的判别估计无法知道P(Y)的信息。但是生成模式却可以做到,因为通过给出的生成估计我们可以推出P(Y)的信息。如:P(Y=1)=1/2,P(Y=2)=1/2。同时生成式模型可以根据贝叶斯公式得到判别式模型,但反过来就不可以了。

当然这两种模型各有优缺点:

判别式的主要特点:寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。自己在Linear discriminant analysis,支持向量机和clustering中用到

判别式的优点:

1)分类边界更灵活,比使用纯概率方法或生产模型得到的更高级。
2)能清晰的分辨出多类或某一类与其他类之间的差异特征
3)在聚类、viewpoint changes, partial occlusion and scale variations中的效果较好
4)适用于较多类别的识别
5)判别模型的性能比生成模型要简单,比较容易学习

缺点:

1)不能反映训练数据本身的特性。能力有限,可以告诉你的是0类还是1类,但没有办法把整个场景描述出来。

2)黑盒操作: 变量间的关系不清楚,不可视。实际上也是第一种缺点的体现

生成式的主要特征:一般主要是对后验概率建模,从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。自己在朴素贝叶斯和隐马尔科夫模型中用到

生成式的优点:

1)实际上带的信息要比判别模型丰富
2)研究单类问题比判别模型灵活性强
3)模型可以通过增量学习得到
4)能用于数据不完整(missing data)情况

缺点:

1)学习和计算过程比较复杂

由此可知,判别模型与生成模型的最重要的不同是,训练时的目标不同,判别模型主要优化条件概率分布,使得x,y更加对应,在分类中就是更可分。而生成模型主要是优化训练数据的联合分布概率。

posted on 2012-10-29 16:41  翠竹林  阅读(938)  评论(0编辑  收藏  举报

导航