Module Cov_se_fat

module Cov_se_fat: sig .. end
Feature-rich ("fat") squared exponential covariance

The covariance is defined as:

k(x, y) = sf^2 * exp(-1/2 * |(Q_i*P*(x-y))|^2)

where sf^2 is the amplitude, P a general d*D dimensionality reduction matrix (d << D), and Q_i is a d*d diagonal matrix containing all multiscales for inducing input number i.

Note that multiscales must not get smaller than 0.5 in this framework, because the overall length scale is considered to be equal to 1, which imposes this mathematical constraint for positive-definiteness. There is no need for a variable global length scale, because the dimensionality reduction matrix already generalizes this feature anyway. Hence an unconstrained multiscale parameter q is stored as log(q - 0.5).

If x and y are the same inducing input, then and only then extra noise (a different noise level for each inducing input) will be added for heteroskedasticity.

Dimensionality reduction, heteroskedasticity, and multiscales are optional features and can be easily turned off by setting the parameters to None.

module Params: sig .. end
module Eval: Eval 
    with type Kernel.params = Params.t 
    with type Inducing.t = mat 
    with type Input.t = vec 
    with type Inputs.t = mat
module Proj_hyper: sig .. end
module Dim_hyper: sig .. end
module Inducing_hyper: sig .. end
module Hyper_repr: sig .. end
module Deriv: Deriv 
    with module Eval = Eval 
    with type Hyper.t = Hyper_repr.t