Skip to content

Input Uncertainty Implemented in Kernel Function #2558

Answered by brunzema
CalumHarvey asked this question in Q&A
Discussion options

You must be logged in to vote

Hi,

maybe I can help a little here. So first, I would suggest to use a ScaleKernel to take care of the $\sigma_f^2$ and then have covar = ScaleKernel(MyKernel(...)). Then, for implementing the main body of your kernel, you can define your $x$ as $x = [\mu_1, \mu_2,\dots \mu_d, \Sigma_{11}, \Sigma_{12},\dots, \Sigma_{dd}]$ and then reconstruct $\mu$ and $\Sigma$ in your forward method. Lastly, if $W$ is a fixed matrix, you can just pass this matrix during initialization. If $W$ is a diagonal matrix, you can probably just set has_lengthscale=True and then embed the vector in self.lengthscale as a diagonal matrix (see here in the docs).

If $W$ a full matrix where all entries should be learne…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@CalumHarvey
Comment options

Answer selected by CalumHarvey
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants