📄 testknn.asv
字号:
function [y] = testKNN(T,A1,C1)%UNTITLED2 Summary of this function goes here% Detailed explanation goes here max_ev =15; %选择主元个数 rbf_var = 0.5; %髙斯函数的参数 cov_size=size(A1,1); %样本个数 for i=1:cov_size, %得到K for j=i:cov_size, K(i,j) = exp(-norm(A1(i,:)-A1(j,:))^2/rbf_var); K(j,i) = K(i,j); end end unit = ones(cov_size, cov_size)/cov_size; % centering in feature space! K_n = K - unit*K - K*unit + unit*K*unit; [evecs,evals] = eig(K_n); % A2=evecs; evals = real(diag(evals)); for i=1:cov_size, evecs(:,i) = evecs(:,i)/(sqrt(evals(i))); end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% test_num=size(A1,1); unit_test = ones(test_num,cov_size)/cov_size; K_test = zeros(test_num,cov_size); for i=1:test_num, for j=1:cov_size, K_test(i,j) = exp(-norm(A1(i,:)-A1(j,:))^2/rbf_var); end end K_test_n = K_test - unit_test*K - K_test*unit + unit_test*K*unit; test_features = zeros(test_num, max_ev); test_features = K_test_n * evecs(:,1:max_ev); A2=test_features;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% test_num=size(C1,1); unit_test = ones(test_num,cov_size)/cov_size; K_test = zeros(test_num,cov_size); for i=1:test_num, for j=1:cov_size, K_test(i,j) = exp(-norm(C1(i,:)-A1(j,:))^2/rbf_var); end end K_test_n = K_test - unit_test*K - K_test*unit + unit_test*K*unit; test_features = zeros(test_num, max_ev); test_features = K_test_n * evecs(:,1:max_ev); C2=test_features; P=A2';% T=N'; % net=newrb % [net,tr]=newrb(P,T,0.5,2); net=newrb(P,T,0.5,2); P=C2'; y=sim(net,P); y=y';% meanerror=mean(E)% maxerror=max(E)% stderror=std(E) % % subplot(211);% plot(X1,y,'b','linewidth',2); % hold on % % subplot(212);% plot(X1,Y,'r--','linewidth',2);% hold on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -