首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据生成概率分布,数据集的概率分布

数据生成概率分布,数据集的概率分布
EN

Data Science用户
提问于 2019-06-23 19:56:45
回答 1查看 3.3K关注 0票数 6

在古德费罗一世,本吉奥Y,库维尔A.深入学习。麻省理工学院出版社;2016年11月10日. http://thuvien.thanglong.edu.vn:8081/dspace/bitstream/DHTL_123456789/4227/1/10.4-1.pdf

例如,有人说,在无监督学习中,人们通常希望‘学习生成数据集的整个概率分布’,p(\vec{x})

我的问题是,我希望对这个概念有一个更好的解释/理解,也就是说,p(\vec{x}),对于一个给定的例子(表示为向量) \vec{x},在数据集中意味着在野外“先验找到这个例子的可能性”……或者类似的东西?例如,如果它是一个X品种猫的图像,例如,\vec{x_i} =‘这个品种X的猫的矢量化图像’‘,p(\vec{x_i})是否意味着获得这个X品种猫的图像的概率(当然,我们估计在有限的数据集下),如果我们从这个数据集中抽取一个样本--即使我们想泛化--如果我们采样测试集,就可以得到这个猫。?

这里有一个类似的问题,但答案远远没有回答关于这个问题的任何问题:由数据集上的概率分布生成训练数据意味着什么?

EN

回答 1

Data Science用户

回答已采纳

发布于 2019-06-23 22:18:28

更多的是一个理论上的分布,一个具体的分布。

的主要思想是:

我们认为所有数据都有一个生成数据的underlying发行版。通过创建数据集的过程,我们有效地从它中采样了一些实例。现在,我喜欢把这个分布看作是所有可能存在的这类数据的理论概念。

,让我举个例子:

假设我们有猫对狗数据集。此数据集包含猫和狗的25000图像。现在我们可以把猫的图像看作是来自较大种群的样本。但是这些人口会包括什么呢?网络上所有的猫图片?所有的猫图像都存在吗?或者所有可以想象存在的猫图像?让我们把这个群体称为C。这个种群遵循一定的分布(并不是每一个图像都是一只猫的图像);这种分布本质上告诉我们是什么使猫,一只猫。现在,如果我明天要拍一张猫的照片(让我们称之为c),我就可以有效地从这个数据集(即c \sim C)中提取一个示例。

这在机器学习中起着什么作用?

生成模型本质上是try来学习这个发行版,他们试图通过它的样本(即我们的数据集)来做到这一点。他们看它的样本,并试图概括,以确定是什么分布产生了它们。本质上,他们试图回答一个问题:是什么使c成为C的样本?

此外,即使是判别模型也对数据作了一些假设(例如,样本是独立的、同分布的、训练和测试集遵循相同的基本分布)。

更正式地

训练和测试数据是通过数据集上的概率分布(称为数据生成过程)生成的。我们通常会做出一套统称为i.i.d的假设。假设。这些假设是,每个数据集中的示例是相互独立的,训练集和测试集的分布是相同的,它们是从相同的概率分布中提取的。这个假设使我们能够用概率分布描述数据生成过程。然后使用相同的分布来生成每个火车示例和每个测试示例。我们把这个共享的底层分发称为数据生成分发,表示为p_{data}。这个概率框架和i.i.d。假设条件使我们能够从数学上研究训练误差与测试误差之间的关系。- 一。古德费罗等人“深度学习书”第5.2节

我建议阅读这本书的第五章,因为作者解释了许多众所周知的ML概念(偏差、方差、过度拟合、不恰当等等)。通过这个数据生成分布的范围。

评论建议后的

编辑:

问题是,

数据生成分布如何与神经网络的训练过程相适应?

答案并不明显,主要是因为神经网络分类器是鉴别模型 (也就是说,它们不试图识别数据生成分布,而是试图找出哪些特性将类彼此分开)。此外,我还想补充一点,正如前面所述,数据生成分布是一个理论概念,而不是一个在培训中使用的具体概念。

有一种方法,通过,我们可以把这与整个训练过程联系起来。首先,考虑到NNs试图最小化其预测\hat y与实际标签y之间的交叉熵损失:

Loss(y, \hat y) = - \sum_i y_i \, log \, \hat y_i

现在,让我们把y\hat y看作不是张量,而是probability发行版。第一个表示样本属于y类的概率,第二个表示网络认为样本属于该类的概率。

我们可以更进一步,计算KL发散y之间的关系。这个度量实际上告诉我们两个发行版之间的difference (较高的值均值分布更不同)。

KL \left( y \|\| \hat y \right) = \sum_i y_i \, log \, \frac{y_i}{\hat y_i}

请注意,最小化交叉熵等于最小化这两个分布之间的KL散度。如果这两个分布相同,则它们的KL散度在0上有一个值;这个值越大,它们之间的差异就越大。

最小化两个分布之间的KL差异与最小化它们之间的JS发散是一样的。这是一个从KL派生的度量,它可以用作发行版之间的distance函数(即* y\hat y的距离有多近)。

因此,如果您这样想的话,Neural网络就会被训练使实际的数据生成分布 y and之间的距离最小化--它们对数据生成分布的感知 \hat y

为了实现这一点,必须提出一些假设:

  • 我们所拥有的样本必须代表分布(即y_i^{train} \sim y)。
  • 我们将用于评估网络的测试样本必须遵循相同的分布(即y_i^{test} \sim y)。
  • 网络必须有足够的能力来了解这种分布。
  • 为了使距离最小化,需要遵循正确的优化策略。
  • 等。
票数 5
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/54346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档