OrthogonalAdditiveKernel#
- class gpjax.kernels.OrthogonalAdditiveKernel(base_kernels, max_order=None, order_variances=None, fix_base_variance=True, compute_engine=<gpjax.kernels.computations.dense.DenseKernelComputation object>)[source]#
Bases:
AbstractKernelOrthogonal Additive Kernel (OAK).
Wraps D one-dimensional SE base kernels with an orthogonality constraint (under standard normal input density) and combines them via Newton-Girard into an additive kernel with configurable maximum interaction order.
- The kernel decomposes as:
K = sum_{l=0}^{D_tilde} sigma^2_l * E_l
where E_l is the l-th elementary symmetric polynomial of the D constrained base kernel evaluations, and sigma^2_l are learnable order variances.
- Reference:
Lu, X., Boukouvalas, A., & Hensman, J. (2022). Additive Gaussian Processes Revisited. ICML.
- Parameters:
base_kernels (tuple) – List of D one-dimensional base kernels (typically RBF with active_dims=[i] for each dimension i). Each must have lengthscale and variance attributes.
max_order (int) – Maximum interaction order (D_tilde). Defaults to D. Must be <= D.
order_variances (Any) – Initial order variances of shape (max_order + 1,). Entry 0 is the offset variance, entry d is the d-th order interaction variance. Defaults to ones.
fix_base_variance (bool) – If True (default), pin every base-kernel variance to 1 so that
order_variancesalone control per-order scaling. This avoids over-parameterisation and matches the reference (Lu et al. 2022, S3.2).compute_engine (AbstractKernelComputation) – Kernel computation engine. Defaults to DenseKernelComputation.
See also
Orthogonal Additive Kernels decomposes a fitted model into its per-order and per-dimension contributions.