分享

协方差矩阵

 昵称68734963 2020-03-19

概念

协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。
这个解释摘自维基百科,看起来很是抽象,不好理解。其实简单来讲,协方差就是衡量两个变量相关性的变量。当协方差为正时,两个变量呈正相关关系(同增同减);当协方差为负时,两个变量呈负相关关系(一增一减)。
而协方差矩阵,只是将所有变量的协方差关系用矩阵的形式表现出来而已。通过矩阵这一工具,可以更方便地进行数学运算。

数学定义

回想概率统计里面关于方差的数学定义:

Var(X)=∑ni=1(xi−x¯¯¯)(xi−x¯¯¯)n−1Var(X)=∑i=1n(xi−x¯)(xi−x¯)n−1

协方差的数学定义异曲同工:
Cov(X,Y)=∑ni=1(xi−x¯¯¯)(yi−y¯¯¯)n−1Cov(X,Y)=∑i=1n(xi−x¯)(yi−y¯)n−1

这里的 XX,YY 表示两个变量空间。用机器学习的话讲,就是样本有 xx 和 yy 两种特征,而 XX 就是包含所有样本的 xx 特征的集合,YY 就是包含所有样本的 yy 特征的集合。

协方差矩阵

两个变量的协方差矩阵

有了上面的数学定义后,我们可以来讨论协方差矩阵了。当然,协方差本身就能够处理二维问题,两个变量的协方差矩阵并没有实际意义,不过为了方便后面多维的推广,我们还是从二维开始。

用一个例子来解释会更加形象。

假设我们有 4 个样本,每个样本都有两个变量,也就是两个特征,它们表示如下:
x1=(1,2)x1=(1,2),x2=(3,6)x2=(3,6),x3=(4,2)x3=(4,2),x4=(5,2)x4=(5,2)

用一个矩阵表示为:

Z=⎡⎣⎢⎢⎢13452622⎤⎦⎥⎥⎥Z=[12364252]

现在,我们用两个变量空间 XX,YY 来表示这两个特征:

X=⎡⎣⎢⎢⎢1345⎤⎦⎥⎥⎥,   Y=⎡⎣⎢⎢⎢2622⎤⎦⎥⎥⎥X=[1345],   Y=[2622]

由于协方差反应的是两个变量之间的相关性,因此,协方差矩阵表示的是所有变量之间两两相关的关系,具体来讲,一个包含两个特征的矩阵,其协方差矩阵应该有 2×22×2 大小:
Cov(Z)=[Cov(X,X)Cov(Y,X)Cov(X,Y)Cov(Y,Y)]Cov(Z)=[Cov(X,X)Cov(X,Y)Cov(Y,X)Cov(Y,Y)]

接下来,就来逐一计算 Cov(Z)Cov(Z) 的值。
首先,我们需要先计算出 XX,YY 两个特征空间的平均值:x¯¯¯=3.25x¯=3.25,y¯¯¯=3y¯=3。
然后,根据协方差的数学定义,计算协方差矩阵的每个元素:

Cov(X,X)=(1−3.25)2+(3−3.25)2+(4−3.25)2+(5−3.25)24−1=2.9167Cov(X,X)=(1−3.25)2+(3−3.25)2+(4−3.25)2+(5−3.25)24−1=2.9167

Cov(X,Y)=(1−3.25)(2−3)+(3−3.25)(6−3)+(4−3.25)(2−3)+(5−3.25)(2−3)4−1=−0.3333Cov(X,Y)=(1−3.25)(2−3)+(3−3.25)(6−3)+(4−3.25)(2−3)+(5−3.25)(2−3)4−1=−0.3333

Cov(Y,X)=(2−3)(1−3.25)+(6−3)(3−3.25)+(2−3)(4−3.25)+(2−3)(5−3.25)4−1=−0.3333Cov(Y,X)=(2−3)(1−3.25)+(6−3)(3−3.25)+(2−3)(4−3.25)+(2−3)(5−3.25)4−1=−0.3333

Cov(Y,Y)=(2−3)2+(6−3)2+(2−3)2+(2−3)24−1=4Cov(Y,Y)=(2−3)2+(6−3)2+(2−3)2+(2−3)24−1=4

所以协方差矩阵 Cov(Z)=[2.9167−0.3333−0.33334.000]Cov(Z)=[2.9167−0.3333−0.33334.000]

好了,虽然这只是一个二维特征的例子,但我们已经可以从中总结出协方差矩阵 ΣΣ 的「计算套路」:

Σij=(样本矩阵第i列−第i列均值)T(样本矩阵第j列−第j列均值)样本数−1Σij=(样本矩阵第i列−第i列均值)T(样本矩阵第j列−第j列均值)样本数−1

这里所说的样本矩阵可以参考上面例子中的 ZZ。

多个变量的协方差矩阵

接下来,就用上面推出的计算协方差矩阵的「普世规律」。
假设我们有三个样本:
x1=(1,2,3,4)Tx1=(1,2,3,4)T, x2=(3,4,1,2)Tx2=(3,4,1,2)T, x3=(2,3,1,4)Tx3=(2,3,1,4)T。
同理我们将它们表示成样本矩阵:

Z=⎡⎣⎢132243311424⎤⎦⎥Z=[123434122314]

按照上面给出的计算套路,我们需要先计算出矩阵每一列的均值,从左到右分别为:2、3、1.67、3.33。
然后按照上面讲到的公式,计算矩阵每个元素的值,对了,四个变量的协方差矩阵,大小为 4×44×4 :

Σ11=(第1列−第1列的均值)T∗(第1列−第1列的均值)样本数−1=(−1,1,0)T∗(−1,1,0)2=1Σ11=(第1列−第1列的均值)T∗(第1列−第1列的均值)样本数−1=(−1,1,0)T∗(−1,1,0)2=1

(后面的依此类推......)

独立变量的协方差

以上的讨论都是针对一般情况进行计算的,毕竟变量互相独立的情况较少。

不过,如果两个变量 XX, YY 独立,那么它们的协方差 Cov(X,Y)=0Cov(X,Y)=0。简要证明如下(简单起见,假设变量是离散的):

由于 X,YX,Y 独立,所以它们的概率密度函数满足:p(x,y)=px(x)py(y)p(x,y)=px(x)py(y)。

求出期望:

E(XY)====∑x∑yx×y×p(x,y)∑x∑yx×y×px(x)×py(y)∑xx×px(x)∑yy×py(y)E(X)E(Y)E(XY)=∑x∑yx×y×p(x,y)=∑x∑yx×y×px(x)×py(y)=∑xx×px(x)∑yy×py(y)=E(X)E(Y)

利用协方差的另一个公式:Cov(X,Y)=E(X,Y)−E(X)E(Y)Cov(X,Y)=E(X,Y)−E(X)E(Y),可以推出,当 X,YX,Y 相互独立时,Cov(X,Y)=0Cov(X,Y)=0。

这时,协方差矩阵就变成一个对角矩阵了:

Cov(Z)=[Cov(X,X)00Cov(Y,Y)]Cov(Z)=[Cov(X,X)00Cov(Y,Y)]

协方差矩阵的作用

虽然我们已经知道协方差矩阵的计算方法了,但还有一个更重要的问题:协方差矩阵有什么作用?作为一种数学工具,协方差矩阵经常被用来计算特征之间的某种联系。在机器学习的论文中,协方差矩阵的出现概率还是很高的,用于降维的主成分分析法(PCA)就用到了协方差矩阵。另外,由于协方差矩阵是一个对称矩阵,因此它包含了很多很有用的性质,这也导致它受青睐的程度较高。

参考

  • 详解协方差与协方差矩阵

  • 浅谈协方差矩阵

  • 协方差

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多