http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/算法
译文:http://demo.netfoucs.com/u010182633/article/details/45937051函数
在本文中,咱们经过探索线性变换与所得数据协方差之间的关系提供协方差矩阵一个直观的几何解释。大部分教科书基于协方差矩阵的概念解释数据的形状。相反,咱们采起一个反向的方法,根据数据的形状来解释协方差矩阵的概念。大数据
在《为何样本方差除以N-1?》的文章中,咱们会讨论方差的概念,并提供了众所周知的估算样本方差公式的推导和证实。这篇文章中使用的图1代表标准差(方差的平方根)提供了数据在特征空间上传播多少的量度。 .net
咱们发现,样本方差的无偏估计可由下式得到: 3d
然而,方差只能用于解释平行于特征空间轴方向的数据传播。考虑图2所示的二维特征空间: blog
对于这个数据,咱们能够计算出在x方向上的方差和y方向上的方差
。然而,数据的水平传播和垂直传播不能解释明显的对角线关系。图2清楚地显示,平均而言,若是一个数据点的x值增长,则y值也将增长,这产生了正相关。这种相关性能够经过扩展方差概念到所谓的数据“协方差”捕捉到:
图片
对于2D数据,咱们获得,这些值能够用矩阵来表示,该矩阵叫作协方差矩阵:
it
若是x与y是正相关的,那么y和x也是正相关的。换句话说,。所以,协方差矩阵始终是一个对称矩阵,其对角线上是方差,非对角线上是协方差。二维正态分布数据由它的均值和2x2协方差矩阵就能够彻底解释。一样,一个3x3协方差矩阵用于捕捉三维数据的传播,一个NxN协方差矩阵捕获N维数据的传播。io
图3展现了数据的总体形状如何定义协方差矩阵: class
在下一节,咱们将讨论协方差矩阵如何被解释为白色数据转换成咱们观察到数据的线性操做。然而,在深刻技术细节以前,对特征向量和特征值如何惟一地肯定协方差矩阵(数据形状)有一个直观的认识是很是重要的。
正如咱们在图3看到的,协方差矩阵定义了咱们数据的传播(方差)和方向(协方差)。所以,若是咱们想用一个向量和它的大小来表示协方差矩阵,咱们应该简单地尝试找到指向数据最大传播方向上的向量,其大小等于这个方向上的传播(方差)。
若是咱们定义这个向量为,那么咱们数据D到这个向量上的映射为
,映射数据的方差是
。因为咱们正在寻找指向最大方差方向的向量
,因此咱们应该选择它的成分,使得映射数据的协方差矩阵
尽量的大。最大化
的形式为
的任何函数,其中
是归一化单位向量,能够用一个所谓的瑞利商表示。经过设置
等于矩阵的最大特征特征向量
能够得到这样瑞利商的最大值。
换句话说,协方差矩阵的最大特征向量老是指向数据最大方差的方向,而且该向量的幅度等于相应的特征值。第二大特征向量老是正交于最大特征向量,并指向第二大数据的传播方向。
如今,让咱们来看看一些例子。在文章《特征值和特征向量》中http://blog.csdn.net/u010182633/article/details/45921929,咱们看到一个线性变换矩阵T彻底由它的特征向量和特征值定义。应用到协方差矩阵,这意味着:
若是咱们数据的协方差矩阵是对角矩阵,使得协方差是零,那么这意味着方差必须等于特征值λ。如图4所示,特征向量用绿色和品红色表示,特征值显然等于协方差矩阵的方差份量。
然而,若是协方差矩阵不是对角的,使得协方差不为零,那么状况稍微更复杂一些。特征值仍表明数据最大传播方向的方差大小,协方差矩阵的方差份量仍然表示x轴和y轴方向上的方差大小。可是,由于数据不是轴对齐的,因此这些值再也不与图5所示的相同。
经过比较图5与图4,能够清楚地看到特征值表示沿特征向量方向数据的方差,而协方差矩阵的方差份量表示沿轴的传播。若是没有协方差,则这两个值是相等的。
如今,让咱们忘了协方差矩阵。图3的实例能够简单地认为是图6的一个线性变换实例:
图6所示的数据是D,则图3所示的每一个实例能够经过线性变换D获得:
其中T是变换矩阵,包括一个旋转矩阵R和缩放矩阵S:
这些矩阵定义以下:
其中是旋转角度。
分别是x方向和y方向的比例因子。
在下面的段落中,咱们将讨论协方差矩阵与线性变换矩阵T= RS之间的关系。
让咱们先从未缩放(缩放至关于1)和未旋转的数据开始。在统计中,这每每为“白数据’,由于它的样本是从标准正态分布引出的,所以对应于白(不相关)噪声:
这个“白色”数据的协方差矩阵等于单位矩阵,使得方差和标准差等于1,协方差等于零:
如今让咱们用因子4在x方向缩放数据:
数据D’如今以下:
D’的协方差如今是:
D’的协方差与线性变换矩阵T有关系,D=TD,其中:
然而,虽然数据在x和y方向上缩放时等式(12)成立,可是应用旋转是否依然成立呢?为了调查通常状况下线性变换矩阵T和协方差矩阵之间的关系,咱们试图分解协方差矩阵为旋转和缩放矩阵的乘积。
正如咱们前面所看到的,咱们能够用特征向量和特征值表示协方差矩阵:
等式(13)保存矩阵Σ的每一个特征向量和特征值。在2D状况下,咱们获得两个特征值和两个特征值。由公式(13)定义的两个等式能够有效地用矩阵符号来表示:
其中V是矩阵,它的列是Σ的特征向量,L是对角矩阵,其非零元素对应特征值。
这意味着咱们能够将协方差矩阵表示为特征向量和特征值的函数:
方程(15)就是所谓协方差矩阵特征值分解,并可使用奇异值分解算法来得到。而特征向量表示数据最大方差的方向,特征值表示那些方向方差的幅度。换言之,V表示旋转矩阵,而表示一个缩放矩阵。协方差矩阵能够进一步分解为:
在等式(6)中,咱们定义了一个线性变换T= RS。因为S是对角缩放矩阵,因此S=ST。此外,因为R为正交矩阵,R-1=RT。所以,协方差矩阵能够写为:
换言之,若是咱们应用由T=RS定义的线性变换到图7所示的原始白数据,咱们获得了旋转和缩放的数据D’及协方差矩阵。这示于图10:
图10的彩色箭头表示特征向量。最大特征向量,即与最大特征值对应的特征向量,老是指向数据最大方差的方向,并由此肯定其方位。次特征向量老是正交于最大特征向量,由于旋转矩阵的正交性。
总结 在本文中,咱们代表观察到数据的协方差矩阵与白色不相关数据的线性变换有直接的关系。此线性变换彻底由数据的特征向量和特征值肯定。而特征向量表示旋转矩阵,特征值对应于每一个维度上缩放因子的平方。