资源简介
该算法能很好将多行多列的大矩阵降维得到数目固定的小矩阵,作为神经网络或其它的输入。
代码片段和文件信息
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=
- 上一篇:matlab的PLS代码
- 下一篇:PSO分数阶PID的程序.rar
评论
共有 条评论