生成算法和判别算法有什么区别?

657
生成模型判别模型有什么区别?

4
这篇文档(也被anguyen8提到过)是一份不错的资料:http://cs229.stanford.edu/notes/cs229-notes2.pdf - GuSuku
6
请参考stats.SE上有关“生成式 vs. 判别式”的同一问题:Generative vs. Discriminative - Lenar Hoyt
那个链接已经失效了,这是正确的版本:https://meta.stackoverflow.com/questions/291009/do-pure-machine-learning-questions-belong-to-stack-overflow/291015#291015 - tripleee
13个回答

1
一种生成算法模型将完全从训练数据中学习,并预测响应。
一个判别算法的任务只是分类或区分两个结果。

我理解的是生成模型基于监督学习,而判别模型则是基于无监督学习。我的理解正确吗? - Waseem Ahmad Naeem
@WaseemAhmadNaeem 有点,但也有点不是。y始终是目标,并且需要作为输入数据的一部分,因此两者都是受监督的。生成似乎是无监督的,因为第一步是获取完整的分布(在所有变量中,不考虑y是否特殊)。如果你停在那里,而不将y视为特殊,则该部分本身就是无人监管的。 - Mitch
@Mitch,能请您分享一些关于两者区别的论文/笔记/链接吗?实际上,我对这个概念有点困惑。先谢谢您了。 - Waseem Ahmad Naeem
@WaseemAhmadNaeem 请在交叉验证.SE(统计/机器学习SE网站)中搜索特别是生成式与判别式贝叶斯上下文中的生成式与判别式模型。 元素示例朴素贝叶斯是生成式的,逻辑回归是判别式的。 更多示例 - Mitch

0

这篇文章帮助我理解了这个概念。

总而言之,

  • 两者都是概率模型,意味着它们都使用概率(准确地说是条件概率)来计算未知数据的类别。
  • 生成分类器在数据集上应用联合概率密度函数和贝叶斯定理,并使用那些值来计算条件概率。
  • 判别式分类器直接在数据集上找到条件概率。

一些有用的阅读材料:条件概率, 联合概率密度函数


0
我的看法: 判别式方法强调差异 生成式方法不关注差异,而是试图构建代表类的模型。 两者之间存在重叠。 理想情况下应该同时使用两种方法:一种用于发现相似之处,另一种用于发现不同之处。

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