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

📄 lssvcoutput.m

📁 The goal of SPID is to provide the user with tools capable to simulate, preprocess, process and clas
💻 M
字号:
function [Yhat,ROCarea,se] = lssvcoutput(alpha,bias,sig2,trnX,trnY, tstX, tstY,knl)
% Calculate lsSVC Output
% [Yhat,ROCarea,se] = lssvcoutput(alfa,bias,sig2,trnX, tstX, tstY,)
%  Parameters: trnX   - Training inputs
%              tstX   - Test inputs
%              beta   - Difference of Lagrange Multipliers
%              bias   - bias
%					sig2 = sig^2 for RBF kernel


if nargin<8,
   knl='rbf';
end,

if (nargin < 6)|(nargout>1&nargin<7) % check correct number of arguments
    help svcoutput
  else
          
    n = size(trnX,1);
    m = size(tstX,1);
    H = zeros(m,n);  
    for i=1:m
       u=tstX(i,:);
       for j=1:n
         v=trnX(j,:);  
%        K(i,j) = exp(-sqrt((u-v)*(u-v)')/(2*sig2)) 
%        K(i,j)=exp(-(norm(tstX(i,:)-trnX(j,:))^2)/sig2);
%          if knl=='rbf',
%             H(i,j)=trnY(j)*exp(-(u-v)*(u-v)'/sig2);
%          else
%             H(i,j)=trnY(j)*(u*v'+1)^sig2;
%          end,
         switch knl,
             case 'rbf',
                 H(i,j)=trnY(j)*RBFkernel(u,v,sqrt(sig2));
             case 'lin',
                 H(i,j)=trnY(j)*LINkernel(u,v,sig2); 
             case 'pol',
                 H(i,j)=trnY(j)*LINkernel(u,v,sig2); 
             case 'cwrbf',
                 H(i,j)=trnY(j)*RBFaddkernel(u,v,sqrt(sig2));
             case 'cwlin',
                 H(i,j)=trnY(j)*LINaddkernel(u,v,sig2); 
             case 'cwpol',
                 H(i,j)=trnY(j)*LINaddkernel(u,v,sig2); 
             otherwise
                 disp('Invalid kernel.'),
         end
     end
    end
      
   Yhat = (H*alpha +bias);

 if nargout>1,
   Y0=[];
   Y1=[];
   for i=1:length(tstY)
     if sign(tstY(i))<=0,
       Y0=[Y0;Yhat(i)];
     else
       Y1=[Y1;Yhat(i)];
     end
   end
   
   [TN,TP,FP,FN,ROCarea,se]=roc_tf(Y0,Y1); 
 end

end

⌨️ 快捷键说明

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