生成式和判别式算法有什么区别?
请帮助我理解生成式算法和区分算法之间的区别,同时牢记我只是一个初学者。
假设您有输入数据x并且您想要将数据分类到标签y中。 一个生成模型学习联合概率分布p(x,y)
,一个判别模型学习条件概率分布p(y|x)
- 你应该读作“给定x的概率”。
这是一个非常简单的例子。 假设你有以下形式(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)
对。
从上面的描述中,你可能会认为生成模型更普遍有用,因此更好,但并不那么简单。 本文是关于歧视性与生成性分类器主题的非常流行的参考文献,但它很重要。 总的要点是区分模型通常在分类任务中优于生成模型。
生成算法模拟如何生成数据以对信号进行分类。 它提出了这样一个问题:根据我的世代假设,哪类最有可能产生这种信号?
区分算法不关心数据是如何生成的,它只是对给定信号进行分类。
想象一下你的任务是将一个演讲分类为一种语言:
你可以这样做:
1)学习每种语言,然后用你刚刚获得的知识对它进行分类
要么
2)确定语言模型的差异,而不学习语言,然后对语音进行分类。
第一个是生成方法,第二个是判别方法。
检查此参考了解更多详情:http://www.cedar.buffalo.edu/~srihari/CSE574/Discriminative-Generative.pdf
链接地址: http://www.djcxy.com/p/6793.html上一篇: What is the difference between a Generative and Discriminative Algorithm?