% Whiten transformation
V=zeros(nchannel,nchannel);
for n=1:N_trial
Xwhit=X(:,:,n);
npot=size(Xwhit,2);
Xwhit=Xwhit-repmat(mean(Xwhit,2),1,npot);
C=Xwhit*Xwhit'/npot;
[vec,val]=eig(C);
V(:,:,n)=sqrt(val)\vec';
X(:,:,n)=V(:,:,n)*Xwhit; %看这里看这里看这里
end
% Multiset CCA for learning joint spatial filters W
Y=[];
for n=1:N_trial
Y=[Y;X(:,:,n)];
end
R=cov(Y.');
S=diag(diag(R));
[tempW rho]=eigs(R-S,S,K);
for n=1:N_trial
W(:,:,n)=tempW((n-1)*nchannel+1:n*nchannel,:)./norm(tempW((n-1)*nchannel+1:n*nchannel,:));
end
for n=1:N_trial
W(:,:,n)=(W(:,:,n)'*V(:,:,n))'; %看这里看这里看这里
end
只对训练模型进行白化,求出V, 产生变换矩阵W后,这个变换矩阵还需要进行V变换,才能再次作用于 包含“训练样本+测试样本”的整体样本集合。
另外:PCA白化和ZCA白化区别,还没搞明白就看这里:
http://blog.csdn.net/u010681136/article/details/41746349
白化可以使得样本方差相等,但样本方差相等是不是就意味着服从高斯分布?
https://zhidao.baidu.com/question/1959251121463879660.html