<分区>
生成 和 判别式算法?
<分区>
生成 和 判别式算法?
最佳答案
假设您有输入数据 x
并且您希望将数据分类到标签 y
中。生成模型学习联合概率分布p(x,y)
,判别模型学习条件概率分布p(y |x)
- 您应该将其理解为 “给定 x
时 y
的概率”。
这是一个非常简单的例子。假设您有以下格式的数据 (x,y)
:
(1,0), (1,0), (2,0), (2, 1)
p(x,y)
是
y=0 y=1
-----------
x=1 | 1/2 0
x=2 | 1/4 1/4
p(y|x)
是
y=0 y=1
-----------
x=1 | 1 0
x=2 | 1/2 1/2
如果您花几分钟时间盯着这两个矩阵,您就会理解这两个概率分布之间的区别。
分布 p(y|x)
是将给定示例 x
分类为 y
类的自然分布,这就是为什么直接对此建模的算法称为判别算法。生成算法对 p(x,y)
进行建模,可以通过应用贝叶斯规则将其转换为 p(y|x)
,然后用于分类。但是,分布 p(x,y)
也可以用于其他目的。例如,您可以使用 p(x,y)
来生成可能的 (x,y)
对。
从上面的描述中,您可能会认为生成模型更普遍有用,因此更好,但事实并非如此简单。 This paper是关于判别分类器与生成分类器主题的非常受欢迎的引用资料,但它的内容非常繁重。总体要点是判别模型在分类任务中通常优于生成模型。
关于algorithm - 生成算法和判别算法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/879432/