使用单输入GPML进行大规模回归

时间:2015-11-16 14:06:09

标签: matlab machine-learning regression

我使用GPML Matlab软件包进行二维大规模回归问题。 如用户手册(http://www.gaussianprocess.org/gpml/code/matlab/doc/)中所述,我引入了大规模回归的输入。

nu = fix(n/2); iu = randperm(n); iu = iu(1:nu); u = x(iu,:);

其中n是输入变量的数量。

如果我有超过2个输入,它可以正常工作。但是,当我想仅计算一个输入的预测时,推理方法失败,即n = 1

covfunc = @covSEiso;
likfunc = @likGauss;
n= 1;
nu = fix(n/2); 
iu = randperm(n);
iu = iu(1:nu);
u = X(iu,:);
meanfunc = @meanConst;
covfuncF = {@covFITC, {covfunc}, u};
ll = 1.0; sf = 1.0; 
hyp.cov = log([ll sf]);
sn = 0.1;  hyp.lik = log(sn);
hyp.mean = 0;
[mF s2F] = gp(hyp, @infFITC, [], covfuncF, likfunc, X(:,2), Y, X(:,2));

我想只使用X的第二个颜色作为我对GP的输入并使用目标Y进行训练。

1 个答案:

答案 0 :(得分:2)

发现错误!

如果我仅使用X的2个变量来训练模型,那么也应该对诱导点进行采样。 但是错误是,我使用X的诱导点(10维),

u = X(iu,:); 

哪个错了! @noumenal:看第21行有帮助!谢谢