这是一篇关于协方差矩阵几何解释的翻译文章。
原文地址:https://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/
介绍
本文我们将通过探索线性变换与所得数据协方差之间的关系为协方差矩阵提供一个直观的几何解释。大部分教科书基于协方差矩阵的概念解释数据的形状,这里,我们采取一个相反的做法,根据数据的形状来解释协方差矩阵的概念。
在《为什么样本方差除以 N-1?》的文章中,我们讨论了方差的概念,并提供了众所周知的估算样本方差公式的推导和证明。这篇文章中使用的图 1 表明标准差(方差的平方根)提供了数据在特征空间上传播多少的量度。
我们发现,样本方差的无偏估计可由下式获得:
\begin{align}
\tag{1} \label{eq1}
\begin{split}
\sigma_{x}^{2} &= \frac{1}{N-1} \sum_{i=1}^{N}(x_{i}-\mu)^{2} \\
&= E[(x-E(x))(x-E(x))] \\
&= \sigma ( x , x )
\end{split}
\end{align}
然而,方差只能用于解释平行于特征空间轴方向的数据传播。考虑图 2 所示的 2D 特征空间:
对于这个数据,我们可以计算出 x 方向上的方差 $\sigma(x, x)$ 和 y 方向上的方差 $\sigma(y, y)$。然而,数据的水平传播和垂直传播都不能解释明显的对角线传播相关性。图 2 清楚地显示,如果一个数据点的 x 值增加,则 y 值也将增加,这产生了正相关,这种相关性可以通过扩展方差概念到所谓的数据“协方差”捕捉到:
\begin{align}
\tag{2} \label{eq2}
\sigma(x,y)=E[(x-E(x))(y-E(y))]
\end{align}
对于 2D 数据,我们得到 $\sigma(x,x)$,$\sigma(y,y)$,$\sigma(x,y)$ 和 $\sigma(y,x)$,这些值可以用矩阵来表示,该矩阵叫做协方差矩阵:
\begin{align}
\tag{3} \label{eq3}
\Sigma = \left[ \begin{matrix} \sigma(x,x)&\sigma(x,y)\\
\sigma(y,x)&\sigma(y,y)
\end{matrix} \right]
\end{align}
如果 x 与 y 是正相关的,那么 y 和 x 也是正相关的,也就是说,$\sigma(x,y)=\sigma(y,x)$。因此,协方差矩阵始终是一个对称矩阵,其对角线上是方差,非对角线上是协方差。二维正态分布数据完全由其均值和 2×2 协方差矩阵就可以完全解释,同样,一个 3×3 协方差矩阵用于捕捉 3D 数据的传播,一个 NxN 协方差矩阵捕获 N 维数据的传播。
图 3 说明了数据的整体形状如何定义协方差矩阵:
协方差矩阵的特征值分解
在下一节,我们将讨论如何将协方差矩阵解释为白数据转换成我们观察到数据的线性算子。然而,在深入技术细节之前,对特征向量和特征值如何唯一地确定协方差矩阵(数据形状)有一个直观的认识是非常重要的。
正如我们在图 3 看到的,协方差矩阵定义了我们数据的传播(方差)和方向(协方差)。因此,如果我们想用一个向量和它的大小来表示协方差矩阵,我们应该简单地尝试找到指向数据最大传播方向上的向量,其大小等于这个方向上的传播(方差)。
如果我们定义这个向量为 $\vec{v}$,那么我们数据 $D$ 到这个向量上的映射为 $\vec{v}^\mathrm{T}D$,映射数据的方差是 $\vec{v}^\mathrm{T}\Sigma\vec{v}$。由于我们正在寻找指向最大方差方向的向量 $\vec{v}$,所以我们应该选择它的成分,使得映射数据的协方差矩阵 $\vec{v}^\mathrm{T}\Sigma\vec{v}$ 尽可能的大。最大化 $\vec{v}$ 的形式为 $\vec{v}^\mathrm{T}\Sigma\vec{v}$ 的任何函数,其中 $\vec{v}$ 是归一化单位向量,可以用一个所谓的瑞利商表示。通过设置 $\vec{v}$ 等于矩阵的最大特征特征向量 $\Sigma$ 可以获得这样瑞利商的最大值。
换句话说,协方差矩阵的最大特征向量总是指向数据最大方差的方向,并且该向量的大小等于相应的特征值,第二大特征向量总是正交于最大特征向量,并指向第二大数据的传播方向。
现在,让我们来看一些例子,在文章《特征值和特征向量》中,我们看到一个线性变换矩阵 $T$ 完全由它的特征向量和特征值定义,应用到协方差矩阵,这意味着:
\begin{align}
\tag{4} \label{eq4}
\Sigma\vec{v}=\lambda\vec{v}
\end{align}
其中 $\vec{v}$ 是 $\Sigma$ 的一个特征向量,而 $\lambda$ 是其对应的特征值。
如果我们数据的协方差矩阵是对角矩阵,且协方差为零,那么这意味着方差必须等于特征值 $\lambda$,如图 4 所示,特征向量用绿色和洋红色表示,特征值显然等于协方差矩阵的方差分量。
然而,如果协方差矩阵不是对角的,即协方差不为零,那么情况就会复杂一些。特征值仍代表数据最大传播方向的方差大小,协方差矩阵的方差分量仍然表示 x 轴和 y 轴方向上的方差大小,但由于数据不是轴对齐的,所以这些值不再相同,如图 5 所示。
通过比较图 5 与图 4,很明显可以看到特征值表示沿特征向量方向数据的方差,而协方差矩阵的方差分量表示沿轴的传播,如果没有协方差,则这两个值是相等的。
协方差矩阵作为线性变换
现在,让我们暂时忘记协方差矩阵,图 3 中的每个示例都可以简单地认为是图 6 的一个线性变换实例:
设图 6 所示的数据为 $D$,则图 3 所示的每个实例可以通过一个线性变换从 $D$ 得到:
\begin{align}
\tag{5} \label{eq5}
D^\prime = TD
\end{align}
其中 $T$ 是变换矩阵,包括一个旋转矩阵 $R$ 和缩放矩阵 $S$:
\begin{align}
\tag{6} \label{eq6}
T = RS
\end{align}
这些矩阵定义为:
\begin{align}
\tag{7} \label{eq7}
R = \left[ \begin{matrix}
cos(\theta) & -sin(\theta) \\
sin(\theta) & cos(\theta)
\end{matrix}\right]
\end{align}
其中 $\theta$ 是旋转角度,以及:
\begin{align}
\tag{8} \label{eq8}
S = \left[ \begin{matrix}
s_x & 0 \\
0 & s_y
\end{matrix}\right]
\end{align}
$s_x$ 和 $s_y$ 分别是 x 方向和 y 方向的比例因子。
在下面的段落中,我们将讨论协方差矩阵 $\Sigma$ 与线性变换矩阵 $T= RS$ 之间的关系。
让我们先从未缩放(缩放相当于 1)和未旋转的数据开始,在统计学中,这往往为“白数据’,因为它的样本是从标准正态分布中抽取的,因此对应于白(不相关)噪声:
这个“白”数据的协方差矩阵等于单位矩阵,使得方差和标准差等于 1,协方差等于 0:
\begin{align}
\tag{9} \label{eq9}
\Sigma = \left[ \begin{matrix}
\sigma_x^2 & 0 \\
0 & \sigma_y^2
\end{matrix}\right]
= \Bigg [ \begin{matrix}
1 & 0 \\ 0 & 1
\end{matrix} \Bigg]
\end{align}
现在让我们用因子 4 在 x 方向缩放数据:
\begin{align}
\tag{10} \label{eq10}
D^\prime = \left[ \begin{matrix}
4 & 0 \\
0 & 1
\end{matrix}\right]
\end{align}
数据 $D^\prime$ 现在如下:
$D^\prime$ 的协方差 $\Sigma^\prime$ 现在是:
\begin{align}
\tag{11} \label{eq11}
\Sigma^\prime = \left[ \begin{matrix}
\sigma_x^2 & 0 \\
0 & \sigma_y^2
\end{matrix}\right]
= \Bigg [ \begin{matrix}
16 & 0 \\ 0 & 1
\end{matrix} \Bigg]
\end{align}
因此,$D^\prime$ 的协方差 $\Sigma^\prime$ 与线性变换矩阵 $T$ 有关系,$D^\prime=TD$,其中:
\begin{align}
\tag{12} \label{eq12}
T = \sqrt{\Sigma^\prime}
= \left[ \begin{matrix}
4 & 0 \\
0 & 1
\end{matrix}\right]
\end{align}
然而,尽管数据在 x 和 y 方向上缩放时等式($\ref{eq12}$)成立,但当应用旋转时是否依然成立呢?为了研究一般情况下线性变换矩阵 $T$ 和协方差矩阵 $\Sigma^\prime$ 之间的关系,我们试图分解协方差矩阵为旋转矩阵和缩放矩阵的乘积。
正如我们之前所看到的,我们可以用特征向量和特征值表示协方差矩阵:
\begin{align}
\tag{13} \label{eq13}
\Sigma\vec{v}=\lambda\vec{v}
\end{align}
其中 $\vec{v}$ 是 $\Sigma$ 的一个特征向量,而 $\lambda$ 是其对应的特征值。
等式($\ref{eq13}$)对矩阵 $\Sigma$ 的每个特征向量和特征值都成立。在 2D 情况下,我们会得到两个特征值和两个特征值,由公式($\ref{eq13}$)定义的两个方程组可以使用矩阵符号来表示:
\begin{align}
\tag{14} \label{eq14}
\Sigma V = VL
\end{align}
其中 $V$ 的列是由 $\Sigma$ 的特征向量组成的矩阵,$L$ 是由对应特征值组成的对角矩阵。
这意味着我们可以将协方差矩阵表示为特征向量和特征值的函数:
\begin{align}
\tag{15} \label{eq15}
\Sigma = VLV^{-1}
\end{align}
方程($\ref{eq15}$)就是所谓协方差矩阵的特征值分解,并可以使用奇异值分解算法来获得,而特征向量表示数据最大方差的方向,特征值表示那些方向方差的大小。换句话说,$V$ 表示旋转矩阵,而 $\sqrt{L}$ 表示一个缩放矩阵。协方差矩阵可以进一步分解为:
\begin{align}
\tag{16} \label{eq16}
\Sigma = RSSR^{-1}
\end{align}
其中 $R=V$ 是一个旋转矩阵,$S=\sqrt{L}$ 是一个缩放矩阵。
在等式($\ref{eq6}$)中,我们定义了一个线性变换 $T= RS$。由于 $S$ 是对角缩放矩阵,所以 $S=S^\mathrm{T}$,此外,由于 $R$ 为正交矩阵,$R^{-1}=R^\mathrm{T}$。因此,$T^\mathrm{T}(RS)^\mathrm{T}=S^\mathrm{T}R^\mathrm{T}=SR^{-1}$ ,则协方差矩阵可以写为:
\begin{align}
\tag{17} \label{eq17}
\Sigma = RSSR^{-1}=TT^\mathrm{T}
\end{align}
换言之,如果我们应用由 $T=RS$ 定义的线性变换到图 7 的原始白数据 $D$,我们将得到旋转和缩放的数据 $D^\prime$ 及协方差矩阵 $TT^\mathrm{T} = \Sigma^\prime = RSSR^{-1}$。如图 10 所示:
图 10 的彩色箭头表示特征向量。最大特征向量,即与最大特征值对应的特征向量,总是指向数据最大方差的方向,并由此确定其方向。因为旋转矩阵的正交性,次特征向量总是正交于最大特征向量。
总结
在本文中,我们展示了观察数据的协方差矩阵与白(不相关)数据的线性变换直接相关,这种线性变换完全由数据的特征向量和特征值确定,而特征向量表示旋转矩阵,特征值对应于每个维度上缩放因子的平方。
扩展阅读
欢迎转载,转载请注明出处:蔓草札记 » 一种协方差矩阵的几何解释