生成模型与判别模型(在贝叶斯背景下)

机器算法验证 贝叶斯 预测模型 无监督学习
2022-01-21 09:13:51

生成模型和判别(判别)模型(在贝叶斯学习和推理的背景下)有什么区别?

它与预测、决策理论或无监督学习有什么关系?

2个回答

两者都用于监督学习,在此您想要学习将输入 x 映射到输出 y 的规则,给定许多形式为的训练示例。生成模型(例如,朴素贝叶斯)显式地对联合概率分布建模,然后使用贝叶斯规则计算另一方面,判别模型(例如逻辑回归)直接进行建模。{(xi,yi)}p(x,y)p(y|x)p(y|x)

有人认为判别模型更好,因为它直接对您关心的数量进行建模,因此您不必将建模工作花费在输入 x 上(您需要计算以及在生成模型中)。但是,生成模型有其自身的优势,例如处理缺失数据的能力等。对于一些比较,您可以看一下这篇论文:On Discriminative vs. Generative classifiers: A comparison oflogistic regression and naive Bayes(y)p(x|y)

可能存在一种模型比另一种更好的情况(例如,如果您有大量数据,判别模型通常会做得更好;如果您有一些额外的未标记数据,生成模型可能会更好)。事实上,也存在试图引入两全其美的混合模型。有关示例,请参见本文:生成模型和判别模型的原理混合

对上述答案的补充:

由于判别式只关心 P(Y|X),而生成式同时关心 P(X,Y) 和 P(X),为了更好地预测 P(Y|X),生成式模型的自由度较小在模型中与判别模型相比。所以生成模型更健壮,更不容易过拟合,而判别模型则相反。

这解释了上面的答案

在某些情况下,一种模型比另一种更好(例如,如果您有大量数据,判别模型通常会做得更好;如果您有一些额外的未标记数据,生成模型可能会更好)。