• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-10
  • 语言: Matlab
  • 标签:

资源简介

该算法能很好将多行多列的大矩阵降维得到数目固定的小矩阵,作为神经网络或其它的输入。

资源截图

代码片段和文件信息

function [train_kpcatest_kpca] = kpcaFordata(traintestthresholdrbf_var)
%% Data kpca processing
 %by tangxb
 %e-mail:tangxb200@126.com   QQ:444646122
 %http://blog.sina.com.cn/lssvm
%% 函数默认设置
 if nargin <4
    rbf_var=10000;
 end
 if nargin <3
    threshold = 90;
 end
%% 数据处理
 patterns=zscore(train);
 test_patterns=zscore(test);
 train_num=size(patterns1);
 test_num=size(test_patterns1);
 cov_size = train_num;
%% 计算核矩阵
 for i=1:cov_size
   for j=i:cov_size
     K(ij) = exp(-norm(patterns(i:)-patterns(j:))^2/rbf_var);
     K(ji) = K(ij);
   end
 end
 unit = ones(cov_size cov_size)/cov_size;
%% 中心化核矩阵
 K_n = K - unit*K - K*unit + unit*K*unit;
%% 特征值分解
 [evectors_1evaltures_1] = eig(K_n/cov_size);
 [xindex]=sort(real(diag(evaltures_1))); 
 evals=

评论

共有 条评论

相关资源