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

  • 回答 (2)
  • 关注 (0)
  • 查看 (59)

请帮助我理解生成式算法和区分算法之间的区别,牢记我只是一个初学者。

暴躁的蛆宝宝暴躁的蛆宝宝提问于
嗨喽你好摩羯座回答于

一个生成算法模型如何将数据以分类的信号产生。它提出了这样一个问题:根据我这一代的假设,哪一类最有可能产生这个信号?

一个判别算法不关心是如何产生的数据,它只是分类的给定信号。

最爱开车啦互联网的敏感者回答于

假设你有输入数据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)对。

从上面的描述中,您可能会认为生成模型更普遍有用,因此更好,但并不那么简单。本文是一个非常流行的歧视性与生成性分类器主题的参考,但它是相当沉重的。总的来说,判别模型通常在分类任务中优于生成模型。

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问5 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问3 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券