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

生成算法和判别算法有什么区别?,第1张

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

假设您有输入数据,

x
并且想要将数据分类为label
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   0x=2 | 1/4   1/4

p(y|x)

      y=0   y=1     -----------x=1 | 1     0x=2 | 1/2   1/2

如果花几分钟盯着这两个矩阵,您将了解两个概率分布之间的差异。

分布

p(y|x)
是用于将给定示例分类
x
到类中的自然分布
y
,这就是为什么将对此直接建模的算法称为判别算法的原因。生成算法模型
p(x,y)
,可以
p(y|x)
通过应用贝叶斯规则将其转换为模型,然后用于分类。但是,该分发
p(x,y)
也可以用于其他目的。例如,您可以
p(x,y)
用来
生成 可能的
(x,y)
对。

从上面的描述中,您可能会认为生成模型更通用,因此更好,但它并非如此简单。本文是关于区分性分类器与生成性分类器的非常受欢迎的参考,但它的工作量很大。总体要点是,在分类任务中,区分模型通常要优于生成模型。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存