2011-11-22 74 views

回答

4

如果X是一般NxM矩阵,则S=X*X'是每个X与其转置的列的外积的总和。换句话说,写作X=[x1,x2,...,xM]S可以写成

S = ∑_i x_i * x_i' 

所得矩阵S是非负定(即,特征值是不为负)。

如果考虑在作为随机变量(总N),并且不同的列作为N维随机向量的M独立观察X一列中的每个元件,然后SNxNsample covariance matrix(由一个常数正常化不同,取决于你的约定)的行。同样,S=X'*X给出了列的协方差矩阵MxM


如果你现在开始限制通用性和分配特定的属性,以X,那么你会开始看到的模式出现为S结构。例如,如果X是正方形,则具有真实条目并且是orthogonal,然后是S=I,单位矩阵。如果X是正方形,具有复杂条目并且是unitary matrix,则S然后是单位矩阵。

不知道在程序中使用它的具体情况,我会假设他们正在计算协方差矩阵。

+0

我相信身份矩阵是这种情况下感谢所有包括尤达 –

+0

@yoda正确的 - 这是一个写得很好且有帮助的解释,但我认为在几个地方你已经得到了列和行的困惑。 'S = X * X''是'X'的_rows_的协方差矩阵; 'X'* X'是列的协方差矩阵。也许一个快速编辑可以纠正这一点。 –

+0

@SamRoberts感谢您的支持!我修好了:) – abcd

2

这里是显示这是如何相关的协方差矩阵(如@yoda解释)的例子:

X = randn(5,3);      %# 3 column-vectors each of dimension=5 
X0 = bsxfun(@minus, X, mean(X,2)); %# zero-centered 

C = (X0*X0') ./ (size(X0,2)-1)  %'# sample covariance matrix 
CC = cov(X')      %'# should return the same result