No BSD License  

Highlights from
Alaa Tharwat ToolBox

from Alaa Tharwat ToolBox by Alaa Tharwat
This toolBox used in the image processing(feature extraction and classification)

svmreg(x,y,C,epsilon,kernel,kerneloption,lambda,verbose,span,framematrix,vector,dual,alphainit)
function [xsup,ysup,w,b,newpos,alpha,obj] = svmreg(x,y,C,epsilon,kernel,kerneloption,lambda,verbose,span,framematrix,vector,dual,alphainit)
  
%  USAGE 
% [xsup,ysup,w,b] = svmreg(x,y,C,epsilon,kernel,kerneloption,lambda,verbose,span,framematrix,vector,dual)
% 
% This function process the SVM regression model using a linear epsilon insensitive cost.
%
% 
% 
% INPUT
%
% Training set
%    x  : input data 
%    y  : output data
% parameters
%		C		: Bound on the lagrangian multipliers     
% 		epsilon 	 : e-tube around the solution
%		kernel		: kernel function. classical kernels are
%
%		Name			parameters
%		'poly'		polynomial degree
%		'gaussian'	gaussian standard deviation
% 
%			for more details see svmkernel
%		
% 		kerneloption : parameters of kernel
%
%
%   lambda : conditioning parameter for QP methods
%   verbose : display outputs (default value is 0: no display)
%
%	 span     : Matrix for semiparametric learning (default span=[])	
%
%   ----- 1D Frame Kernel -------------------------- 
%
%   framematrix  frame elements for frame kernel
%   vector       sampling position of frame elements
%	 dual 		  dual frame
%
%   see also svmclass,svmreg, svmval
%
%	

%	21/09/97 S. Canu
%   06/06/00 A.Rakotomamonjy Including SVMkernel


if nargin < 13
    alphainit=[];
end;

if nargin < 3
    C = 1000;
end;

if nargin < 4
    epsilon = 0.1;
end;

if nargin < 5
    kernel='gaussian';
    kerneloption = 1;
end;

if nargin < 7
    lambda = .0000001;
end;
if nargin <8
    verbose=0;
end;
if nargin <9
    span=[];
    semiparam=0;
end;
if nargin < 10
    framematrix=[];
    vector=[];
    dual=[];
end;


n = length(y);
ps  =  zeros(n,n);		
ps=svmkernel(x,kernel,kerneloption,[],framematrix,vector,dual);
H = ps; 
I = eye(n);
Idif = [I -I];
H = Idif'*H*Idif;
c = [-epsilon+y ; -epsilon-y];

if ~isempty(span)
    fprintf('semiparametric SVM\n');
    A=[span' -span']';
    [nbpoint,nbcontrainte]=size(A);
    size(H);
    b=zeros(nbcontrainte,1);
else
    A = [ones(1,n)  -ones(1,n) ]';
    b=0;   
end; 





if C~=inf
    [alpha,bias,pos]=monqp(H,c,A,b,C,lambda,verbose,x,ps,alphainit);
else
    [alpha,bias,pos]=monqpCinfty(H,c,A,b,lambda,verbose,x,ps);
end;

aux=zeros(length(H),1);
aux(pos)=alpha;
alpha=aux;
newpos=find(alpha(1:n)>0|alpha(n+1:2*n)> 0);
w = alpha(newpos)-alpha(n+newpos); 
if ~isempty(x)
    xsup = x(newpos,:);
else
    xsup=[];
end
ysup = y(newpos);
nsup =length(newpos);
b=bias;
obj=-0.5*alpha'*H*alpha + c'*alpha;

Contact us at files@mathworks.com