高斯分布是概率统计和机器学习中最常用到的分布之一,在数学上经常被记为N(μ,∑)\mathcal{N}(\mu, \sum)N(μ,∑),其中μ\muμ为均值,∑\sum∑是协方差矩阵。高维高斯分布的具体形式如下:
N(μ,∑)=1(2π)D2∣∑∣12e−12(x−μ)T∑−1(x−μ), (1)\mathcal{N}(\mu, \sum)=\frac{1}{{(2\pi)}^{\frac{D}{2}}{|\sum|^{\frac{1}{2}}}}e^{-\frac{1}{2}(\mathbf{x}-\mu)^T \sum^{-1}(\mathbf{x}-\mu)},\ \ \ \ \ \ (1)N(μ,∑)=(2π)2D∣∑∣211e−21(x−μ)T∑−1(x−μ), (1) 其中DDD是数据x\mathbf{x}x的维度,∣∑∣|\sum|∣∑∣是矩阵∑\sum∑的行列式值。
高维高斯分布的形式比较复杂,那么先从一维的高斯分布开始说起。在一维的情况下,μ\muμ和∑\sum∑均为标量。因此,一维的高斯分布也记为:
N(μ,σ2)=12πσe−(x−μ)22σ2. (2)\mathcal{N}(\mu, \sigma^2)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}.\ \ \ \ \ \ (2)N(μ,σ2)=2πσ1e−2σ2(x−μ)2. (2) 首先,我们来证明公式(2)是一个概率分布,也就是N(μ,σ2)\mathcal{N}(\mu, \sigma^2)N(μ,σ2)在数轴上的积分要等于1。 但是,大家学习微积分的时候应该讲过e−x2e^{-x^2}e−x2(公式(2)可以通过变量替换很容易得到这个形式)这类积分是没有解析解的,尝试用分部积分这些方法也无法得到积分结果。因此,我们必须换个角度来看这个问题,寻找一切相关信息来试图得到积分结果。虽然e−x2e^{-x^2}e−x2是没有原函数的,但是xe−x2xe^{-x^2}xe−x2是有的,找到这个形式就可以来解决这个问题。因此,我们可以这样操作,求e−(x2+y2)e^{-(x^2+y^2)}e−(x2+y2)的积分结果,然后利用这个积分与ex2e^{x^2}ex2的积分结果之间的关系,得到最终结果。先来利用极坐标变换试图进行e−(x2+y2)e^{-(x^2+y^2)}e−(x2+y2)的积分:
∫∫−∞∞e−(x2+y2)dxdy=∫02π∫0∞e−r2rdrdθ=∫02π−12e−r2∣0∞dθ=π.\int\int_{-\infty}^{\infty}e^{-(x^2+y^2)}dxdy = \int_0^{2\pi}\int_{0}^{\infty}e^{-r^2}rdrd\theta=\int_0^{2\pi}-\frac{1}{2}e^{-r^2}|_{0}^{\infty}d\theta=\pi.∫∫−∞∞e−(x2+y2)dxdy=∫02π∫0∞e−r2rdrdθ=∫02π−21e−r2∣0∞dθ=π. 又由于∫∫−∞∞e−(x2+y2)dxdy=∫−∞∞e−x2dx∫−∞∞e−y2dy=(∫−∞∞e−x2dx)2\int\int_{-\infty}^{\infty}e^{-(x^2+y^2)}dxdy=\int_{-\infty}^{\infty}e^{-x^2}dx\int_{-\infty}^{\infty}e^{-y^2}dy=(\int_{-\infty}^{\infty}e^{-x^2}dx)^2∫∫−∞∞e−(x2+y2)dxdy=∫−∞∞e−x2dx∫−∞∞e−y2dy=(∫−∞∞e−x2dx)2, 所以∫−∞∞e−x2dx=π\int_{-\infty}^{\infty}e^{-x^2}dx=\sqrt{\pi}∫−∞∞e−x2dx=π. 下面我们由这个事实来证明N(μ,σ2)\mathcal{N}(\mu, \sigma^2)N(μ,σ2)在数轴上积分等于1。
∫−∞∞12πσe−(x−μ)22σ2dx=∫−∞∞12πσe−y22σ2dy=∫−∞∞12πσe−(y2σ)2dy,\int_{-\infty}^{\infty}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}dx=\int_{-\infty}^{\infty}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{y^2}{2\sigma^2}}dy=\int_{-\infty}^{\infty}\frac{1}{\sqrt{2\pi}\sigma}e^{-(\frac{y}{\sqrt{2}\sigma})^2}dy,∫−∞∞2πσ1e−2σ2(x−μ)2dx=∫−∞∞2πσ1e−2σ2y2dy=∫−∞∞2πσ1e−(2σy)2dy, 再次进行变量代换,令z=y2σz=\frac{y}{\sqrt{2}\sigma}z=2σy,代入上式可得:
∫−∞∞12πσe−(y2σ)2dy=∫−∞∞12πσe−z22σdz=∫−∞∞1πe−z2dz=1\int_{-\infty}^{\infty}\frac{1}{\sqrt{2\pi}\sigma}e^{-(\frac{y}{\sqrt{2}\sigma})^2}dy=\int_{-\infty}^{\infty}\frac{1}{\sqrt{2\pi}\sigma}e^{-z^2}\sqrt{2}\sigma
dz=\int_{-\infty}^{\infty}\frac{1}{\sqrt{\pi}}e^{-z^2}dz=1∫−∞∞2πσ1e−(2σy)2dy=∫−∞∞2πσ1e−z22σdz=∫−∞∞π1e−z2dz=1
数学上的形式变换会带来意想不到的惊喜,寻找对证明、算法设计有益处的变换要靠我们对公式形式的仔细观察。所谓曲径通幽,柳暗花明。世界上唯一不变的是变化,数学推导和证明更是体现了这一点,要求我们要从各个角度考察手头的问题。
为了帮助大家记忆公式(1),特别是其中的D2\frac{D}{2}2D的指数,我们来看一个简单的事实:
∫..∫−∞∞e−(x1−μ1)2+...+(xD−μD)22σ2dx1dx2...dxD=∫−∞∞e−(x1−μ1)22σ2∫−∞∞e−(x2−μ2)22σ2...∫−∞∞e−(xD−μD)22σ2=2πDσD=(2π)D2(σ2)D2\int..\int_{-\infty}^{\infty}e^{-\frac{(x_1-\mu_1)^2+...+(x_D-\mu_D)^2}{2\sigma^2}}dx_1dx_2...dx_D\\=\int_{-\infty}^{\infty}e^{-\frac{(x_1-\mu_1)^2}{2\sigma^2}}\int_{-\infty}^{\infty}e^{-\frac{(x_2-\mu_2)^2}{2\sigma^2}}...\int_{-\infty}^{\infty}e^{-\frac{(x_D-\mu_D)^2}{2\sigma^2}}=\sqrt{2\pi}^D\sigma^D=(2\pi)^\frac{D}{2}({\sigma^2})^{\frac{D}{2}}∫..∫−∞∞e−2σ2(x1−μ1)2+...+(xD−μD)2dx1dx2...dxD=∫−∞∞e−2σ2(x1−μ1)2∫−∞∞e−2σ2(x2−μ2)2...∫−∞∞e−2σ2(xD−μD)2=2πDσD=(2π)2D(σ2)2D上式相当于将公式(1)中的协方差矩阵∑\sum∑设为一个对角阵,且对角线上元素是σ2\sigma^2σ2而得到公式(1)中exp函数的指数部分。这个事实也证明了公式(1)在协方差矩阵∑\sum∑为对角阵的情况下在整个定义域积分为1.
最后,我们还有一个任务,证明公式(1)的最普遍的形式在整个定义域上积分为1,可以做为概率分布使用。为了得到这个结论,首先说明一下,协方差矩阵∑\sum∑是一个对称正定阵,其逆矩阵必然存在且可进行特征值分解,即:∑−1=UTΓU\sum^{-1}=\mathbf{U}^T\mathbf{\Gamma}\mathbf{U}∑−1=UTΓU, 其中Γ\mathbf{\Gamma}Γ为对角阵,对角线元数为∑−1\sum^{-1}∑−1特征值。 U\mathbf{U}U为正交阵,即UTU=I\mathbf{U}^T\mathbf{U}=\mathbf{I}UTU=I。
∫...∫−∞∞e−12(x−μ)T∑−1(x−μ)dx1..dxD=y=x−μ∫...∫−∞∞e−12yT∑−1ydy1..dyD=∫...∫−∞∞e−12yTUTΓUydy1..dyD=z=Uy∫...∫−∞∞e−12zTΓz∣UT∣dz1..dzD,\int...\int_{-\infty}^{\infty}e^{-\frac{1}{2}(\mathbf{x}-\mu)^T \sum^{-1}(\mathbf{x}-\mu)}dx_1..dx_D\underset{\mathbf{y}=\mathbf{x}-\mu}{=}\int...\int_{-\infty}^{\infty}e^{-\frac{1}{2}\mathbf{y}^T \sum^{-1}\mathbf{y}}dy_1..dy_D\\=\int...\int_{-\infty}^{\infty}e^{-\frac{1}{2}\mathbf{y}^T \mathbf{U}^T\mathbf{\Gamma}\mathbf{U}\mathbf{y}}dy_1..dy_D\underset{\mathbf{z = Uy}}{=}\int...\int_{-\infty}^{\infty}e^{-\frac{1}{2}\mathbf{z}^T\mathbf{\Gamma}\mathbf{z}}|U^T|dz_1..dz_D,∫...∫−∞∞e−21(x−μ)T∑−1(x−μ)dx1..dxDy=x−μ=∫...∫−∞∞e−21yT∑−1ydy1..dyD=∫...∫−∞∞e−21yTUTΓUydy1..dyDz=Uy=∫...∫−∞∞e−21zTΓz∣UT∣dz1..dzD, 其中U\mathbf{U}U为正交阵,所以∣U∣=∣UT∣=1|\mathbf{U}|=|\mathbf{U}^T|=1∣U∣=∣UT∣=1,且∣Γ∣=∣∑−1∣=1∣∑∣|\mathbf{\Gamma}| = |\sum^{-1}|=\frac{1}{|\sum|}∣Γ∣=∣∑−1∣=∣∑∣1。设Γ\mathbf{\Gamma}Γ的对角线元数为1σ12,...,1σD2\frac{1}{\sigma_1^2},...,\frac{1}{\sigma_D^2}σ121,...,σD21, 其中σi\sigma_iσi为矩阵 ∑\sum∑特征值的开方 (对称正定阵的特征值大于0,不熟悉的同学请看矩阵分析),上式可转化为:
∫...∫−∞∞e−12((z1σ1)2+(z2σ2)2+...+(zDσD)2)dz1..dzD=2πσ12πσ2...2πσD=(2π)D2∣∑∣12\int...\int_{-\infty}^{\infty}e^{-\frac{1}{2}((\frac{z_1}{\sigma_1})^2+(\frac{z_2}{\sigma_2})^2+...+(\frac{z_D}{\sigma_D})^2)}dz_1..dz_D=\sqrt{2\pi}\sigma_1\sqrt{2\pi}\sigma_2...\sqrt{2\pi}\sigma_D=(2\pi)^{\frac{D}{2}}|\sum|^{\frac{1}{2}}∫...∫−∞∞e−21((σ1z1)2+(σ2z2)2+...+(σDzD)2)dz1..dzD=2πσ12πσ2...2πσD=(2π)2D∣∑∣21
由此,公式(1)的积分为1得证。