实际上,独立同分布假设是否适用于绝大多数监督学习任务?

机器算法验证 机器学习 线性模型 数据集 假设 独立同居
2022-02-02 14:35:17

独立同分布假设状态:

给定一个数据集,每个数据以独立且同分布的方式生成{(xi,yi)}i=1,,n(xi,yi)

对我来说,这在物理上意味着我们可以想象没有影响,反之亦然。(xi,yi)(xj,yj)ji

但这在实践中成立吗?

例如,最基本的机器学习任务是 MNIST 数据集的预测。有没有办法知道 MNIST 是否以 iid 方式生成?对于成千上万的其他数据集也是如此。我们“任何从业者”如何知道数据集是如何生成的?

有时我还看到人们提到对数据进行洗牌以使分布更加独立或随机。与未打乱的数据集相比,打乱是否确实创造了好处?

例如,假设我们创建了一个“顺序”MNIST 数据集,其中包含以递增序列 1、2、3、4、5、6、.. 排列的数字。显然,该数据集不是以独立的方式生成的。如果生成 1,则下一个必须是 2。但是,与 shuffled 数据集相比,在该数据集上训练分类器有什么不同吗?

只是一些基本的问题。

3个回答

IID 条件的操作意义由著名的 Bruno de Finetti 的“表示定理”给出(在我看来,这是迄今为止发现的概率论最伟大的创新之一)。根据这个绝妙的定理,如果我们有一个具有经验分布,如果序列中的值是可交换的,那么我们有:X=(X1,X2,X3,...)Fx

X1,X2,X3,...|FxIID Fx.

这意味着无限序列值的可交换性条件是这些值独立且同分布(以某些基本分布函数为条件)所需的操作条件。该定理可以应用于贝叶斯统计和经典统计(参见O'Neill 2009进一步讨论),在后一种情况下,经验分布被视为“未知常数”,因此我们通常放弃条件符号。除其他外,该定理阐明了概率论定义中“重复试验”的要求。

与许多其他概率结果一样,“表示定理”实际上是指适用于各种不同情况的一类定理。您可以在Kingman (1978)Ressel (1985)中找到对各种表示定理的很好总结由于 de Finetti 的原因,最初的版本只为值的二进制序列建立了这种对应关系。这后来被Hewitt 和 Savage (1955)扩展到最常用的更通用的版本(并且对应于上面显示的版本) 后一种表示定理有时被称为 de Finetti-Hewitt-Savage 定理,因为正是它们的扩展赋予了定理的全部力量。Diaconis 和 Freedman(1980)还有另一个有用的扩展这为有限可交换性的情况建立了一个表示定理——粗略地说,在这种情况下,在概率与实际概率和 IID 近似值之间存在有限差异的意义上,这些值是“几乎 IID”。

正如该线程上的其他答案所指出的那样,IID 条件在数学便利性和简单性方面具有各种优势。虽然我不认为这是现实主义的理由,但它肯定是这种模型结构的辅助优势,它说明了表示定理的重要性。这些定理为 IID 模型提供了操作基础,并表明假设无限序列的可交换性足以获得该模型。因此,在实践中,如果你想知道一个值序列是否是独立同分布的,你需要做的就是问自己,“如果我从这个序列中获取任何有限的值集,如果我改变它们的概率测度会改变吗?这些值的顺序?” 如果答案是否定的,那么你有一个可交换的序列,因此满足 IID 条件。

是的,数据集中的样本可能不是完全独立同分布的,但存在这个假设是为了简化建模。为了最大化数据似然性(在几乎所有模型中,这是显式或隐式优化的一部分),即,没有 iid 假设,我们必须对数据之间的依赖关系进行建模样本,即联合分布,您将无法快速编写以下内容并最大化:P(D|θ)

P(D|θ)=i=1nP(Xi|θ)

通常,对于大量样本(随机变量),少量样本之间的轻微依赖关系可以忽略不计。而且,您最终会得到类似的性能(假设依赖关系建模正确)。例如,在朴素贝叶斯中,不一定是样本,而是特征/单词肯定是依赖的。它们是同一句子/段落的一部分,由同一个人编写等。但是,我们将它们建模为好像它们是独立的并最终得到了非常好的模型。

洗牌是另一个考虑因素。一些算法不受改组的影响。但是,使用梯度下降的算法可能会受到影响,特别是神经网络,因为我们不会无限期地训练它们。例如,如果您首先将所有馈入网络,然后等等,您将一直走到那些引导您的地方,然后尝试转回所在的方向' 引导你,然后等。它可能最终会进入高原,很难回到其他方向等。洗牌使你能够在每个可能的方向上稍微走一点,而不是在某个专门的方向上越来越深。12123

对我来说,从贝叶斯的角度来看,在许多情况下,关于 iid 到底是什么以及为什么会这样的概念,一个必要的假设更有意义。在这里,数据并没有被认为是绝对意义上的独立同分布,而是在给定模型参数的情况下被认为是有条件的独立同分布

例如,从贝叶斯的角度考虑一个正常模型。在给定参数的情况下,我们指定我们认为数据是如何采样的:

Xi|μ,σ2iidN(μ,σ2)为了i{1,,n},

并表达对这些参数的先验信念:

μP(μ) ; (使用的确切先验并不重要)。σ2P(σ2)

条件独立与可能性因式分解的事实有关:

P(X1,,Xn|μ,σ2)=P(X1|μ,σ2)P(Xn|μ,σ2)

但这与说我们的模型隐含的数据的边际分布分解:

P(X1,,Xn)P(X1)P(Xn)

而且,确实,在我们的正态分布的具体情况下,通过整合参数来获得数据的边际分布确实会产生一个通常不独立的联合分布,其形式将取决于您指定的先验。

也就是说:两个观测值不独立;它们仅在给定模型参数的情况下是条件独立的(在数学符号中,) .XiXjXiXj|μ,σ2Xi⊥̸Xj

思考两个随机变量的独立性意味着什么的一个有用方法是它们不提供任何关于彼此的信息。说两个数据点不提供任何关于彼此的信息是完全荒谬的:当然,数据在某种程度上是相关的。但是通过在给定一些参数的情况下使数据有条件地独立,我们说我们的模型编码了数据之间的整个关系:我们的模型“没有任何遗漏”。

实际上,独立同分布假设是对我们的模型正确的假设:如果我们的模型中遗漏了某些内容,则数据将包含超出我们模型中编码内容的信息。如果我们知道那是什么,我们应该把它放到我们的模型中,然后做出一个独立同分布的假设。如果我们不知道它是什么,我们就不走运了。但是,我们错误地指定了模型是一个持续且不可避免的风险。

最后,一个简短的说明:乍一看,我描述的这个框架似乎不适合诸如时空模型之类的模型,在这些模型中,我们在硬编码到模型中的数据之间有明确的依赖关系。但是,在我知道的所有此类情况下,模型都可以重新参数化为具有独立同分布数据和其他(可能相关的)潜在变量的模型。