联合概率分布如何帮助生成事物?

问题描述 投票:0回答:1

我试图理解判别模型和生成模型之间的区别。堆栈溢出的有用答案之一是:生成算法和判别算法之间有什么区别?

在最上面的答案中(请参阅上面的链接),有一个简单的示例,其中只有四个

(x,y)
形式的数据点。答案的作者说了以下内容:分布
p(y|x)
是将给定示例
x
分类为类
y
的自然分布,这就是为什么直接对此进行建模的算法被称为判别算法。生成算法模型
p(x,y)
,可以通过应用贝叶斯规则将其转化为
p(y|x)
,然后用于分类。然而,分布
p(x,y)
也可以用于其他目的。例如,您可以使用
p(x,y)
生成 可能的
(x,y)
对。

我不太明白如何使用

p(x,y)
生成可能的
(x,y)
对。有人可以帮助我给出使用联合概率分布
(x,y)
生成的
p(x,y)
对的具体示例吗?另外,有人也可以告诉我为什么条件概率分布
p(y|x)
不能用于生成新对吗?非常感谢。

我对此很困惑。请帮助我。

algorithm machine-learning deep-learning probability probability-distribution
1个回答
0
投票

这是一个简单但真实的示例来说明这些概念。

棕色眼睛比蓝色眼睛占主导地位。我的祖母有蓝色的眼睛。她的丈夫出身于一个只有棕色眼睛的家庭。我的父亲也一样。我和一个蓝眼睛的女人育有两个孩子。让我们让

x
y
成为这些孩子的眼睛颜色,最大的孩子是
y
,较小的孩子是
x
。为了讨论潜在的遗传学,让我们使用
B
代表棕色眼睛的基因,使用
b
代表蓝色眼睛的基因。

首先让我们弄清楚

p(x, y)
。我母亲的基因是
bB
。她有一双棕色的眼睛。我父亲的眼睛是
BB
,他有棕色的眼睛。根据我妈妈给我的东西,我有偶数的
bB
BB
,但我不知道。

然后我和一个有基因的蓝眼睛女人生了孩子

bb

如果我的基因是

BB
,那么我的孩子都是
bB
并且会有棕色眼睛。

如果我的基因是

bB
,那么每个孩子都有
bb
bB
的偶数几率,彼此独立。因此,我的孩子们可能会以同等的可能性出现
(blue, blue)
(blue, brown)
(brown, blue)
(brown, brown)

当你把它加起来时,我们得到以下赔率:

(blue, blue): 1/8
(brown, blue): 1/8
(blue, brown): 1/8
(brown, brown): 5/8

那就是

p(x, y)
。让我们展示如何生成一对。

首先计算出累积概率。按照这个顺序是

1/8, 1/4, 3/8, 1
。现在只需滚动一个随机数即可。我刚刚得到
0.7284333516674881
。与累积概率相比,我得到了
(brown, brown)
,所以这就是我生成的。 (有趣的是,这也是我孩子的眼睛颜色!)

如果我更改列出概率的顺序,则哪个随机数对应于哪个输出将发生变化。但输出会产生正确的频率。

现在我们来锻炼一下

p(x | y)
。如果您使用贝叶斯公式,您可以验证:

(blue|blue): 1/2
(brown|blue): 1/2
(blue|brown): 1/6
(brown|brown): 5/6

现在,根据第一个孩子的眼睛颜色,我们可以算出第二个孩子的眼睛颜色可能是什么。这正是我们所需要的判别算法。

但是我们完全不知道如何从这些数字中先验地判断第一个孩子拥有

brown
眼睛的几率是
1/2
(天真的猜测)还是
3/4
(真正的答案)。如果它们是
1/2
那么我们的第一张桌子将会是:

(blue, blue): 1/4
(brown, blue): 1/4
(blue, brown): 1/12
(brown, brown): 5/12

显然,这将生成比真实分布更均匀的分布。它恰好给出了相同的

p(x|y)
。因此,与判别算法相比,我们需要更多关于生成算法的信息。具体来说,我们需要知道
p(y)

这让你明白了吗?

© www.soinside.com 2019 - 2024. All rights reserved.