jaxglobal.kernels¶
Gaussian-process covariance functions as primitives of the squared distance.
Write a GP kernel with these instead of its jnp formula to get tight
bounds. d = sum_j ((x_j - x'_j) / l_j)**2 is the weighted squared
distance, and each function is k(d) with unit variance:
matern12(d) = exp(-sqrt(d))matern32(d) = (1 + sqrt(3 d)) exp(-sqrt(3 d))matern52(d) = (1 + sqrt(5 d) + 5 d / 3) exp(-sqrt(5 d))se(d) = exp(-d / 2)
Written in jnp, the Matérn kernels are relaxed factor by factor (a
polynomial in sqrt(d) times an exponential), which is very loose, and
their automatic second derivative goes through sqrt(d), so the alphaBB
Hessian is infinite at every training point. As primitives, each k is one
convex, nonincreasing function of d [schweidtmann2021deterministic], so
its McCormick rule is the convex function at the concave overestimator of
d and the secant, its envelopes. Its derivatives k' (concave,
nondecreasing) and k'' (convex, nonincreasing) are primitives too, so
autodiff never goes through sqrt(d). k'' is finite at d = 0 for
matern52 and se only; those two are marked smooth for alphaBB.