例如,我们总是假设数据或信号误差是高斯分布?为什么?
7 回答
你会从有数学头脑的人那里得到的答案是“因为中心极限定理”。这表达了这样一种想法,即当您从几乎任何分布*中获取一堆随机数并将它们加在一起时,您将得到近似正态分布的东西。你加在一起的数字越多,它的正态分布就越多。
我可以在 Matlab/Octave 中演示这一点。如果我在 1 到 10 之间生成 1000 个随机数并绘制直方图,我会得到类似这样的结果
如果我不生成单个随机数,而是生成 12 个并将它们相加,然后执行 1000 次并绘制直方图,我会得到如下结果:
我在顶部绘制了具有相同均值和方差的正态分布,因此您可以了解匹配的接近程度。你可以在这个 gist看到我用来生成这些图的代码。
在典型的机器学习问题中,您会遇到来自许多不同来源的错误(例如,测量错误、数据输入错误、分类错误、数据损坏……),并且认为所有这些错误的综合影响大约为正常(当然,你应该经常检查!)
对这个问题更务实的答案包括:
因为它使数学变得更简单。正态分布的概率密度函数是二次的指数函数。取对数(就像你经常做的那样,因为你想最大化对数似然)给你一个二次方。对此进行微分(以找到最大值)为您提供一组线性方程,这些方程易于解析求解。
这很简单 - 整个分布由两个数字描述,均值和方差。
大多数将阅读您的代码/论文/报告的人都熟悉它。
这通常是一个很好的起点。如果你发现你的分布假设给你带来了糟糕的表现,那么也许你可以尝试不同的分布。但是您可能应该首先考虑其他方法来提高模型的性能。
*技术点 - 它需要有有限的方差。
高斯分布是最“自然”的分布。他们无处不在。以下是让我认为高斯分布是最自然分布的属性列表:
- 正如 nikie 所指出的,几个随机变量(如骰子)的总和往往是高斯的。(中心极限定理)。
- 机器学习中出现了两个自然的思想,标准差和最大熵原理。如果你问这个问题,“在标准差为 1 且均值为 0 的所有分布中,熵最大的分布是什么?” 答案是高斯。
- 随机选择高维超球面内的一个点。任何特定坐标的分布近似为高斯分布。对于超球面表面上的随机点也是如此。
- 从高斯分布中抽取几个样本。计算样本的离散傅里叶变换。结果具有高斯分布。我很确定高斯分布是唯一具有此属性的分布。
- 傅里叶变换的特征函数是多项式和高斯的乘积。
- 微分方程 y' = -xy 的解是高斯的。这一事实使高斯计算更容易。(高级导数涉及 Hermite 多项式。)
- 我认为高斯分布是唯一在乘法、卷积和线性变换下都闭合的分布。
- 涉及高斯的问题的最大似然估计也往往是最小二乘解。
- 我认为随机微分方程的所有解决方案都涉及高斯。(这主要是中心极限定理的结果。
- “正态分布是唯一一个绝对连续的分布,其所有超出前两个的累积量(即除均值和方差之外)都为零。” - 维基百科。
- 对于偶数 n,高斯的 n 阶矩只是一个整数乘以标准差的 n 次方。
- 许多其他标准分布与高斯分布密切相关(即二项式、泊松、卡方、学生 t、瑞利、逻辑、对数正态、超几何......)
- “如果 X1 和 X2 是独立的并且它们的和 X1 + X2 是正态分布的,那么 X1 和 X2 也必须是正态的”——来自维基百科。
- “正态分布均值的共轭先验是另一个正态分布。” ——来自维基百科。
- 当使用高斯时,数学更容易。
- Erdős-Kac 定理意味着“随机”整数的质因子分布是高斯分布。
- 气体中随机分子的速度呈高斯分布。(标准差 = z*sqrt( k T / m) 其中 z 是常数,k 是玻尔兹曼常数。)
- “高斯函数是量子谐振子基态的波函数。” ——来自维基百科
- 卡尔曼滤波器。
- 高斯-马尔可夫定理。
这篇文章交叉发布在http://artent.net/blog/2012/09/27/why-are-gaussian-distributions-great/
信号误差通常是许多独立误差的总和。例如,在 CCD 相机中,可能会有大部分独立的光子噪声、传输噪声、数字化噪声(甚至更多),因此由于中心极限定理,误差通常呈正态分布。
此外,将误差建模为正态分布通常会使计算变得非常简单。
我有同样的问题“对预测变量或目标进行高斯变换有什么好处?” 事实上,caret 包有一个预处理步骤可以实现这种转换。
这是我的理解-
1) Nature 中的数据分布通常遵循正态分布(少数例子,例如 - 年龄、收入、身高、体重等)。因此,当我们不了解潜在的分布模式时,它是最好的近似值。
2) ML/AI 的目标通常是努力使数据线性可分,即使这意味着将数据投影到更高维空间中以找到合适的“超平面”(例如 - SVM 内核、神经网络层、 Softmax 等,)。这样做的原因是“线性边界总是有助于减少方差,并且是最简单、自然和可解释的”,除了降低数学/计算复杂性。而且,当我们瞄准线性可分性时,减少异常值、影响点和杠杆点的影响总是好的。为什么?因为超平面对影响点和杠杆点(又名异常值)非常敏感——为了理解这一点——让我们转移到一个二维空间,我们有一个预测变量(X)和一个目标(y),并假设存在良好的正相关在 X 和 y 之间。鉴于此,如果我们的 X 是正态分布的并且 y 也是正态分布的,那么您最有可能拟合一条直线,该直线的中心有许多点而不是端点(又名异常值、杠杆/影响点) )。因此,在对看不见的数据进行预测时,预测的回归线很可能几乎没有变化。您最有可能拟合一条直线,该直线的中心有许多点,而不是端点(又名异常值,杠杆/影响点)。因此,在对看不见的数据进行预测时,预测的回归线很可能几乎没有变化。您最有可能拟合一条直线,该直线的中心有许多点,而不是端点(又名异常值,杠杆/影响点)。因此,在对看不见的数据进行预测时,预测的回归线很可能几乎没有变化。
将上述理解外推到 n 维空间并拟合超平面以使事物线性可分确实很有意义,因为它有助于减少方差。
数学通常不会出来。:)
正态分布很常见。见尼基的回答。
即使是非正态分布也常常被视为具有较大偏差的正态分布。是的,这是一个肮脏的黑客。
第一点可能看起来很有趣,但我对存在非正态分布且数学变得非常复杂的问题进行了一些研究。在实践中,经常进行计算机模拟以“证明定理”。
为什么它在机器学习中被大量使用是一个很好的问题,因为它在数学之外使用的通常理由通常是虚假的。
你会看到人们通过“中心极限定理”给出正态分布的标准解释。
但是,这样做存在问题。
您在现实世界中的许多事情中发现的是,该定理的条件通常不满足……甚至不满足。尽管这些东西似乎是正态分布的!
因此,我不仅在谈论看起来不呈正态分布的事物,而且还谈论那些看起来呈正态分布的事物。
这在统计学和经验科学中有很长的历史。
尽管如此,关于中心极限定理的解释仍然存在许多智力惯性和错误信息,这些信息已经持续了几十年。我想这可能是答案的一部分。
尽管正态分布可能不像曾经想象的那样正态,但事物以这种方式分布的时间必须有一些自然基础。
最好但不完全充分的理由是最大熵解释。这里的问题是熵有不同的度量。
无论如何,机器学习可能只是随着某种思维定势以及恰好适合高斯的数据的确认偏差而发展起来的。
我最近在 David Mackay 的书“信息理论、推理和学习算法”第 28 章中读到了一个有趣的观点,我将在这里简要总结一下。
假设我们想在给定一些数据P( w | D )的情况下近似参数的后验概率。一个合理的近似值是围绕某个兴趣点的泰勒级数展开。这一点的一个很好的候选者是最大似然估计w*。使用P 在w*处的对数概率的二阶泰勒级数展开:
log(P( w | D )) = log(P( w* | D )) + ∇log(P( w* | D ))( w - w* ) - (1/2)( w - w* ) ^T(-∇∇log(P( w* | D )))( w - w* ) +O(3)
由于 ML 是最大值,∇log(P( w* | D ))=0。定义Γ =(-∇∇log(P( w* | D ))),我们有:
log(P( w | D )) ≈ log(P( w* | D )) - (1/2)( w - w* )^T Γ ( w - w* )。
取加法项的指数:
P( w | D ) ≈ cte exp(- (1/2)( w - w* )^T Γ ( w - w* ))
其中 cte=P( w* | D )。所以,
高斯 N( w* , Γ ^(-1)) 是任何给定分布在其最大似然处的二阶泰勒级数逼近。
其中w*是分布的最大似然,Γ是其在w*处的对数概率的 Hessian 。