这是一个更小的二维回归问题示例(我没有八度音阶,只有 matlab,但希望差异无关紧要)。meanfunc 和 covfunc 应该对任意数量的输入感到满意,前提是协方差函数没有每个输入特征的超参数(例如covSEiso)。希望这可以帮助
[X1,X2] = meshgrid(-pi:pi/16:+pi, -pi:pi/16:+pi);
Y = sin(X1).*sin(X2) + 0.1*randn(size(X1));
imagesc(Y); drawnow;
x = [X1(:) X2(:)];
y = Y(:);
covfunc = @covSEiso;
likfunc = @likGauss; sn = 0.1; hyp.lik = log(sn);
hyp2.cov = [0 ; 0];
hyp2.lik = log(0.1);
hyp2 = minimize(hyp2, @gp, -100, @infExact, [], covfunc, likfunc, x, y);
exp(hyp2.lik)
nlml2 = gp(hyp2, @infExact, [], covfunc, likfunc, x, y)
[m s2] = gp(hyp2, @infExact, [], covfunc, likfunc, x, y, x);
m = reshape(m, size(Y));
figure(2); imagesc(m);