www.gusucode.com > 支持向量机的Matlab实现,支持多分类,据有GUI操作界面 > code11/MATLAB_svm_gui/kernels/kernel.m
function K = kernel(varargin) % KERNEL Evaluates kernel function. % % Synopsis: % K = kernel(X,ker,arg) % K = kernel(X1,X2,ker,arg) % % Description: % K = kernel( X, ker, arg ) returns kernel matrix K [n x n] % % K(i,j) = k(X(:,i),X(:,j)) for all i=1..n, j=1..n, % % where k: a x b -> R is a kernel function given by % identifier ker and argument arg: % % Identifier Name Definition % 'linear' ... linear kernel k(a,b) = a'*b % 'poly' ... polynomial k(a,b) = (a'*b+arg[2])^arg[1] % 'rbf' ... RBF (Gaussian) k(a,b) = exp(-0.5*||a-b||^2/arg[1]^2) % 'sigmoid' ... Sigmoidal k(a,b) = tanh(arg[1]*(a'*b)+arg[2]) % % K = kernel( X1, X2, ker, arg ) returns kernel matrix K [n1 x n2] % % K(i,j) = k(X1(:,i),X2(:,j)) for all i=1..n1, j=1..n2, % % Input: % X [dim x n] Single matrix of input vectors. % X1 [dim x n1], X2 [dim x n2] Pair of input matrices. % ker [string] Kernel identifier. % arg [1 x narg] Kernel argument. % % Output: % K [n1 x n1] or K [n1 x n2] Kernel matrix. % % Example: % X = rand(2,50); % K = kernel( X, 'rbf', 1); % figure; pcolor( K ); % % See also: % DIAGKER, KERNELPROJ. % % About: Statistical Pattern Recognition Toolbox % (C) 1999-2003, Written by Vojtech Franc and Vaclav Hlavac % <a href="http://www.cvut.cz">Czech Technical University Prague</a> % <a href="http://www.feld.cvut.cz">Faculty of Electrical Engineering</a> % <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a> % Modifications: % 19-sep-2004, VF % 5-may-2004, VF % MEX-File function.