小编典典

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

all

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


阅读 121

收藏
2022-03-04

共1个答案

小编典典

假设您有输入数据x,并且您想将数据分类为标签y。生成模型学习 联合 概率分布p(x,y),而判别模型学习 条件
概率分布p(y|x)——您应该将其理解为“ 给定 的概率 ”y``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)配对。

从上面的描述中,您可能会认为生成模型更普遍有用,因此更好,但事实并非如此简单。这篇论文是关于判别式与生成式分类器主题的非常受欢迎的参考资料,但它的内容非常繁重。总体要点是判别模型在分类任务中通常优于生成模型。

2022-03-04