1. 协方差矩阵
X,YX,YX,Y是两个随机变量,X,YX,YX,Y的协方差Cov(X,Y)Cov(X,Y)Cov(X,Y)定义为:
cov(X,Y)=E[(X−μx)(Y−μy)]
cov(X,Y) = E[(X-\mu_x)(Y-\mu_y)]
cov(X,Y)=E[(X−μx)(Y−μy)]
其中:
E(X)=μx,E(Y)=μy
E(X)=\mu_x,E(Y)=\mu_y
E(X)=μx,E(Y)=μy
2.协方差矩阵定义
矩阵中的数据按行排列和按列排列求出的协方差矩阵是不同的,这里默认数据是按行排列。即每一行是一个observation(样本),那么每一列就是一个随机变量(特征)。
Xm×n=[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]=[c1c2⋯cn]
X_{m \times n} =
\begin{bmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \cdots & a_{mn} \\
\end{bmatrix} \quad =
\begin{bmatrix}
c_1 & c_2 & \cdots & c_n
\end{bmatrix} \quad
Xm×n=⎣⎢⎢⎢⎡a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎦⎥⎥⎥⎤=[c1c2⋯cn]
协方差矩阵:
covMatrix=1m−1[cov(c1,c1)cov(c1,c2)⋯cov(c1,cn)cov(c2,c1)cov(c2,c2)⋯cov(c2,cn)⋮⋮⋱⋮cov(cn,c1)cov(cn,c2)⋯cov(cn,cn)]
covMatrix = \frac{1}{m-1}
\begin{bmatrix}
cov(c_1, c_1) & cov(c_1, c_2) & \cdots & cov(c_1, c_n) \\
cov(c_2, c_1) & cov(c_2, c_2) & \cdots & cov(c_2, c_n) \\
\vdots & \vdots & \ddots & \vdots \\
cov(c_n, c_1) & cov(c_n, c_2) & \cdots & cov(c_n, c_n) \\
\end{bmatrix} \quad
covMatrix=m−11⎣⎢⎢⎢⎡cov(c1,c1)cov(c2,c1)⋮cov(cn,c1)cov(c1,c2)cov(c2,c2)⋮cov(cn,c2)⋯⋯⋱⋯cov(c1,cn)cov(c2,cn)⋮cov(cn,cn)⎦⎥⎥⎥⎤
协方差矩阵的维度等于随机变量的个数,即每一个observation的维度。在某些场合前边也会出现1m\frac{1}{m}m1,而不是1m−1\frac{1}{m-1}m−11。
3.求解协方差矩阵的步骤
举个例子,矩阵X按行排列:
X=[123311]=[c1c2c3]
X = \begin{bmatrix}
1 & 2 & 3 \\
3 & 1 & 1\\
\end{bmatrix} \quad =
\begin{bmatrix}
c_1 & c_2 & c_3
\end{bmatrix} \quad
X=[132131]=[c1c2c3]
1.求每个维度的平均值
cˉ=[21.52]=[c1ˉc2ˉc3ˉ]
\bar{c} =
\begin{bmatrix}
2 & 1.5 & 2
\end{bmatrix} \quad =
\begin{bmatrix}
\bar{c_1} & \bar{c_2} & \bar{c_3}
\end{bmatrix} \quad
cˉ=[21.52]=[c1ˉc2ˉc3ˉ]
2.将X的每一列减去平均值
X=[−10.511−0.5−1]
X = \begin{bmatrix}
-1 & 0.5 & 1 \\
1 & -0.5 & -1\\
\end{bmatrix} \quad
X=[−110.5−0.51−1]
其中:
ci=ci−ciˉ
c_i = c_i - \bar{c_i}
ci=ci−ciˉ
3.计算协方差矩阵
cov=1m−1XTX=12−1[2−1−2−10.51−212]
cov = \frac{1}{m-1}X^TX = \frac{1}{2-1}
\begin{bmatrix}
2 & -1 & -2 \\
-1 & 0.5 & 1 \\
-2 & 1 & 2 \\
\end{bmatrix} \quad
cov=m−11XTX=2−11⎣⎡2−1−2−10.51−212⎦⎤