資源簡(jiǎn)介
CCA 特征融合 降維 matlab程序?qū)崿F(xiàn) 多元統(tǒng)計(jì)應(yīng)用
代碼片段和文件信息
function?[?SolVecs?]?=?CCA_zq?(?X??M?ClassNum?)
%X????????---訓(xùn)練樣本特征向量(列向量),把每個(gè)樣本的兩組特征向量,按照特征向量的維數(shù)由小到大首尾相連。
%M????????---存儲(chǔ)兩組特征向量維數(shù)的數(shù)組(列向量)
%ClassNum?---類別數(shù)
%SolVecs??---求得的近似解向量
%Author???---陸鳳娟、周強(qiáng)(本程序是在陸鳳娟師姐程序基礎(chǔ)上直接截取添加所得)?南京理工大學(xué)603教研室?moxibingdao@qq.com
%?%以下為添加改動(dòng)部分
pcafeature=X(1:M(1):);
TrainImage1=pcafeature;
otherfeature=X(1+M(1):M(1)+M(2):);
TrainImage2=otherfeature;
cn=ClassNum;
train_NUM=size(X2)/ClassNum;
N=(train_NUM)*cn;
vec_dim1=M(1);
vec_dim2=M(2);
%?%以上為添加改動(dòng)部分
disp(‘計(jì)算Sxx...‘);
%求Swx
Sxx?=?zeros(vec_dim1vec_dim1);
I?=?eye(vec_dim1);
for?i?=1:cn
????within_xx?=?zeros(vec_dim1vec_dim1);
%????temp?=?TrainImage1(:(i-1)*train_NUM?+?1:i*train_NUM?);
????for?j=1:train_NUM
%?????????x?=?TrainImage1(:(i-1)*train_NUM?+?j)?-?mean2(TrainImage1(:(i-1)*train_NUM?+?1:i*train_NUM?));
????????x?=?TrainImage1(:(i-1)*train_NUM?+?j)?-?mean(TrainImage12);%mean(temp2);
????????within_xx?=?within_xx?+?x*x‘;
????end;
????Sxx?=?Sxx?+?within_xx;
end;
Sxx?=?Sxx?;
disp(‘計(jì)算Syy...‘);
%求Syy
Syy?=?zeros(vec_dim2vec_dim2);
I?=?eye(vec_dim2);
for?i?=1:cn
????within_yy?=??zeros(vec_dim2vec_dim2);
%?????temp?=?TrainImage2(:(i-1)*train_NUM?+?1:i*train_NUM?);
????for?j=1:train_NUM
????????y?=?TrainImage2(:(i-1)*train_NUM?+?j)?-?mean(TrainImage22);%?mean(temp2);
????????within_yy?=?within_yy?+?y*y‘;
????end;
????Syy?=?Syy?+?within_yy;
end;
Syy?=?Syy;
disp(
評(píng)論
共有 條評(píng)論