为什么朴素贝叶斯是生成模型?

9
我正在撰写一篇文档,其中应包含使用朴素贝叶斯(生成式)和逻辑回归(判别式)模型进行文本分类的关键差异。 在我的研究过程中,我遇到了朴素贝叶斯模型的定义:https://nlp.stanford.edu/IR-book/html/htmledition/naive-bayes-text-classification-1.html “文档d属于类别c的概率被计算为……其中p(tk|c)是term tk出现在类别c的文档中的条件概率......”
当我阅读比较生成式和判别式模型时,在StackOverflow上找到了这个解释并被接受: What is the difference between a Generative and Discriminative Algorithm? “生成式模型学习联合概率分布 p(x,y),而判别式模型学习条件概率分布 p(y|x) - 这个可以理解为“给定x的情况下y的概率”。“
此时我感到困惑:朴素贝叶斯是一种生成式模型,并使用条件概率,但同时判别式模型被描述为学习条件概率,与生成式模型的联合概率不同。
请问有人可以解释一下吗?
谢谢!

1
被接受的答案的第一段直接回答了你的问题:https://stats.stackexchange.com/questions/4689/generative-vs-discriminative-models-in-bayesian-context - HFBrowning
感谢 @HFBrowning 的回答!从我所读的内容来看,生成模型建模联合概率分布 p(x,y) 来计算 p(y|x),但我仍然没有看到在我分享的朴素贝叶斯链接中使用 p(x,y) 的地方;我只看到了条件概率。 - GermanC
我在那个文本中也没有看到它;我认为这意味着这本教科书的作者们并不认为这种区别很重要,或者他们有点马虎。我找到的所有其他答案都非常一致,其中很多指向了似乎是该主题上的一个经典论文(我相信你已经看过了:http://papers.nips.cc/paper/2020-on-discriminative-vs-generative-classifiers-a-comparison-of-logistic-regression-and-naive-bayes.pdf)。 - HFBrowning
@HFBrowning 我一直得出同样的结论:朴素贝叶斯背后有贝叶斯规则,它使用条件概率而不是联合概率,所以我仍然感到困惑。你是否看过任何朴素贝叶斯公式中的 p(x,y),可以给我提供链接吗? - GermanC
1
在我刚才给你链接的论文中,请查看“2. Preliminaries”下的前几段。我认为那里的解释非常清晰。还有这个页面(https://machinelearningmastery.com/naive-bayes-classifier-scratch-python/),其中展示了朴素贝叶斯分类器的Python逐步演示。即使您不懂Python,它也足够接近英语,我认为它可能会有很大帮助。 - HFBrowning
2
@HFBrowning,在您的帮助和这个答案的帮助下,我明白了。 p(x,y)p(y|x)p(y)的意思,这样就清楚了联合概率隐含在其中的许多内容。非常感谢! - GermanC
1个回答

6
它是生成式的,这意味着您不直接建模后验概率 p(y|x),而是学习联合概率模型 p(x,y),也可以表示为p(x|y) * p(y)(似然函数乘以先验概率),然后通过贝叶斯定理寻找最可能的y
在这个背景下,我可以推荐一篇好文章:"On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes" (Ng & Jordan 2004)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接