-
Notifications
You must be signed in to change notification settings - Fork 40
Description
There is probably some matter of "getting used to it", but for a user new to this package, having to specify the inverse lengthscale seems deeply unintuitive compared to other GP packages.
At least transform(k, ScaleTransform(2.0))
is still explicitly saying what it is (and there could be a LengthscaleTransform()
that divides instead of multiplying...), but I think it is not very helpful to new users that transform(k, 2.0)
will give you a kernel with lengthscale 0.5.
Moreover, the syntax TransformedKernel(kernel, ...)
suggests to me that the transform is changing something about the kernel, rather than about the inputs. (And ScaleTransform on inputs vs ScaledKernel on outputs is somewhat ambiguous/confusing as well.) If not just renaming it to the more verbose input_transform
or similar, what other ways could we clarify what is actually going on here?
Comment from @willtebbutt:
I think I agree that we could do more here to signpost what's going on here / offer a set-the-lengthscale option. I also think we could probably do with providing a bit more of an explanation for the rationale behind the transform approach to setting length scales, but that's a job for a different PR.
(Also, would be good to document/demonstrate how to be able to set bijectors on parameters within this framework. Should that be a separate issue?)
Originally posted by @st-- in #213 (comment)