sumkernel.m

来自「支持向量机 这是我的老师编写的matlab源文件 希望对大家有用」· M 代码 · 共 52 行

M
52
字号
function k=sumkernel(ker,x,y);
% Compute the summention of multi_kernel
% usage: k=sumkernel(ker,x,y)
%      ker   --    the string matrix of the name of the kernel
%          'lin' - linear kernel 
%          'pol' - polynomial kernel with degree p1
%          'rbf' - radial basis kernel with the width p1(sigma)%          'sig' - sigmoid kernel with scale p1 and offset p2
%          'spl' - spline kernel%          'bsp' - bspline kernel with degree p1
%          'fou' - fourier kernel with degree p1
%          'erb' - p1 is width of erbfs (sigma)%          'ano' - anova kernel with max order p1   
%      x     --    example 1
%      y     --    example 2

% Gloabal Variable:    para  --    the parameter of the coorsponding kernel

% Author: Zhou Weida Email: zhou_weida@yahoo.com.cn

numker = size(ker,1);
numsam = size(y,1);
k=0;
mode='';
global para;
global p1 p2;
p1=0; p2=0;
for i=1:numker
   switch ker(numker,:);
   case 'lin'
      mode='linear';
   case 'pol'
      mode='poly';p1=para(i,1);
   case 'rbf'
      mode='rbf';p1=para(i,1);
   case 'sig';
      mode='sigmoid';p1=para(i,1);p2=para(i,2);
   case 'spl'
      mode='spline';
   case 'bsp'     
      mode='bspline';p1=para(i,1);
   case 'fou'
      mode ='fourier';p1=para(i,1);
   case 'erb';
      mode='erbf';p1=para(i,1);
   case 'ano'
      mode='anova';p1=para(i,1);
   end
   ktemp = svkernel(mode,x,y);
   k=k+ktemp;
end

⌨️ 快捷键说明

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