svcoutput.m
上传用户:liu_jing
上传日期:2013-07-02
资源大小:4k
文件大小:1k
开发平台:

Matlab

  1. function predictedY = svcoutput(trnX,trnY,tstX,ker,alpha,bias,actfunc)
  2. %SVCOUTPUT Calculate SVC Output
  3. %
  4. %  Usage: predictedY = svcoutput(trnX,trnY,tstX,ker,alpha,bias,actfunc)
  5. %
  6. %  Parameters: trnX   - Training inputs
  7. %              trnY   - Training targets
  8. %              tstX   - Test inputs
  9. %              ker    - kernel function
  10. %              beta   - Lagrange Multipliers
  11. %              bias   - bias
  12. %              actfunc- activation function (0(default) hard | 1 soft) 
  13. %
  14. %  Author: Steve Gunn (srg@ecs.soton.ac.uk)
  15.   if (nargin < 6 | nargin > 7) % check correct number of arguments
  16.     help svcoutput
  17.   else
  18.     if (nargin == 6)
  19.       actfunc = 0;
  20.     end
  21.     n = size(trnX,1);
  22.     m = size(tstX,1);
  23.     H = zeros(m,n);  
  24.     for i=1:m
  25.       for j=1:n
  26.         H(i,j) = trnY(j)*svkernel(ker,tstX(i,:),trnX(j,:));
  27.       end
  28.     end
  29.     if (actfunc)
  30.       predictedY = softmargin(H*alpha + bias);
  31.     else
  32.       predictedY = sign(H*alpha + bias);
  33.     end
  34.   end