为什么数据一定是正态分布的?

正态分布

好久没有更新博客了,花了好大力气重新部署了一下,这次新增了comments功能,大家可以试试看.

最近在上模式识别与机器学习的课,其中提到了贝叶斯判别分析,其中提到了正态分布的假设。实际上,我一直没有理解为什么一定要用正态分布,或者说为什么经常是假设其为正态分布。本科上概率论与数理统计的时候,我就对此产生了疑问,而真正想清楚这个问题确实是花了相当久,它背后其实有很多有意思的数学推理。

我们都知道在贝叶斯判别分析中,核心思想是“选取后验概率最大的类别”。但后验概率的计算依赖于每一类的概率密度函数 p(x|ωi)。这时,大多数教材都会直接写一句话:“假设 p(x|ωi) 服从多维正态分布”。可这恰恰是我最初的疑问:为什么是正态?这假设合理吗?如果不是正态,会怎样?我一向是比较喜欢从0开始推导的,所以就写一篇博客来记录一下这个过程。

什么是正态分布

正态分布(Normal Distribution),也称为高斯分布(Gaussian Distribution),是概率论中最重要的分布之一。它的概率密度函数(PDF)呈现出钟形曲线,因此也被称为“钟形曲线”。正态分布具有以下几个特点:

  • 对称性:正态分布的曲线是对称的,均值两侧的值对称分布。
  • 单峰性:正态分布只有一个峰值,即最高点。
  • 正态分布的均值、标准差和概率密度函数完全由这两个参数确定。

一维正态分布的数学表达式为:

$$ f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} $$

其中,μ是均值,σ是标准差。

为什么数据一定是正态分布的?

在回答这个问题之前,我们首先在心中保持这样的观念: 我们的观察是后验的,我们无法知道真实的数据分布,我们只能通过观察来近似真实的数据分布。 从观测角度讲我们往往只知道数据的均值和方差。此时,能满足这些约束的分布有无穷多种。 当我们只知道部分统计特征(比如均值与方差)时,怎样去构造一个合理的概率分布?如果我们随意假设一种形式,就相当于在数据之外加入了主观偏好。我们希望一种“信息最少”的假设方式——这就引出了最大熵原理。

最大熵原理

什么叫最大熵呢?可以看我之前写的最大熵模型:最大熵模型

熵代表了“不确定性”。Jaynes 对其有一个非常拗口的陈述:

The principle of maximum entropy states that the probability distribution which best represents the current state of knowledge about a system is the one with largest entropy, in the context of precisely stated prior data (such as a proposition that expresses testable information).

这里的意思是,在已知某些约束条件下,熵最大的分布是最优的。可是,还是需要进一步回答,熵最大是什么意思?最优指的是和什么比较?

首先,熵最大是什么意思?熵的定义是:

H(X) = −∑x ∈ Xp(x)log p(x)

其中,p(x)X的概率分布。熵实际是对随机变量的比特量和发生概率相乘再总和的数学期望,也就是说熵越大,不确定性越大。熵最大的时候,说明随机变量最不确定,也就是随机变量最随机,对其行为做准确预测最困难。那么最大熵原理的实质就是,在已知部分知识的前提下,关于未知分布最合理的推断就是符合已知知识最不确定或最随机的推断,这是我们可以作出的不偏不倚的选择,任何其它的选择都意味着我们增加了其它的约束和假设,这些约束和假设根据我们掌握的信息无法作出。

这里需要反复品鉴这句话的内涵,什么叫做不偏不倚的选择,也就是说如果我们不选择最大熵的模型,而是选择其他的模型,那么就是我们增加了一些预设的约束和假设,而这些约束和假设并不一定符合真实的数据分布。

所以回到我们一开始的问题,在已知均值和方差的情况下,熵最大的分布就是正态分布。

maxpH(p) = −∫p(x)ln p(x) dx,  s.t. 𝔼[x] = μ, 𝔼[(x − μ)2] = σ2 ⇒ p(x) ∝ e−(x − μ)2/(2σ2).

因此,最大熵原理告诉我们:当我们只知道均值与方差,而对数据的其他特性一无所知时,最合理的分布假设就是正态分布。

多维正态分布的情形

现在,我们已经知道了在一维情况下,正态分布是最优的选择。那么,在多维情况下,正态分布是否也是最优的选择呢?

在多维情况下,正态分布的定义是:

$$ p(x) = \frac{1}{(2\pi)^{n/2}|\Sigma|^{1/2}} e^{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)} $$

其中,μ是均值,Σ是协方差矩阵。

在这里,其实我们又会引入一个新问题,在多维情况下,为什么会引入协方差矩阵?

在多变量情形下利用最大熵原理,用拉格朗日乘子法(对约束条件加乘子),做变分求解。求解的 Euler–Lagrange 方程给出的最优解是:

$$ p(x)\propto \exp\Big( -\tfrac{1}{2}(x-\mu)^\top \Sigma^{-1}(x-\mu) \Big), $$

其中,μ是均值,Σ是协方差矩阵。在多维情况下,正态分布的分布也是满足均值和协方差约束的分布中熵最大的分布。

接下来,我们来理解一下这里的协方差矩阵的实际含义是什么。实际上,这里的二次型$-\tfrac{1}{2}(x-\mu)^\top \Sigma^{-1}(x-\mu)$是马氏距离的平方,用来描述x偏离均值μ的“标准化距离”。

  • 方差越大的方向,距离被压缩(波动大时偏离算“小”)。
  • 有相关的方向,距离会沿着协方差的“椭圆”方向计算。

而前面的$\frac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}}$则是为了保证整个空间上的积分为1,使它成为真正的概率密度。

  • (2π)d/2 来自 d 维高斯积分的体积。
  • |Σ|1/2 表示协方差矩阵的体积缩放:协方差越大,密度峰值越低(因为同样的“总概率”要铺到更大的范围)。

马氏距离

我们都知道,单变量情形下不需要考虑相关性,但如果在多变量情形下,不同变量之间有相关性,那么我们就需要考虑相关性。为什么这么说呢?

举个例子,假设我们有两个变量x1x2,它们分别代表一个人的身高和体重,它们之间有相关性,身高越高,体重越重。如果我们不考虑相关性,那么我们就无法正确地描述数据的分布。

p(x1, x2) = p(x1)p(x2)

但是,如果我们考虑相关性,那么我们就需要考虑相关性。

p(x1, x2) = p(x1)p(x2|x1)

这个时候,如果我们还想要在高维空间里定义一个“以某个中心为最高点、离中心越远概率越小”的分布,那么这个“远近”必须同时考虑:

  • 各维度量纲不同:不同变量方差差别大;
  • 各维度间有相关性:方向并不正交。

因此,我们就需要引入协方差矩阵来描述相关性,马氏距离定义为

$$ D_M(\mathbf x) = \sqrt{(\mathbf x-\boldsymbol\mu)^\top \Sigma^{-1} (\mathbf x-\boldsymbol\mu)}. $$

背后的操作可以拆解:

  1. 白化(whitening):

把数据进行线性变换,变换后 z 的协方差是单位阵 I,各维度方差1、互不相关。

z = Σ−1/2(x − μ),

  1. 计算欧氏距离:

$$ D_E(\mathbf z) = \sqrt{\mathbf z^\top \mathbf z} = \sqrt{(\mathbf x-\boldsymbol\mu)^\top \Sigma^{-1} (\mathbf x-\boldsymbol\mu)} $$

经过线性变换后,就可以得到等密度面是满足马氏距离为常数的点集,几何上是一族椭球面;

  • 椭球的方向由 Σ 的特征向量决定,长短轴由特征值的平方根决定。

换句话说,多元正态的“钟形”并不是圆的,而是一个按照协方差拉伸、旋转过的椭球。马氏距离恰好就是这个椭球坐标系下的“半径”。这也解释了为什么在多维空间中,线性判别边界往往是“马氏距离相等”的集合:它实际上是在不同类别的椭球之间取中垂面。

总结

正态分布并不意味着“世界真的是高斯的”,而是说,在我们信息不足、又需要可计算模型的前提下,它是最合理的折中。如果不是高斯分布呢? 假设我们只知道一个变量的取值上下界a,b, 聪明的你一定已经猜到,这个时候对其最合理的假设是什么了?