I am trying to run a GP classification multi-target task with the GPML Matlab library. I used a sum of two covariance functions - the RBF and Linear. However, my results do not fall nicely within the predictive probabilistic range. I suspect it is something to do with how I am working the covariance function. Any assistance is much appreciated.
% Import data and the results across the 6 frequencies
X = [61 43 72 -5 59 97;
106 64 2 26 21 -5;
40 120 48 120 120 28;
120 79 80 47 32 97;
73 28 120 72 -5 34;
-5 -5 -5 24 69 120]
y = [-1 -1 1 -1 -1 1;
1 -1 -1 -1 -1 -1;
-1 1 -1 1 1 -1;
1 1 1 -1 -1 1;
-1 -1 1 1 -1 -1;
-1 -1 -1 -1 1 1]
% This is sample test data to run predictions on, the test set
% 6 finely spaced grid
sample = repmat((-5:120)',1,6);
% Initialise GP
meanfunc = @meanConst;
hyp.mean = 0;
% The covariance function
covfunc = {'covSum', {'covSEiso','covLIN'}}; % sum of linear, RBF
ell = 1.0; % length-scale for covSEiso
hyp.cov = log([ell ell]); % kernel hyperparameters
likfunc = @likErf; % cumulative Gaussian likelihood
% Optimise the hyperparameters
hyp = minimize(hyp, @gp, -50, @infLaplace, meanfunc, covfunc, likfunc, X, y);
% Run predictions on the sample data
[ymu, ys2, fmu, fs2] = gp(hyp, @infLaplace, meanfunc, covfunc, likfunc, X, y, sample);