📄 fsals_svmbench1.m
字号:
clear
load blfmnist;
% [samples,A,B] = scaletrain1(mnistsamples);
% labels = mnistlabels;
% testsamples = scaletest1(mnistsamples,A,B);
% testlabels = mnistlabels;
samples = mnistsamples;
labels = mnistlabels;
testsamples = mnisttestsamples;
testlabels = mnisttestlabels;
if length(unique(mnistlabels)) == 2
labels = (labels > 0) + 1;
testlabels = (testlabels > 0) + 1;
end
clear mnistsamples mnisttestsamples;
kernel = 'rbf';
param = 2^-6;
func= 'pfsals_svm';
lamdavec = 2.^linspace(-1,-1,1);
% Q = randperm(length(labels));
for i = 1:length(lamdavec);
% starttime = cputime;
% Q = Q(1:600);
% [alpha,bias,svi,sv] = onevsalltrain(samples,labels,kernel,param,lamdavec(i),Q,func,[]);
% endtime = cputime;
% [result,vote] = onevsalltest(testsamples,testlabels,samples,labels,kernel,param,alpha,svi,bias,func,[]);
%
% for j = 1:length(unique(mnistlabels))
% tempnsv(j,1) = length(svi{j});
% end
tic;
[alpha,bias,svi,sv] = onevsalltrain(samples,labels,kernel,param,lamdavec(i),0.4,func);
endtime = toc;
[result,vote] = onevsalltest(testsamples,testlabels,samples,labels,kernel,param,alpha,svi,bias,func);
nsv(i,1) = sv;
correctvec(i,1) = mean(result == testlabels);
timevec(i,1) = endtime;
fprintf('Support vector = %f\n',nsv(i,1));
fprintf('Accuracy = %f\n',correctvec(i,1));
fprintf('Time = %f\n',timevec(i,1));
end
% plot(log2(lamdavec'),correctvec,'*-r');
% figure(2);
% plot(log2(lamdavec'),nsv,'*-r');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -