Skip to content

Commit 75387c3

Browse files
Mo documentation (#371)
* First commit * Streamline MO kernel descriptions * Missed a few * Fix referencing issue * Update src/mokernels/lmm.jl Co-authored-by: willtebbutt <wt0881@my.bristol.ac.uk> * Bump version Co-authored-by: willtebbutt <wt0881@my.bristol.ac.uk>
1 parent 516bc92 commit 75387c3

File tree

4 files changed

+15
-12
lines changed

4 files changed

+15
-12
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "KernelFunctions"
22
uuid = "ec8451be-7e33-11e9-00cf-bbf324bd1392"
3-
version = "0.10.18"
3+
version = "0.10.19"
44

55
[deps]
66
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"

docs/src/kernels.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ NormalizedKernel
128128
```
129129

130130
## Multi-output Kernels
131+
Kernelfunctions implements multi-output kernels as scalar kernels on an extended output domain. For more details on this read [the section on inputs for multi-output GPs](@ref Inputs-for-Multiple-Outputs).
132+
133+
For a function ``f(x) \\rightarrow y`` denote the inputs as ``x, x'``, such that we compute the covariance between output components ``y_{p}`` and ``y_{p'}``. The total number of outputs is ``m``.
131134

132135
```@docs
133136
MOKernel

src/mokernels/independent.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ Kernel for multiple independent outputs with kernel `k` each.
55
66
# Definition
77
8-
For inputs ``x, x'`` and output dimensions ``p_x, p_{x'}'``, the kernel ``\\widetilde{k}``
8+
For inputs ``x, x'`` and output dimensions ``p, p'``, the kernel ``\\widetilde{k}``
99
for independent outputs with kernel ``k`` each is defined as
1010
```math
11-
\\widetilde{k}\\big((x, p_x), (x', p_{x'})\\big) = \\begin{cases}
12-
k(x, x') & \\text{if } p_x = p_{x'}, \\\\
11+
\\widetilde{k}\\big((x, p), (x', p')\\big) = \\begin{cases}
12+
k(x, x') & \\text{if } p = p', \\\\
1313
0 & \\text{otherwise}.
1414
\\end{cases}
1515
```

src/mokernels/lmm.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
LinearMixingModelKernel(k::Kernel, H::AbstractMatrix)
33
LinearMixingModelKernel(Tk::AbstractVector{<:Kernel},Th::AbstractMatrix)
44
5-
Kernel associated with the linear mixing model, taking a vector of `m` kernels and a `m × p` matrix H for a function with `p` outputs. Also accepts a single kernel `k` for use across all `m` basis vectors.
5+
Kernel associated with the linear mixing model, taking a vector of `Q` kernels and a `Q × m` mixing matrix H for a function with `m` outputs. Also accepts a single kernel `k` for use across all `Q` basis vectors.
66
77
# Definition
88
9-
For inputs ``x, x'`` and output dimensions ``p_x, p_{x'}'``, the kernel is defined as[^BPTHST]
9+
For inputs ``x, x'`` and output dimensions ``p, p'``, the kernel is defined as[^BPTHST]
1010
```math
11-
k\big((x, p_x), (x, p_{x'})\big) = H_{:,p_{x}}K(x, x')H_{:,p_{x'}}
11+
k\big((x, p), (x, p')\big) = H_{:,p}K(x, x')H_{:,p'}
1212
```
13-
where ``K(x, x') = Diag(k_1(x, x'), ..., k_m(x, x'))`` with zero off-diagonal entries.
14-
``H_{:,p_{x}}`` is the ``p_x``-th column (`p_x`-th output) of ``H \in \mathbb{R}^{m \times p}``
15-
representing ``m`` basis vectors for the ``p`` dimensional output space of ``f``.
16-
``k_1, \ldots, k_m`` are ``m`` kernels, one for each latent process, ``H`` is a
17-
mixing matrix of ``m`` basis vectors spanning the output space.
13+
where ``K(x, x') = Diag(k_1(x, x'), ..., k_Q(x, x'))`` with zero off-diagonal entries.
14+
``H_{:,p}`` is the ``p``-th column (`p`-th output) of ``H \in \mathbb{R}^{Q \times m}``
15+
representing ``Q`` basis vectors for the ``m`` dimensional output space of ``f``.
16+
``k_1, \ldots, k_Q`` are ``Q`` kernels, one for each latent process, ``H`` is a
17+
mixing matrix of ``Q`` basis vectors spanning the output space.
1818
1919
[^BPTHST]: Wessel P. Bruinsma, Eric Perim, Will Tebbutt, J. Scott Hosking, Arno Solin, Richard E. Turner (2020). [Scalable Exact Inference in Multi-Output Gaussian Processes](https://arxiv.org/pdf/1911.06287.pdf).
2020
"""

0 commit comments

Comments
 (0)