Dark Dwarf Blog background

特征向量与多元正态分布

特征向量与多元正态分布

1. 特征向量

a.a. 相关概念

特征向量的定义如下:给定一个矩阵 AA,如果有某个向量 vv 满足 Av=λvAv=\lambda v,那么 vv 就是 AA 的特征向量。

特征向量的几何意义如下:它把矩阵 AA 的变换转换成了一个伸缩变换 λ\lambda

b.b. 构建具有特定特征向量的矩阵

下面我们讲解一下如何从指定的特征向量和特征值,反向构造出一个对称矩阵 AA

首先,我们构造一个特殊的坐标系(Orthonormal Coordinate System):我们选择 nnnn 维的向量 v1,,vnv_1,\dots,v_n,它们需要满足如下条件:

  • 互相正交(mutually orthogonal):任意两个不同的向量 viv_ivjv_j 的点积为。从几何上讲,它们互相垂直。
  • 单位向量(unit vectors):每个向量自身的长度都为 1。

然后我们将这 nn 个标准正交向量作为列,排列起来,形成一个 n×nn × n 的方阵,记为 VV。这个矩阵具有如下的特点:

  • VVT=IVV^T=I:对角线上的元素由于都是单位向量,结果为 1;非对角线上的元素由于向量间彼此正交,结果为 0。
  • VV 为正交矩阵:由 VVT=IVV^T=I 可得 VT=V1V^T=V^{-1}

我们再选择 nn 个数值,称为特征值(eigenvalues),记为 λ1,λ2,,λnλ_1, λ_2, \dots, λ_n。我们把这些特征值放在一个 n×nn \times n 矩阵的对角线上,其他位置全填0。这个矩阵记为 Λ\Lambda,它是一个对角矩阵。

我们将针对单个向量的 Av=λvAv=\lambda v 写成矩阵形式:

AV=VΛAV=V \Lambda

这个矩阵形式一次性描述了 nn 个特征向量与特征值。我们在式子两端同时乘 V1V^{-1}

AVV1=AI=VΛV1A=VΛV1AVV^{-1}=AI=V\Lambda V^{-1} \Rightarrow A=V\Lambda V^{-1}

也即:

A=i=1nλiviviTA=\sum_{i=1}^n\lambda_iv_iv_i^T

这个公式即是特征分解(Eigendecomposition)。它表明,任何一个实对称矩阵 AA 都可以被分解为一个正交矩阵 VV、一个对角矩阵 ΛΛVV 的转置 VTV^T 的乘积。而求和形式的公式表明 AA 可以看作是 nn 个秩为 1 的简单矩阵 viviTv_i \cdot v_i^T 的加权和,而权重就是对应的特征值 λiλ_i。这揭示了矩阵 A 的深层结构。

这里面的不同矩阵的几何意义如下:

  • VV 的列是 Σ1\Sigma^{-1} 的特征向量。VV 代表了旋转
  • Λ\Lambda 对角线上的元素是 Λ\Lambda 的特征值 λi\lambda_iΛ\Lambda 代表了缩放/拉伸

2. 各向异性高斯分布

一个各向异性的二维高斯分布就像一个被“压扁”或“拉伸”了的椭圆形山丘,其等高线是一系列同心椭圆。这意味着数据在某些方向上的方差比其他方向上更大

a.a. 基本概念

多元高斯分布的概率密度函数如下:

XN(μ,Σ),f(x)=1(2π)d/2Σexp(12(xμ)TΣ1(xμ))X\sim\mathcal{N}(\mu ,\Sigma),\qquad f(x)=\frac{1}{(2\pi)^{d/2}\,\sqrt{|\Sigma|}}\exp\left(-\frac{1}{2}(x-\mu )^T{\Sigma}^{-1}(x-\mu )\right)

b.b. 对多元高斯分布的分析

我们将多元高斯分布的式子写成如下形式:

f(x)=n(q(x)),q(x)=(xμ)TΣ1(xμ)f(x)=n\bigl(q(x)\bigr),\qquad q(x)=(x-\mu )^T{\Sigma}^{-1}(x-\mu )

我们对 q(x)q(x) 部分进行分析:这是一个二次型表达式。由协方差矩阵 Σ\Sigma 的定义,Σ\Sigma 是一个对称矩阵,因此我们可以对它做如下分解:

Σ1=VΛV1\Sigma^{-1}= V \Lambda V^{-1}

并令 x=(xμ)x'=(x-\mu ),则有:

q(x)=xVΛV1xT=(xV)Λ(xV)Tq(x)=x'V\Lambda V^{-1} x'^{T}=(x'V)\Lambda(x'V)^T

Y=VTxY=V^Tx',这个变换的几何意义是:将坐标系旋转,使得新的坐标轴与 Σ1\Sigma ^{-1} 的特征向量方向对齐。则:

q(Y)=YTΛYq(Y)=Y^T\Lambda Y

也即:

q(Y)=i=1nλiyi2q(Y)=\sum_{i=1}^{n}\lambda_i y_i^2

我们将二次型的分布想象成一个“碗”,那么:

  • 碗的方向由精度矩阵 Σ1\Sigma⁻¹ 的特征向量(VV 的列向量)决定。这些特征向量就是碗的主轴方向,也就是椭圆等高线的长轴和短轴所在的方向。
  • 碗的陡峭程度由精度矩阵 Σ1Σ⁻¹ 的特征值(ΛΛ 的对角线元素 λiλᵢ)决定。大特征值 λiλᵢ 意味着在对应的特征向量 vivᵢ 方向上,碗壁非常陡峭。

而另一个函数 nn 是一个简单、单调、凸的函数,它并不会改变等值面的形状。因此,多元高斯分布的最终形态有我们前面讨论的 q(x)q(x) 所决定。

c.c.q(x)q(x‘) 的进一步探讨

我们引入精度矩阵的平方根 Σ12\Sigma ^{-\frac{1}{2}}。我们知道 Σ1\Sigma ^{-1} 可以被写为 VΛV1V\Lambda V^{-1},而对角矩阵 Λ\Lambda 的平方根非常好计算,只需要将对角线元素取平方根即可,于是我们可以定义:

Σ12=VΛ12VT\Sigma ^{-\frac{1}{2}}=V\Lambda^{\frac{1}{2}}V^T

我们将 q(x)q(x') 进行如下改写:

q(x)=xΣ1xT=(xΣ12)(Σ12xT)=(xΣ12)(xΣ12)T\begin{aligned} q(x') &= x' \Sigma^{-1} x'^{T} \\ &= (x'\Sigma^{-\tfrac{1}{2}})(\Sigma^{-\tfrac{1}{2}} x'^{T}) \\ &= (x'\Sigma^{-\tfrac{1}{2}})\bigl(x'\Sigma^{-\tfrac{1}{2}}\bigr)^{T} \end{aligned}

y=xΣ12y=x'\Sigma^{-\tfrac{1}{2}},则:

q(x)=yyT=y2q(x')=yy^T=\|y\| ^2

这是一个很重要的发现。原本在 xx' 空间中的复杂的、由精度矩阵 Σ1Σ⁻¹ 加权的二次型 q(x)q(x),在经过 y=Σ12(xμ)y = \Sigma^{\frac{1}{2}}(x' - \mu ) 这个线性变换后,在新的 yy 空间中变成了标准欧几里得距离的平方。这在空间中表示一个以原点为球心的球面。

alt text

因此,Σ1Σ⁻¹ (精度矩阵) 的几何意义是定义了等高线的椭球形状,而 Σ12\Sigma^{\frac{1}{2}} 的几何意义是定义了一个线性变换、使这个椭球变回一个完美的单位球体

3. 机器学习中的数据预处理

由我们对精度矩阵的一系列变换,我们可以抽象出在机器学习中常用的数据处理流程。假设我们的样本矩阵 XX 的形状为 n×dn \times d

首先我们对所有数据点进行中心化(Centering) X˙=Xμ\dot{X} = X - \mu ,变换后的数据点中心改变、其余性质不变。

注意到由协方差定义:

cov=1n(xijμj)(xikμk)\text{cov}=\frac{1}{n}\sum\sum(x_{ij}-\mu _j)\cdot(x_{ik}-\mu _k)

在中心化后的数据矩阵中,这一系列向量乘积正是 X˙TX˙\dot{X}^T\dot{X},并且X˙T\dot{X}^T 的维度为 d×nd\times n,两者的乘积 d×dd \times d 也和协方差矩阵形状一致。于是可以得出如下协方差矩阵计算公式:

cov=1nX˙TX˙\text{cov}=\frac{1}{n}\dot{X}^T\dot{X}

经过中心化后,数据云可能仍然是“倾斜”的(即特征之间存在相关性),形状是一个椭球。我们执行 Z=X˙VZ=\dot{X}V 操作进行去相关化(Decorrelating),其中 VV 是样本协方差矩阵 Var(R)\text{Var}(R) 的特征向量矩阵。

这是一个旋转操作。协方差矩阵的特征向量指出了数据椭球的各个主轴方向。将数据乘以 VV,相当于将整个坐标系旋转,使新的坐标轴与椭球的主轴对齐。在新的坐标系下,新数据 ZZ 的协方差矩阵 Var(Z)\text{Var}(Z) 变成了一个对角矩阵 ΛΛ(特征值矩阵)。

由于特征值矩阵的特征值 Λii\Lambda_{ii} 不同,经过“去相关”后的数据椭球虽然不再倾斜,但它在不同轴上的“半径”还是不一样的。因此我们对它进行 球化 (Sphering) 操作,令 W=X˙Var(R)12W=\dot{X} \cdot \text{Var(R)}^{\frac{1}{2}}。这个变换将一个倾斜的椭球数据云,先旋转对齐坐标轴,然后沿着每个轴进行压缩或拉伸,直到每个轴上的“半径”都相等。最终,数据云变成一个完美的球形。

这些计算过程和我们之前对 Σ\Sigma 的几何意义的推导十分类似。整个过程的图像表示如下:

alt text

注意,对于 LDA 和 QDA 这样的判别分析方法,它们不需要预先对数据进行球化。因为这些算法的核心就是直接对协方差矩阵 ΣΣ 进行建模。它们的数学公式,尤其是马氏距离 (xμ)TΣ1(xμ)(x − \mu )^T \Sigma^{-1} (x − \mu ) 这一项,已经内在地、自动地处理了数据的形状、方向和尺度问题

4. 协方差的一些性质

这里只简单罗列一些性质,具体计算之后有机会再详细写。

  • 如果两个变量相互独立,那么它们的协方差一定为零。但是反过来并不成立,因为协方差为零只能说明它们之间没有线性关系,但它们可能存在非线性关系(例如 y=x2y = x²
  • 对于一个服从多元高斯分布的向量,如果它的两个分量 RiRᵢRjRⱼ 的协方差为零,那么我们可以断定它们一定是相互独立的

当一个多元高斯分布的协方差矩阵 ΣΣ 是一个对角矩阵时,意味着所有非对角线元素(协方差)都为零。整个多元高斯分布的联合概率密度函数 f(x)f(x),可以分解为 dd 个独立的一元高斯分布的概率密度函数的乘积。这极大地简化了分析和计算。同时 Σ\Sigma 为对角矩阵也意味着数据的分布没有“倾斜”,它的等高线椭球(或椭圆)的主轴是与坐标轴对齐的。椭球在每个坐标轴方向上的“半径”(拉伸程度)由 ΣΣ 对角线上的方差决定。

如果某个多元高斯分布的协方差矩阵 ΣΣ 不是对角矩阵,我们可以做一个坐标系变换,变换到由 ΣΣ 的特征向量所构成的那个坐标系中。在这个新的特征向量坐标系里,变量之间就变得不相关了,协方差矩阵也变成了对角矩阵 Λ\Lambda