svkernel.m
来自「支持向量机的核心程序」· M 代码 · 共 44 行
M
44 行
function k = svkernel(ker,u,v,d)
%SVKERNEL kernel for Support Vector Methods
%
% Usage: k = svkernel(ker,u,v)
%
% Parameters: ker - kernel type
% u,v - kernel arguments
%
% Values for ker: 'linear' -
% 'poly' - p1 is degree of polynomial
% 'rbf' - p1 is width of rbfs (sigma)
% 'sigmoid' - p1 is scale, p2 is offset
% 'spline' -
% 'bspline' - p1 is degree of bspline
% 'fourier' - p1 is degree
% 'erfb' - p1 is width of rbfs (sigma)
%
% Author: Steve Gunn (srg@ecs.soton.ac.uk)
if (nargin < 1) % check correct number of arguments
help svkernel
else
% could check for correct number of args in here
% but will slow things down further
switch lower(ker)
case 'linear'
k = u*v';
case 'poly'
k = (u*v'+1)^2;
case 'rbf'
k = exp(-(u-v)*(u-v)'/d);
case 'sigmoid'
k = tanh(p1*u*v'/length(u) + p2);
otherwise
k = u*v';
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?