⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exregpathoneclasssvm.asv

📁 基于核分析的多类分类器
💻 ASV
字号:

clear all
close all
clc
n= 40;
sigma=0.4;
[xapp,yapp]=dataset('gaussian',n,0,sigma);
xapp=xapp(find(yapp==-1),:);
nbtrain=size(xapp,1);
[xtest1 xtest2]  = meshgrid([-1:.01:1]*3.5,[-1:0.01:1]*3); 
nn = length(xtest1); 
xtest = [reshape(xtest1 ,nn*nn,1) reshape(xtest2 ,nn*nn,1)]; 

kernel='gaussian';
kerneloption=0.5;
verbose=1;

%--------------------------------------------------------
%           One-Class SVM Reg Path
%--------------------------------------------------------

[alphamat,alpha0vec,lambdavec,event]=regpathsvmoneclass(xapp,kernel,kerneloption,verbose);
Nbapp=size(xapp,1);
N=30;
nuvec=fliplr(linspace(min(lambdavec)/Nbapp,max(lambdavec)/Nbapp,N));
nuvec=fliplr(linspace(0.05,0.95,N));
[alphamat,alpha0vec,lambdavec,nuvec]=TransformPathFromNu(alphamat,alpha0vec,lambdavec,nuvec,Nbapp);


%--------------------------------------------------------
%           Plotting the Reg Path results
%--------------------------------------------------------
xsup=xapp;
for i=1:8:length(lambdavec);
    
    w=alphamat(:,i);
    w0=-alpha0vec(:,i);
    ypred = svmval(xtest,xsup,w,w0,kernel,kerneloption,1)/lambdavec(i);
    ypred=reshape(ypred,nn,nn);
    figure(1);  
    hold on
    [cc,hh]=contour(xtest1,xtest2,ypred,[0 0],'k');
    set(hh,'LineWidth',2);
    h1=plot(xapp(:,1),xapp(:,2),'+r'); 
    axis([-1.5 0.5 -1.5 1]);
    
  %  pause
end;

figure
plot(lambdavec,alphamat','LineWidth',2)
axis([min(lambdavec) max(lambdavec) 0 1])
%set(gca,'Xscale','log');

set(gcf,'color','white');
xlabel('\lambda','Fonts',16);
ylabel('\alpha','Fonts',16)


%%----------------------------------------------------
%%                   Movie Section
%%----------------------------------------------------
% 
% movalpha = avifile('exampleoneclassalpha.avi','FPS',2)
% for i=1:length(lambdavec)-2
%     figure(2);clf;
%     plot(1./lambdavec(1:i),alphamat(:,1:i)','Linewidth',2);
%     xlabel('1/(\nu . n)');
%     set(gca,'Xscale','log');
%     set(gcf,'color','white');
%     axis([0 0.3 0 1]); 
%     F = getframe(gca);
%     movalpha = addframe(movalpha,F);
%     
% end
% movalpha=close(movalpha);
% 
% mov = avifile('exampleoneclass.avi','FPS',2)
% xsup=xapp;
% for i=1:length(lambdavec);
%     
%     w=alphamat(:,i);
%     w0=-alpha0vec(:,i);
%     ypred = svmval(xtest,xsup,w,w0,kernel,kerneloption,1)/lambdavec(i);
%     ypred=reshape(ypred,nn,nn);
%     figure(1);  clf
%     %subplot(2,1,1)
%     %contourf(xtest1,xtest2,ypred,50);shading flat;
%     
%     [cc,hh]=contour(xtest1,xtest2,ypred,[0 0],'k');hold
%     % clabel(cc,hh)
%     set(hh,'LineWidth',2);
%     set(gcf,'color','white');
%     h1=plot(xapp(:,1),xapp(:,2),'+r'); 
%     axis([-3 3 -3 3])
%     F = getframe(gca);
%     mov = addframe(mov,F);
%     
% end;
% 
% mov = close(mov);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -