66 this =
this@kernels.BaseKernel;
67 this.registerProps(
" CombOp ");
72 if isempty(this.Kernels)
73 error(
" No Kernels here to combine. Use addKernel for setup. ");
75 K = this.Weights(1)*this.Kernels[1].evaluate(x,varargin[:]);
76 for n = 2:length(this.Kernels)
77 K = this.CombOp(K, this.Weights(n)*this.Kernels[n].evaluate(x,varargin[:]));
83 error(
" Not implemented yet ");
93 error(
" Not implemented yet ");
109 if ~isa(kernel,
" kernels.BaseKernel ")
110 error(
" kernel param must be a kernels.BaseKernel! ");
112 this.Kernels[end+1] = kernel;
113 this.Weights(end+1) = weight;
120 k1 = kernels.CombinationKernel;
121 k1.addKernel(kernels.GaussKernel(.7));
122 k1.addKernel(kernels.GaussKernel(.5));
124 k1.addKernel(kernels.PolyKernel(2),2);
125 k1.CombOp= @(a,b)a.*b;
126 k2 = kernels.CombinationKernel;
127 k2.addKernel(kernels.LinearKernel,4);
128 k2.addKernel(kernels.PolyKernel(2));
129 k2.CombOp= @(a,b)a+b;
130 k = kernels.CombinationKernel;
137 svr = general.regression.ScalarEpsSVR;
140 svr.K=
k.evaluate(x,x);
143 plot(x,fx,
" r ",x,[fx-svr.Eps; fx+svr.Eps],
" r-- ");
145 [ai,svidx] = svr.computeKernelCoefficients(fx,[]);
147 svfun = @(x)ai^
t *
k.evaluate(sv,x);
154 plot(x,fsvr,
" b ",x,[fsvr-svr.Eps; fsvr+svr.Eps],
" b-- ");
155 skipped = setdiff(1:length(x),svidx);
156 plot(sv,fx(svidx),
" .r ",x(skipped),fx(skipped),
" xr ");
CombOp
The combination operation for each kernel.
function c = getGlobalLipschitz()
function Nabla = getNabla(colvec< double > x,matrix< double > y)
SUMKERNEL Summary of this class goes here Detailed explanation goes here.
A variable number of input arguments.
static function test_CombinationKernels()
function this = addKernel(kernel, weight)
function K = evaluate(colvec< double > x, varargin)
Base class for all KerMor Kernels.