JaxGaussianProcesses / JaxKern

Kernel functions in JAX.
MIT License
8 stars 4 forks source link

feat: Hamming Distance Kernel #46

Open patel-zeel opened 1 year ago

patel-zeel commented 1 year ago

Feature Request

Describe the Feature Request

In a regression problem where we have categorical inputs (for example, Patel et al.), euclidean distance does not make sense. People sometimes use one-hot-encoding which may not be space-efficient in cases where number of categories are very high. Thus, we can use a Hamming distance kernel for these features: $k\left(x, x^{\prime}\right)=\exp \left(-\frac{\mathbb{I}_{x \neq x^{\prime}}}{\ell}\right)$.

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

Papers where this kernel is discussed:

If the feature request is approved, would you be willing to submit a PR? Yes, unless someone else is eager enough to take this up before me :)

thomaspinder commented 1 year ago

Thanks @patel-zeel . I'd love to support a kernel such as this in JaxKern. Might I suggest holding off for a week or two on implementing this as we're currently refactoring the backend of JaxUtils which will mean all kernels need minor modifications.