Input Uncertainty Implemented in Kernel Function #2558
-
I am trying to implement the kernel function proposed in "Dallaire et al Learning Gaussian Process Models from Uncertain Data" which requires a kernel function that looks like this: What would be the best way to implement this? The kernel function will require additional input parameters other than x1 and x2 as specified in the code which would cause issues when calling the forward method. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi, maybe I can help a little here. So first, I would suggest to use a If Hope this was helpful! :) |
Beta Was this translation helpful? Give feedback.
Hi,
maybe I can help a little here. So first, I would suggest to use a$\sigma_f^2$ and then have $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 $W$ is a fixed matrix, you can just pass this matrix during initialization. If $W$ is a diagonal matrix, you can probably just set
ScaleKernel
to take care of thecovar = ScaleKernel(MyKernel(...))
. Then, for implementing the main body of your kernel, you can define yourforward
method. Lastly, ifhas_lengthscale=True
and then embed the vector inself.lengthscale
as a diagonal matrix (see here in the docs).If$W$ a full matrix where all entries should be learne…