📄 testksvm.m
字号:
function [y,t] = testKSVM(B1,A1,C1)tic max_ev =15; %选择主元个数 rbf_var = 1; %髙斯函数的参数 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; model = svmtrain(B1, A2, '-s 3 -t 2 -g 1 -c 100 -p 1.5'); [y, accuracy] = svmpredict(B1, C2, model); toc t=toc;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -