【发布时间】:2012-10-15 00:49:01
【问题描述】:
我已经阅读了一些关于 non-iid 数据的论文。根据维基百科,我知道什么是 iid(独立且相同的分布式)数据,但我仍然对 non-iid 感到困惑。我做了一些研究,但找不到明确的定义和例子。有人可以帮我吗?
【问题讨论】:
标签: statistics machine-learning probability-theory
我已经阅读了一些关于 non-iid 数据的论文。根据维基百科,我知道什么是 iid(独立且相同的分布式)数据,但我仍然对 non-iid 感到困惑。我做了一些研究,但找不到明确的定义和例子。有人可以帮我吗?
【问题讨论】:
标签: statistics machine-learning probability-theory
来自维基百科iid:
“独立同分布”意味着序列中的一个元素独立于它之前的随机变量。这样一来,IID 序列不同于马尔可夫序列,马尔可夫序列的第 n 个随机变量的概率分布是序列中前一个随机变量的函数(对于一阶马尔可夫序列)。
作为一个简单的合成示例,假设您有一个具有 6 个面的特殊骰子。如果上一次面值为1,那么下次你扔它,仍然会以0.5的概率得到面值为1,以0.1的概率得到面值为2、3、4、5、6的各面值。但是,如果最后一次面值不是 1,那么你得到每个面的概率相等。例如,
p(face(0) = k) = 1/6, k = 1,2,3,4,5,6 -- > initial probability at time 0.
p(face(t) = 1| face(t-1) = 1) = 0.5, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 2| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 3| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 4| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 5| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 6| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
face(t) stands for the face value of t-th throw.
这是一个示例,当第 n 个随机变量(第 n 次投掷的结果)的概率分布是序列中前一个随机变量的函数时。
我在一些机器学习场景中看到了非相同和非独立(例如马尔可夫)数据,这可以被认为是非独立同分布的例子。
使用流数据进行在线学习,当传入示例的分布随时间变化时:示例的分布不同。假设您有一个用于预测在线广告点击率的学习模块,来自用户的查询词的分布在一年中根据季节性趋势发生变化。夏季和圣诞节期间的查询词应该有不同的分布。
主动学习,学习者要求特定数据的标签:也违反了独立性假设。
使用图形模型学习/进行推理。变量通过依赖关系连接。
【讨论】:
以一种非常随意的方式(因为我假设您已经阅读了技术定义),i.i.d.意味着如果你有一堆值,那么这些值的所有排列都有相等的概率。所以如果我有3,6,7,那么这个概率等于7,6,3等于6,7,3的概率等等。也就是说,每个值都不依赖于序列中的其他值。
作为一个反例,想象序列x,其中每个元素x_i 比前一个元素高一或低一,有50-50 的机会发生这些中的哪一个。那么一个可能的序列是1,2,3,2,3,4,3,2。应该清楚的是,该序列的某些排列不是等概率的:特别是,以1,4,... 开头的序列的概率为零。如果您愿意,您可以考虑将 x_i | x_i-1 形式的对视为 iid。
【讨论】:
这是一个不独立的问题示例。问题定义: 假设您有一个 2D 图像,其中有一个 blob。您想要构建一个以 5X5 图像块作为输入进行操作的块分类器,并将中心像素分类为“边界”或“非边界”。您的要求是每个补丁的生成分类定义一个连续的轮廓(一个像素厚),该轮廓准确地围绕 blob 的边界进行跟踪。本质上是一个边缘检测器。还假设将边界错位几个像素的轻微错误无关紧要,但边界轮廓的连续性确实很重要(它不应该有任何中断)。
这不是独立的: 示例 1:假设您有一个很好的解决方案轮廓 A。另一个有效的解决方案 B,它只是将 A 向右移动了 2 个像素,请注意,大多数像素级别的分类是不同的,但该解决方案仍然有效。 示例 2:假设您获得了有效的解决方案 A,但只有一个输出像素右移了 2 个像素以创建输出 C。这次您的轮廓已损坏,解决方案无效。这演示了分类器如何需要了解其他附近像素示例的答案,以确定是否应将特定像素分类为边界。
【讨论】:
从字面上看,non iid 应该与 iid 相反,independent 或 identical。
例如,抛硬币,设X为结果为尾的事件的随机变量,Y为结果为头的事件的随机变量,则X和Y肯定是依赖的。它们可以由彼此决定。
对于非identical,一旦两个随机变量的分布不相同,就可以称为非相同。
因此,任何一种情况都会发生,您可能会得到non iid 案例的示例。
【讨论】:
“iid”实际上不是真实数据的属性,而是观察者对该数据的假设。 greeness 的回答是“假设 [...] 数据”,那么我完全同意他们的看法。
但是,由于问题特别要求提供非 iid 数据的示例,因此必须添加 没有此类数据,因为您可以从字面上获取任何数据并假设它是 iid 或不是 iid。这种假设只是对选项的一个有益限制,它使统计建模更容易,甚至在许多情况下都是可能的。
这在 iid 经常被表示为真实世界数据的属性的文献中并没有很清楚。这是可以理解的,但仍然有点危险,因为它隐含地假设我们作为观察者可以确定有关数据来源(即生成过程)的信息,而实际上我们无法确定。
当然,这只适用于真实世界的数据。任何人都可以根据某种分布生成人工数据,这必然导致数据是独立同分布的。 但如果不了解事实数据之外的生成过程,则无法确定这一点。 仅给定数据,无法判断它是否是独立同分布的。
我知道有些方法假设数据是非独立同分布的,并尝试相应地找到不同的分布。在许多情况下,这会有所帮助,因为数据实际上是由非平稳随机过程生成的。但是数据只为您提供样本,并且确定它是否真的是独立同分布所需的归纳推理总是容易出错。
【讨论】: