生成模型和判别模型

学习资料:《统计自然语言处理》、《自然语言处理入门》

生成模型

摸透了数据的分布情况,模拟的数据生成

  1. (P(X,Y))建模

  2. 这里我们主要讲分类问题,所以是要对每个label(都需要建模,最终选择最优概率的label为结果,所以没有什么判别边界。(对于序列标注问题,那只需要构件一个model)

  3. 中间生成联合分布,并可生成采样数据。

  4. 生成式模型的优点在于,所包含的信息非常齐全,我称之为“上帝信息”,所以不仅可以用来输入label,还可以干其他的事情。生成式模型关注结果是如何产生的。但是生成式模型需要非常充足的数据量以保证采样到了数据本来的面目,所以速度相比之下慢。

针对联合分布(p(x, y))进行建模,假设y决定x,用数据学习样本和标注的联合概率密度(P(x,y)),然后根据贝叶斯公式转化为(P(y|x)=frac{P(x,y)}{P(x)})
这类模型的优点是:处理单类问题时比较灵活,模型变量之间的关系比较清楚,模型可以通过增量学习获得,可 用于数据不完整的情况。其弱点在于模型的推导和学习比较复杂。典型的生成式模型有:n元语法模型、HMM、朴素的贝叶斯分类器、概率上下文无关文法等。

判别式模型

  1. (P(Y|X)) 建模
  2. 对所有的样本只构建一个模型,确认总体判别边界
  3. 观测到输入什么特征,就预测最可能的label
  4. 另外,判别式的优点是:对数据量要求没生成式的严格,速度也会快,小数据量下准确率也会好些。

直接对后验概率(p(y|x))进行建模,假设x决定y,用数据直接学习决策函数Y=F(X)或条件概率(P(y|x))。判别式模型的主要任务是找到一个或一系列超平面,利用它(们)划分给定样本到给定分类,这也能直白的体现出“判别”模型这个名称。
这种模型的优点是:处理多类问题或分辨某一类与其他类之间的差异时比较灵活,模型简单,容易建立和学习。其弱点在于模型的描述能力有限,变量之间的关系不清楚,而且大多数区分式模型是有监督的学习方法,不能扩展成无监督的学习方法。代表性的区分式模型有:最大熵模型、条件随机场、支持向量机、最大熵马尔可夫模型(maximum-entropy Markov model, MEMM)、感知机(perceptron) 等。

如何区分?模型如果根据数据X,直接判定Y的类别的话就是判别模型;间接判定Y的类别的话就是生成模型。

原文地址:https://www.cnblogs.com/z1xiang/p/12676846.html