?? svmmultivaloneagainstone.m
字號:
function [ypred,vote]=svmmultivaloneagainstone(x,xsup,w,b,nbsv,kernel,kerneloption,Sigma)
% USAGE [ypred,vote]=svmmultivaloneagainstone(x,xsup,w,b,nbsv,kernel,kerneloption,Sigma)
%
% Process the class of a new point x.
%
% This function should be used in conjuction with the output of
% svmmulticlassoneagainstone
%
%
% modified : AR 07/03/2003 Added Sigma for dealing with particular scaling
%
% 29/07/2000 Alain Rakotomamonjy
if exist('Sigma') & (~strcmp(kernel,'gaussian') & ~(kerneloption==1))
warning('Adaptive scaling is available only for gaussian kernel...');
end;
[n1,n2]=size(x);
nbclass=(1+ sqrt(1+4*2*length(nbsv)))/2;
vote=zeros(n1,nbclass);
nbsv=[0 nbsv];
aux=cumsum(nbsv);
k=1;
for i=1:nbclass-1;
for j=i+1:nbclass;
if nargin < 8;
xsupaux=xsup(aux(k)+1:aux(k)+nbsv(k+1),:);
xaux=x;
else
xsupaux=xsup(aux(k)+1:aux(k)+nbsv(k+1),:).*repmat(Sigma(i,:),nbsv(k+1),1);
xaux= x.*repmat(Sigma(i,:),n1,1);
end;
waux=w(aux(k)+1:aux(k)+nbsv(k+1));
baux=b(k);
ypred= svmval(xaux,xsupaux,waux,baux,kernel,kerneloption);
indi=find(ypred>=0);
indj=find(ypred<0);
vote(indi,i)=vote(indi,i)+1;
vote(indj,j)=vote(indj,j)+1;
k=k+1;
end;
end;
[maxi,ypred]=max(vote');
ypred=ypred';
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -