Use of fitrgp to solve simple example (Rasmussen book)
6 views (last 30 days)
Show older comments
Jose DELGADO
on 30 Oct 2016
Commented: Jose DELGADO
on 21 May 2017
I am learning Gaussian Processes and I am trying to replicate the canonical example of Rasmussen book. I understand it should be a simple application of fitrgp, but I cannot get it. I always get a flat response:
My idea is to have a very simple training set in a 2-D example
X=[1,3,7,10]';% those are the given points
y=[17,14,10,21]';% those are the expected responses
%Then I train a model
tbl=table(X,y);
grp=fitrgp(tbl,'y');
%and try to evaluate the fit for the interval [0,20]
xnew=linspace(0,20)';
[ypred,ysd]=predict(grp,xnew);
plot(xnew,ypred, xnew, ypred+ysd)
I was looking for something similar to Rasmussen result
But I only get a flat response
I have been looking in the web and I have found a example code that does the trick, but I understood that fitrgp should include and supersede it.
Am I correct?. Should I use some parameters with fitrgp different from the default? (I was reading/trying some of them carefully and I could not find the right combination)
Thank you in advance
0 Comments
Accepted Answer
Gautam Pendse
on 20 May 2017
Hi Jose,
Function fitrgp fits the model by maximizing the marginal log likelihood. In some cases, there could be multiple local optima corresponding to different interpretations of the data. Consider initializing the noise standard deviation to a smaller value using the 'Sigma' name/value pair like this:
x = [-4;-2;-1;0;2];
y = [-2;0;1;2;-1];
gpr = fitrgp(x,y,'Sigma',0.1);
plot(x,y,'b+','DisplayName','Data');
hold on;
xtest = linspace(-5,5,1000)';
[pred,~,ci] = predict(gpr,xtest);
plot(xtest,pred,'r','DisplayName','Prediction');
hold on;
plot(xtest,ci(:,1),'c','DisplayName','Lower 95% Limit');
plot(xtest,ci(:,2),'k','DisplayName','Upper 95% Limit');
legend('show','Location','Best');
shg;
Also, have a look at this doc example which illustrates the effect of specifying initial parameter values to fitrgp:
Hope this helps,
Gautam
More Answers (0)
See Also
Categories
Find more on Gaussian Process Regression in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!