Closed Kamuish closed 5 years ago
I think that I have pretty much figured it out, but just to make sure:
-> block limits the region of the input values, over which the kernel is applied -> bounds and metric_bounds are pretty much the same thing, but you use metric_bounds when the kernel has a metric. Otherwise, it uses the bounds.
However, if the kernel has a metric, like ExpSquaredKernel , why do we have the bounds argument? From a design standpoint, why do you have both arguments, when they are used for the same task?
The bounds
parameter sets the range over which "hyper parameters" are allowed to vary. The block
parameter sets the range of inputs (not hyperparameters, but input coordinates) where the kernel is applied.
From a design perspective, the length scales of a radial kernel are not parameters of the kernel (they're parameters of the metric) so that's what the metric_bounds
parameter refers to.
From the docs:
I have been looking into the source code and trying to understand how to implement Gaussian processes. However, for me, both of those definitions are the same thing.
What is the difference between bounds, blocks and metric_bounds ?