Add quadratic-type means & implement linear operations for means #2428
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Quadratic mean for GP models
Overview
Standard version
Positive version
We define$A = L L^\top$ and $L$ is a lower triangular matrix. We also that the gradient becomes $\nabla \mu(x) = x A$ as A is now symmetric, and the Hessian remains unchanged.
Linear operations
Add the possibilities to do linear operations with means. For all mean modules$\mu, \nu$ and for all $\lambda \in \mathbb{R}$ , we can define the following mean:
It is especially useful to combine a linear mean with a quadratic mean.
Motivation
Using a quadratic mean could be an interesting alternative to a Polynomial kernel of degree two, reducing the risk getting less singular matrixes when fitting a GP model to some rough training datasets by considering simpler kernels conjointly with this mean module.
Checklist
I have run
pip install -e .
but I cannot generate locally the docs. Do you have any idea on how to install all the dependencies correctly for sphinx?Ideas for further PRs
means
folder, e.g. gather*.py
,*_grad.py
and*_gradgrad.py
into a single file.Example
access to the notebook