9
$\begingroup$

The following code is exactly copied from the documentation on Predict using Gaussian Process.

data = {-1.2 -> 1.2, 1.4 -> 1.4, 3.1 -> 1.8, 4.5 -> 1.6}; 
p = Predict[data, Method -> "GaussianProcess"]

Show[Plot[{
     p[x],
     p[x] + StandardDeviation[p[x, "Distribution"]], 
     p[x] - StandardDeviation[p[x, "Distribution"]]
    }, {x, -2, 6}, PlotStyle -> {Blue, Gray, Gray}, 
    Filling -> {2 -> {3}}, Exclusions -> False, 
    PerformanceGoal -> "Speed", 
    PlotLegends -> {"Prediction", "Confidence Interval"}], 
    ListPlot[List @@@ data, PlotStyle -> Red, PlotLegends -> {"Data"}]]

It produces the following figure: figure

It's really weird that the point {1.4, 1.4} is far away from the predictive mean, represented by the blue line. Interestingly, in introducing the new features on Version 11., the official site gives exactly the same example, but with a different, and more 'reasonable', result, shown in the following figure: reasonable figure

So I am wondering if someone could help explain what is happening here. Since Bayesian optimization also uses Gaussian Process as far as I know, I am also worrying about the Bayesian optimization implementation too...

$\endgroup$

1 Answer 1

4
$\begingroup$

"It's really weird that the point {1.4, 1.4} is far away from the predictive mean, represented by the blue line."

This data point was most probably not seen at all during the training and used for validation.

The automation system introduced in this version splits the data provided in a test and a validation sets in order to disregard solutions overfitting the data (and thus bad at generalizing to new values). Undesirable solutions that predict very low probabilities for validation points are thus thrown away.

This regularization test is obviously not strong enough for this method. In the example there is nevertheless what can be seen as a massive overfit on the datas provided. The predictor is too much confident around the given datapoint regarding the small amount of information given...

$\endgroup$
2
  • $\begingroup$ Many thanks. Your explanation seems to make sense. Follow-up question, do you know how to control the automated validation process in either Classify or Predict? Convenient, but just too 'blackboxed'... $\endgroup$
    – xieyn
    Commented Oct 6, 2018 at 13:14
  • 1
    $\begingroup$ The option PerformanceGoal->"DirectTraining" is the way to avoid validation process for model searching. This feature seems to be newly added. With this option, the more 'reasonable' figure is produced. $\endgroup$
    – xieyn
    Commented Oct 7, 2018 at 15:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.